diff --git a/src/main.ts b/src/main.ts index e965661..fe84d73 100644 --- a/src/main.ts +++ b/src/main.ts @@ -153,6 +153,24 @@ interface CustomClip { filenameTemplate?: string; } +interface MergeGroupItem { + url: string; + title: string; + date: string; + streamer: string; + duration_str: string; +} + +interface MergeGroup { + items: MergeGroupItem[]; + mergePhase: 'downloading' | 'merging' | 'splitting' | 'cleanup' | 'done'; + currentItemIndex: number; + downloadedFiles: Record; + mergedFile?: string; + splitFiles?: string[]; + totalDurationSec?: number; +} + interface QueueItem { id: string; title: string; @@ -170,6 +188,7 @@ interface QueueItem { totalBytes?: number; last_error?: string; customClip?: CustomClip; + mergeGroup?: MergeGroup; } interface DownloadResult { diff --git a/src/preload.ts b/src/preload.ts index e917eac..22df4c4 100644 --- a/src/preload.ts +++ b/src/preload.ts @@ -9,6 +9,24 @@ interface CustomClip { filenameTemplate?: string; } +interface MergeGroupItem { + url: string; + title: string; + date: string; + streamer: string; + duration_str: string; +} + +interface MergeGroup { + items: MergeGroupItem[]; + mergePhase: 'downloading' | 'merging' | 'splitting' | 'cleanup' | 'done'; + currentItemIndex: number; + downloadedFiles: Record; + mergedFile?: string; + splitFiles?: string[]; + totalDurationSec?: number; +} + interface QueueItem { id: string; title: string; @@ -23,6 +41,7 @@ interface QueueItem { speed?: string; eta?: string; customClip?: CustomClip; + mergeGroup?: MergeGroup; } interface DownloadProgress { diff --git a/src/renderer-globals.d.ts b/src/renderer-globals.d.ts index d71cb44..2f1e244 100644 --- a/src/renderer-globals.d.ts +++ b/src/renderer-globals.d.ts @@ -37,6 +37,24 @@ interface CustomClip { filenameTemplate?: string; } +interface MergeGroupItem { + url: string; + title: string; + date: string; + streamer: string; + duration_str: string; +} + +interface MergeGroup { + items: MergeGroupItem[]; + mergePhase: 'downloading' | 'merging' | 'splitting' | 'cleanup' | 'done'; + currentItemIndex: number; + downloadedFiles: Record; + mergedFile?: string; + splitFiles?: string[]; + totalDurationSec?: number; +} + interface QueueItem { id: string; title: string; @@ -55,6 +73,7 @@ interface QueueItem { progressStatus?: string; last_error?: string; customClip?: CustomClip; + mergeGroup?: MergeGroup; } interface DownloadProgress { @@ -166,6 +185,7 @@ interface ApiBridge { reorderQueue(orderIds: string[]): Promise; clearCompleted(): Promise; retryFailedDownloads(): Promise; + createMergeGroup(itemIds: string[]): Promise; startDownload(): Promise; pauseDownload(): Promise; cancelDownload(): Promise;