diff --git a/electron/main.ts b/electron/main.ts index 3207429..ed3fa2c 100644 --- a/electron/main.ts +++ b/electron/main.ts @@ -62,7 +62,6 @@ process.env.VITE_PUBLIC = VITE_DEV_SERVER_URL ? path.join(process.env.APP_ROOT, let mainWindow: BrowserWindow | null = null let sourceSelectorWindow: BrowserWindow | null = null let tray: Tray | null = null -let isRecording = false let selectedSourceName = '' function createWindow() { @@ -148,7 +147,7 @@ app.whenReady().then(async () => { () => mainWindow, () => sourceSelectorWindow, (recording: boolean, sourceName: string) => { - isRecording = recording + // removed unused assignment to _isRecording selectedSourceName = sourceName if (recording) { if (!tray) createTray(); diff --git a/icons/1024x1024.png b/icons/1024x1024.png new file mode 100644 index 0000000..cefcab1 Binary files /dev/null and b/icons/1024x1024.png differ diff --git a/icons/128x128.png b/icons/128x128.png new file mode 100644 index 0000000..5b767f2 Binary files /dev/null and b/icons/128x128.png differ diff --git a/icons/16x16.png b/icons/16x16.png new file mode 100644 index 0000000..ba89653 Binary files /dev/null and b/icons/16x16.png differ diff --git a/icons/24x24.png b/icons/24x24.png new file mode 100644 index 0000000..fffef02 Binary files /dev/null and b/icons/24x24.png differ diff --git a/icons/256x256.png b/icons/256x256.png new file mode 100644 index 0000000..7992367 Binary files /dev/null and b/icons/256x256.png differ diff --git a/icons/32x32.png b/icons/32x32.png new file mode 100644 index 0000000..96532c0 Binary files /dev/null and b/icons/32x32.png differ diff --git a/icons/48x48.png b/icons/48x48.png new file mode 100644 index 0000000..2eea10f Binary files /dev/null and b/icons/48x48.png differ diff --git a/icons/512x512.png b/icons/512x512.png new file mode 100644 index 0000000..eb120c0 Binary files /dev/null and b/icons/512x512.png differ diff --git a/icons/64x64.png b/icons/64x64.png new file mode 100644 index 0000000..e285c9c Binary files /dev/null and b/icons/64x64.png differ diff --git a/icons/icon.icns b/icons/icon.icns new file mode 100644 index 0000000..ded3092 Binary files /dev/null and b/icons/icon.icns differ diff --git a/icons/icon.ico b/icons/icon.ico new file mode 100644 index 0000000..33a52ec Binary files /dev/null and b/icons/icon.ico differ diff --git a/src/components/video-editor/SettingsPanel.tsx b/src/components/video-editor/SettingsPanel.tsx index 6836a97..ce908d4 100644 --- a/src/components/video-editor/SettingsPanel.tsx +++ b/src/components/video-editor/SettingsPanel.tsx @@ -43,6 +43,8 @@ interface SettingsPanelProps { onExport?: () => void; } +export default SettingsPanel; + const ZOOM_DEPTH_OPTIONS: Array<{ depth: ZoomDepth; label: string }> = [ { depth: 1, label: "1.25×" }, { depth: 2, label: "1.5×" }, diff --git a/src/components/video-editor/timeline/Item.tsx b/src/components/video-editor/timeline/Item.tsx index 555947e..4c9c79f 100644 --- a/src/components/video-editor/timeline/Item.tsx +++ b/src/components/video-editor/timeline/Item.tsx @@ -12,7 +12,7 @@ interface ItemProps { onSelect?: () => void; } -export default function Item({ id, span, rowId, isSelected = false, onSelect }: ItemProps) { +export default function Item({ id, span, rowId, isSelected: _isSelected = false, onSelect }: ItemProps) { const { setNodeRef, attributes, listeners, itemStyle, itemContentStyle } = useItem({ id, span, diff --git a/src/components/video-editor/timeline/Subrow.tsx b/src/components/video-editor/timeline/Subrow.tsx index e865139..1c7e8a1 100644 --- a/src/components/video-editor/timeline/Subrow.tsx +++ b/src/components/video-editor/timeline/Subrow.tsx @@ -1,3 +1,4 @@ +import { cn } from "@/lib/utils"; interface SubrowProps { children: React.ReactNode; } diff --git a/src/components/video-editor/timeline/TimelineWrapper.tsx b/src/components/video-editor/timeline/TimelineWrapper.tsx index 3a89312..085aadb 100644 --- a/src/components/video-editor/timeline/TimelineWrapper.tsx +++ b/src/components/video-editor/timeline/TimelineWrapper.tsx @@ -23,7 +23,7 @@ export default function TimelineWrapper({ onRangeChange, minItemDurationMs, minVisibleRangeMs, - gridSizeMs, + gridSizeMs: _gridSizeMs, onItemSpanChange, }: TimelineWrapperProps) { const totalMs = Math.max(0, Math.round(videoDuration * 1000)); diff --git a/src/lib/exporter/videoExporter.ts b/src/lib/exporter/videoExporter.ts index bb676ba..e8c913d 100644 --- a/src/lib/exporter/videoExporter.ts +++ b/src/lib/exporter/videoExporter.ts @@ -104,7 +104,7 @@ export class VideoExporter { }; videoElement.addEventListener('seeked', onSeeked, { once: true }); }), - new Promise(resolve => setTimeout(resolve, 250)) // higher is slower but better capture + new Promise(resolve => setTimeout(resolve, 200)) // higher is slower but better capture ]); } diff --git a/test.png b/test.png new file mode 100644 index 0000000..8960721 Binary files /dev/null and b/test.png differ