unit WebPageHtml; { WebPageHtml.pas — Встроенный HTML/CSS/JS интерфейс веб-пульта HPSDR. Содержит единственную функцию GetIndexHtml, которая возвращает полную HTML-страницу (одним файлом) для отправки клиенту по HTTP GET /. ИСПРАВЛЕНИЯ: - Device-overlay (DEV): discovery/connect/saved-CRUD, паритет с десктоп-диалогом. START теперь открывает overlay (если не подключены); STOP шлёт disconnect. - Кнопка START/STOP добавлена в тулбар 1 (зелёная/красная) - Кнопка RX/TX удалена из тулбара 2 - NR/NB/ANF: cur обновляется локально сразу при клике (иначе повторный клик инвертировал уже отправленное значение) - Opus: decodeFrame() правильный метод, async/await - Opus: opQueue буферизует пакеты пока WASM не готов - Opus: AudioContext создаётся только по user gesture (оверлей) - SPANS: только 48K..1536K - (Mode fix) modTglBtn теперь отображает ТЕКУЩИЙ активный режим (LSB/USB, CWL/CWU, AM/SAM, FM), а не следующий. При клике переключает на парный режим внутри группы. - (Mode fix) cwBtn удалён — его роль выполняет modTglBtn при CW группе. - (Mode fix) syncModGrp + updModTglLabel корректно синхронизируют UI из server state: выпадающий список и кнопка отражают десктоп. - (Mode fix) modGrpSel.onchange при смене группы сразу отправляет команду mode с дефолтным режимом группы (LSB, CWL, FM, AM). } {$IFDEF FPC} {$MODE Delphi} {$LONGSTRINGS ON} {$ENDIF} interface function GetIndexHtml: string; implementation function GetIndexHtml: string; begin Result := '' + '' + '' + 'HPSDR Web Remote v2' + '' + '' + '' + '
' + // Тулбар 1: громкость, AGC, режимы, DSP кнопки, START/STOP '
' + '🔊' + '
70
' + '|' + '
RF90dB
' + '|' + '' + '|' + '
TX50
' + // MIC gain — чисто web-side (Web Audio GainNode перед Opus-кодером). Сервер не знает. '
MIC100%
' + '' + '|' + '
' + '' + '' + '' + '' + '' + '' + '' + '' + '|' + '' + '' + '
' + // Тулбар 2: S-метр, VFO A/B, диапазон, CW (кнопка TX/RX убрана) '
' + '' + '
' + '' + '
' + '
' + '' + '' + '' + '
' + '' + '' + '
' + '
' + '
' + '' + '' + '' + '
' + '
' + '
' + '
' + '
' + '
' + 'connecting...' + 'Board --' + 'IP --' + 'Supply --' + 'PLL --' + 'RX idle' + 'TX idle' + 'SEQ --' + 'UTC --:--:--' + 'Local --:--:--' + '' + '
' + '
' + ''; end; end.