mirror of
https://github.com/ksyasuda/SubMiner.git
synced 2026-05-26 12:55:16 -07:00
536d99251e
- Derive device identity from OS hostname; remove legacy configurable client/device fields - Prevent discovery playback from reloading active item, misreporting pause state, and duplicate overlay restores - Restart stale tray discovery sessions without re-login when server drops SubMiner cast target - Sync tray discovery checkbox state on Linux after CLI/startup/remote-session changes - Stop Discord presence falling back to stream URLs; prime title before tokenized stream loads - Fix picker library discovery when log level is above info - Fix config.example.jsonc trailing commas and array formatting
89 lines
3.2 KiB
TypeScript
89 lines
3.2 KiB
TypeScript
export function createBuildResolveTrayIconPathMainDepsHandler(deps: {
|
|
resolveTrayIconPathRuntime: (options: {
|
|
platform: string;
|
|
resourcesPath: string;
|
|
appPath: string;
|
|
dirname: string;
|
|
joinPath: (...parts: string[]) => string;
|
|
fileExists: (path: string) => boolean;
|
|
}) => string | null;
|
|
platform: string;
|
|
resourcesPath: string;
|
|
appPath: string;
|
|
dirname: string;
|
|
joinPath: (...parts: string[]) => string;
|
|
fileExists: (path: string) => boolean;
|
|
}) {
|
|
return () => ({
|
|
resolveTrayIconPathRuntime: deps.resolveTrayIconPathRuntime,
|
|
platform: deps.platform,
|
|
resourcesPath: deps.resourcesPath,
|
|
appPath: deps.appPath,
|
|
dirname: deps.dirname,
|
|
joinPath: deps.joinPath,
|
|
fileExists: deps.fileExists,
|
|
});
|
|
}
|
|
|
|
export function createBuildTrayMenuTemplateMainDepsHandler<TMenuItem>(deps: {
|
|
buildTrayMenuTemplateRuntime: (handlers: {
|
|
platform?: string;
|
|
openSessionHelp: () => void;
|
|
openTexthookerInBrowser: () => void;
|
|
showTexthookerPage: boolean;
|
|
openFirstRunSetup: () => void;
|
|
showFirstRunSetup: boolean;
|
|
openWindowsMpvLauncherSetup: () => void;
|
|
showWindowsMpvLauncherSetup: boolean;
|
|
openYomitanSettings: () => void;
|
|
openConfigSettings: () => void;
|
|
openJellyfinSetup: () => void;
|
|
showJellyfinDiscovery: boolean;
|
|
jellyfinDiscoveryActive: boolean;
|
|
toggleJellyfinDiscovery: (checked: boolean) => void;
|
|
openAnilistSetup: () => void;
|
|
checkForUpdates: () => void;
|
|
quitApp: () => void;
|
|
}) => TMenuItem[];
|
|
initializeOverlayRuntime: () => void;
|
|
isOverlayRuntimeInitialized: () => boolean;
|
|
openSessionHelpModal: () => void;
|
|
openTexthookerInBrowser: () => void;
|
|
showTexthookerPage: () => boolean;
|
|
showFirstRunSetup: () => boolean;
|
|
openFirstRunSetupWindow: () => void;
|
|
showWindowsMpvLauncherSetup: () => boolean;
|
|
openYomitanSettings: () => void;
|
|
openConfigSettingsWindow: () => void;
|
|
openJellyfinSetupWindow: () => void;
|
|
isJellyfinConfigured: () => boolean;
|
|
isJellyfinDiscoveryActive: () => boolean;
|
|
toggleJellyfinDiscovery: (checked: boolean) => void | Promise<void>;
|
|
platform?: string;
|
|
openAnilistSetupWindow: () => void;
|
|
checkForUpdates: () => void;
|
|
quitApp: () => void;
|
|
}) {
|
|
return () => ({
|
|
buildTrayMenuTemplateRuntime: deps.buildTrayMenuTemplateRuntime,
|
|
platform: deps.platform,
|
|
initializeOverlayRuntime: deps.initializeOverlayRuntime,
|
|
isOverlayRuntimeInitialized: deps.isOverlayRuntimeInitialized,
|
|
openSessionHelpModal: deps.openSessionHelpModal,
|
|
openTexthookerInBrowser: deps.openTexthookerInBrowser,
|
|
showTexthookerPage: deps.showTexthookerPage,
|
|
showFirstRunSetup: deps.showFirstRunSetup,
|
|
openFirstRunSetupWindow: deps.openFirstRunSetupWindow,
|
|
showWindowsMpvLauncherSetup: deps.showWindowsMpvLauncherSetup,
|
|
openYomitanSettings: deps.openYomitanSettings,
|
|
openConfigSettingsWindow: deps.openConfigSettingsWindow,
|
|
openJellyfinSetupWindow: deps.openJellyfinSetupWindow,
|
|
isJellyfinConfigured: deps.isJellyfinConfigured,
|
|
isJellyfinDiscoveryActive: deps.isJellyfinDiscoveryActive,
|
|
toggleJellyfinDiscovery: deps.toggleJellyfinDiscovery,
|
|
openAnilistSetupWindow: deps.openAnilistSetupWindow,
|
|
checkForUpdates: deps.checkForUpdates,
|
|
quitApp: deps.quitApp,
|
|
});
|
|
}
|