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,26 @@
import type { OverlayShortcutRuntimeServiceInput } from '../overlay-shortcuts-runtime';
export function createBuildOverlayShortcutsRuntimeMainDepsHandler(
deps: OverlayShortcutRuntimeServiceInput,
) {
return (): OverlayShortcutRuntimeServiceInput => ({
getConfiguredShortcuts: () => deps.getConfiguredShortcuts(),
getShortcutsRegistered: () => deps.getShortcutsRegistered(),
setShortcutsRegistered: (registered: boolean) => deps.setShortcutsRegistered(registered),
isOverlayRuntimeInitialized: () => deps.isOverlayRuntimeInitialized(),
showMpvOsd: (text: string) => deps.showMpvOsd(text),
openRuntimeOptionsPalette: () => deps.openRuntimeOptionsPalette(),
openJimaku: () => deps.openJimaku(),
markAudioCard: () => deps.markAudioCard(),
copySubtitleMultiple: (timeoutMs: number) => deps.copySubtitleMultiple(timeoutMs),
copySubtitle: () => deps.copySubtitle(),
toggleSecondarySubMode: () => deps.toggleSecondarySubMode(),
updateLastCardFromClipboard: () => deps.updateLastCardFromClipboard(),
triggerFieldGrouping: () => deps.triggerFieldGrouping(),
triggerSubsyncFromConfig: () => deps.triggerSubsyncFromConfig(),
mineSentenceCard: () => deps.mineSentenceCard(),
mineSentenceMultiple: (timeoutMs: number) => deps.mineSentenceMultiple(timeoutMs),
cancelPendingMultiCopy: () => deps.cancelPendingMultiCopy(),
cancelPendingMineSentenceMultiple: () => deps.cancelPendingMineSentenceMultiple(),
});
}