Split the single ASR gateway into app/main.py (entrypoint) + app/core (shared env helpers) + app/asr (all existing ASR logic, unchanged behavior) + app/tts (placeholder router/config, no engine yet), so a real TTS backend can be dropped in later without reshuffling ASR code. API moved under /asr/* and /tts/* prefixes; UI gained a top-level ASR/TTS tab switcher built on a reusable nested .tab-group mechanism, with JS split into common.js/asr.js/tts.js. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
16 lines
440 B
JavaScript
16 lines
440 B
JavaScript
// TTS tab is a structural placeholder until a synthesis backend is wired in.
|
|
// This just confirms the /tts router is reachable; the UI itself is a static
|
|
// "coming soon" card (see index.html).
|
|
|
|
async function loadTtsConfig() {
|
|
try {
|
|
const r = await fetch('/tts/config');
|
|
const cfg = await r.json();
|
|
console.log('[tts] config', cfg);
|
|
} catch (e) {
|
|
console.warn('[tts] config fetch failed', e);
|
|
}
|
|
}
|
|
|
|
loadTtsConfig();
|