Refactor application bootstrap to run on DOM ready

This commit is contained in:
thePR0M3TH3AN committed 2025-10-04 13:41:26 -04:00
1 parent 7b324593c5
commit 8a73d6d1fb
2 files changed
+188 -153

No files matched your search

+20 -13
View File
@@ -4,20 +4,27 @@ import Application from "./app.js";
import nostrService from "./services/nostrService.js";
import r2Service from "./services/r2Service.js";
import { loadView } from "./viewManager.js";
import { setApplication, setApplicationReady } from "./applicationContext.js";
const app = new Application({
services: {
nostrService,
r2Service,
},
loadView,
});
function mergeServices(overrides = {}) {
const merged = { nostrService, r2Service };
setApplication(app);
if (overrides && typeof overrides === "object") {
if (overrides.nostrService) {
merged.nostrService = overrides.nostrService;
}
if (overrides.r2Service) {
merged.r2Service = overrides.r2Service;
}
}
const appReady = app.init();
setApplicationReady(appReady);
return merged;
}
export { app, appReady };
export default app;
export function createApplication({ services, loadView: loadViewOverride } = {}) {
return new Application({
services: mergeServices(services),
loadView: typeof loadViewOverride === "function" ? loadViewOverride : loadView,
});
}
export default createApplication;