feat(core): add Electron runtime, services, and app composition

This commit is contained in:
2026-02-22 21:43:43 -08:00
parent 448ce03fd4
commit d3fd47f0ec
562 changed files with 69719 additions and 0 deletions

View File

@@ -0,0 +1,27 @@
export function registerProtocolUrlHandlers(deps: {
registerOpenUrl: (
listener: (event: { preventDefault: () => void }, rawUrl: string) => void,
) => void;
registerSecondInstance: (listener: (_event: unknown, argv: string[]) => void) => void;
handleAnilistSetupProtocolUrl: (rawUrl: string) => boolean;
findAnilistSetupDeepLinkArgvUrl: (argv: string[]) => string | null;
logUnhandledOpenUrl: (rawUrl: string) => void;
logUnhandledSecondInstanceUrl: (rawUrl: string) => void;
}) {
deps.registerOpenUrl((event, rawUrl) => {
event.preventDefault();
if (!deps.handleAnilistSetupProtocolUrl(rawUrl)) {
deps.logUnhandledOpenUrl(rawUrl);
}
});
deps.registerSecondInstance((_event, argv) => {
const rawUrl = deps.findAnilistSetupDeepLinkArgvUrl(argv);
if (!rawUrl) {
return;
}
if (!deps.handleAnilistSetupProtocolUrl(rawUrl)) {
deps.logUnhandledSecondInstanceUrl(rawUrl);
}
});
}