mirror of
https://github.com/ksyasuda/SubMiner.git
synced 2026-05-25 12:55:18 -07:00
127e1ea88e
- Add per-stream subtitle delay persistence and auto timeline-offset correction - Strip server-selected subtitle stream from mpv load URL; suppress plugin subtitle rearm and auto-start during app-managed preload - Fix resume position lost when mpv resets on stop; use last known position for final progress/stopped reports - Keep Play vs Resume distinct to avoid early seek race on normal play - Fix discovery resume when remote play sends StartPositionTicks=0 despite saved progress - Deduplicate show/hide overlay commands using recorded visibility state - Rewrite docs-site Jellyfin page around cast-to-device UX
35 lines
1.1 KiB
TypeScript
35 lines
1.1 KiB
TypeScript
export function createSetVisibleOverlayVisibleHandler(deps: {
|
|
getVisibleOverlayVisible?: () => boolean;
|
|
setVisibleOverlayVisibleCore: (options: {
|
|
visible: boolean;
|
|
setVisibleOverlayVisibleState: (visible: boolean) => void;
|
|
updateVisibleOverlayVisibility: () => void;
|
|
}) => void;
|
|
setVisibleOverlayVisibleState: (visible: boolean) => void;
|
|
updateVisibleOverlayVisibility: () => void;
|
|
onVisibleOverlayEnabled?: () => void;
|
|
}) {
|
|
return (visible: boolean): void => {
|
|
if (deps.getVisibleOverlayVisible?.() === visible) {
|
|
return;
|
|
}
|
|
if (visible) {
|
|
deps.onVisibleOverlayEnabled?.();
|
|
}
|
|
deps.setVisibleOverlayVisibleCore({
|
|
visible,
|
|
setVisibleOverlayVisibleState: deps.setVisibleOverlayVisibleState,
|
|
updateVisibleOverlayVisibility: deps.updateVisibleOverlayVisibility,
|
|
});
|
|
};
|
|
}
|
|
|
|
export function createToggleVisibleOverlayHandler(deps: {
|
|
getVisibleOverlayVisible: () => boolean;
|
|
setVisibleOverlayVisible: (visible: boolean) => void;
|
|
}) {
|
|
return (): void => {
|
|
deps.setVisibleOverlayVisible(!deps.getVisibleOverlayVisible());
|
|
};
|
|
}
|