mirror of
https://github.com/ksyasuda/SubMiner.git
synced 2026-03-25 00:11:26 -07:00
47 lines
1.5 KiB
TypeScript
47 lines
1.5 KiB
TypeScript
import type { OverlayHostedModal } from '../../shared/ipc/contracts';
|
|
import type { AppendClipboardVideoToQueueRuntimeDeps } from './clipboard-queue';
|
|
|
|
export function createSetOverlayVisibleHandler(deps: {
|
|
setVisibleOverlayVisible: (visible: boolean) => void;
|
|
}) {
|
|
return (visible: boolean): void => {
|
|
deps.setVisibleOverlayVisible(visible);
|
|
};
|
|
}
|
|
|
|
export function createToggleOverlayHandler(deps: { toggleVisibleOverlay: () => void }) {
|
|
return (): void => {
|
|
deps.toggleVisibleOverlay();
|
|
};
|
|
}
|
|
|
|
export function createHandleOverlayModalClosedHandler(deps: {
|
|
handleOverlayModalClosedRuntime: (modal: OverlayHostedModal) => void;
|
|
}) {
|
|
return (modal: OverlayHostedModal): void => {
|
|
deps.handleOverlayModalClosedRuntime(modal);
|
|
};
|
|
}
|
|
|
|
export function createAppendClipboardVideoToQueueHandler(deps: {
|
|
appendClipboardVideoToQueueRuntime: (options: AppendClipboardVideoToQueueRuntimeDeps) => {
|
|
ok: boolean;
|
|
message: string;
|
|
};
|
|
getMpvClient: () => AppendClipboardVideoToQueueRuntimeDeps['getMpvClient'] extends () => infer T
|
|
? T
|
|
: never;
|
|
readClipboardText: () => string;
|
|
showMpvOsd: (text: string) => void;
|
|
sendMpvCommand: (command: (string | number)[]) => void;
|
|
}) {
|
|
return (): { ok: boolean; message: string } => {
|
|
return deps.appendClipboardVideoToQueueRuntime({
|
|
getMpvClient: () => deps.getMpvClient(),
|
|
readClipboardText: deps.readClipboardText,
|
|
showMpvOsd: deps.showMpvOsd,
|
|
sendMpvCommand: deps.sendMpvCommand,
|
|
});
|
|
};
|
|
}
|