[feat](trx-frontend-http): split app.js into ES modules with lazy loading
Extract map-core.js (3,483 lines) and screenshot.js (261 lines) from the monolithic app.js, reducing it by ~30% (11,967 → 8,427 lines). Modules communicate via a window.trx shared namespace with getter/setter- backed state proxying. Map and statistics code lazy-loads on first tab activation; screenshot code lazy-loads on first "S" keypress. All cross- module calls use optional chaining for safe access before modules load. Adds Rust infrastructure (include_str, gz_cache, Actix routes) for serving the new JS assets. https://claude.ai/code/session_01HgW8UpscRRA3CgSLqQDzdp Signed-off-by: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -1563,7 +1563,8 @@
|
||||
(function() {
|
||||
var pluginScripts = {
|
||||
'digital-modes': ['/ft8.js', '/ft4.js', '/ft2.js', '/wspr.js', '/cw.js', '/background-decode.js'],
|
||||
'map': ['/leaflet-ais-tracksymbol.js', '/ais.js', '/vdes.js', '/aprs.js', '/hf-aprs.js', '/sat.js', '/sat-scheduler.js'],
|
||||
'map': ['/map-core.js', '/leaflet-ais-tracksymbol.js', '/ais.js', '/vdes.js', '/aprs.js', '/hf-aprs.js', '/sat.js', '/sat-scheduler.js'],
|
||||
'statistics': ['/map-core.js'],
|
||||
'bookmarks': ['/bookmarks.js'],
|
||||
'recorder': ['/scheduler.js'],
|
||||
'settings': ['/vchan.js']
|
||||
|
||||
Reference in New Issue
Block a user