video_press/static/js/app.js

38 lines
1.4 KiB
JavaScript

/**
* app.js — VideoPress entry point
* --------------------------------
* Imports every feature module and calls its init function.
* No application logic lives here — this file is intentionally thin.
*
* Module layout
* -------------
* utils.js Pure helpers: esc(), fmtTime(), pad()
* state.js Shared state object, DOM refs (els), announce()
* theme.js Dark / light mode toggle
* browser.js Server-side directory browser modal
* scan.js /api/scan, file selection table, select-all controls
* progress.js Progress bars, results card, stream-lost banner
* stream.js SSE stream, reconnect, snapshot restore (applySnapshot)
* compress.js Start / cancel / restart compression, notification opt-in
* session.js Page-load restore via /api/compress/active
* settings.js SMTP email settings modal
*/
'use strict';
import { initTheme } from './modules/theme.js';
import { initBrowser } from './modules/browser.js';
import { initScan } from './modules/scan.js';
import { initStreamControls } from './modules/stream.js';
import { initCompress } from './modules/compress.js';
import { tryRestoreSession } from './modules/session.js';
import { initSettings } from './modules/settings.js';
initTheme();
initBrowser();
initScan();
initStreamControls();
initCompress();
initSettings();
tryRestoreSession();