mirror of
https://github.com/ksyasuda/SubMiner.git
synced 2026-11-14 04:46:07 -08:00
Merge remote-tracking branch 'origin/main' into add-hachidori-backend
This commit is contained in:
32 files changed
+1122
-117
No files matched your search
+31
-1
@@ -99,6 +99,7 @@ import type {
|
||||
ControllerConfigUpdate,
|
||||
ControllerPreferenceUpdate,
|
||||
ResolvedControllerConfig,
|
||||
SessionHelpOpenPayload,
|
||||
SessionNumericSelectionStartPayload,
|
||||
SubtitleMiningContext,
|
||||
YoutubePickerOpenPayload,
|
||||
@@ -109,6 +110,7 @@ import type {
|
||||
ChangelogSnapshot,
|
||||
MediaTimingReviewActionResult,
|
||||
MediaTimingReviewOpenPayload,
|
||||
MediaTimingReviewPreviewPosition,
|
||||
MediaTimingReviewPreviewRequest,
|
||||
MediaTimingReviewResolveRequest,
|
||||
MediaTimingReviewFrameRequest,
|
||||
@@ -214,7 +216,15 @@ function createLatestValueIpcListenerWithPayload<T>(
|
||||
}
|
||||
|
||||
const onOpenRuntimeOptionsEvent = createQueuedIpcListener(IPC_CHANNELS.event.runtimeOptionsOpen);
|
||||
const onOpenSessionHelpEvent = createQueuedIpcListener(IPC_CHANNELS.event.sessionHelpOpen);
|
||||
const onOpenSessionHelpEvent = createQueuedIpcListenerWithPayload<SessionHelpOpenPayload>(
|
||||
IPC_CHANNELS.event.sessionHelpOpen,
|
||||
(payload) => ({
|
||||
commandsEnabled:
|
||||
typeof payload === 'object' &&
|
||||
payload !== null &&
|
||||
(payload as Partial<SessionHelpOpenPayload>).commandsEnabled === true,
|
||||
}),
|
||||
);
|
||||
const onOpenChangelogEvent = createQueuedIpcListener(IPC_CHANNELS.event.changelogOpen);
|
||||
const onOpenCharacterDictionaryManagerEvent = createQueuedIpcListener(
|
||||
IPC_CHANNELS.event.characterDictionaryManagerOpen,
|
||||
@@ -549,6 +559,26 @@ const electronAPI: ElectronAPI = {
|
||||
onOpenYoutubeTrackPicker: onOpenYoutubeTrackPickerEvent,
|
||||
onOpenMediaTimingReview: onOpenMediaTimingReviewEvent,
|
||||
onMediaTimingReviewPreviewEnded: onMediaTimingReviewPreviewEndedEvent,
|
||||
onMediaTimingReviewPreviewPosition: (
|
||||
callback: (position: MediaTimingReviewPreviewPosition) => void,
|
||||
): void => {
|
||||
ipcRenderer.on(
|
||||
IPC_CHANNELS.event.mediaTimingReviewPreviewPosition,
|
||||
(_event, payload: unknown) => {
|
||||
if (
|
||||
typeof payload !== 'object' ||
|
||||
payload === null ||
|
||||
!('reviewId' in payload) ||
|
||||
typeof payload.reviewId !== 'string' ||
|
||||
!('time' in payload) ||
|
||||
typeof payload.time !== 'number' ||
|
||||
!Number.isFinite(payload.time)
|
||||
)
|
||||
return;
|
||||
callback({ reviewId: payload.reviewId, time: payload.time });
|
||||
},
|
||||
);
|
||||
},
|
||||
previewMediaTimingReview: (
|
||||
request: MediaTimingReviewPreviewRequest,
|
||||
): Promise<MediaTimingReviewActionResult> =>
|
||||
|
||||
Reference in new issue
Block a user