diff --git a/src/components/ui/switch.tsx b/src/components/ui/switch.tsx index 455c23b..f79318f 100644 --- a/src/components/ui/switch.tsx +++ b/src/components/ui/switch.tsx @@ -9,7 +9,8 @@ const Switch = React.forwardRef< >(({ className, ...props }, ref) => ( diff --git a/src/components/video-editor/PlaybackControls.tsx b/src/components/video-editor/PlaybackControls.tsx index 14fdc8e..da8ea67 100644 --- a/src/components/video-editor/PlaybackControls.tsx +++ b/src/components/video-editor/PlaybackControls.tsx @@ -28,11 +28,11 @@ export default function PlaybackControls({ } return ( -
+
- + {formatTime(currentTime)} - + {formatTime(duration)}
diff --git a/src/components/video-editor/SettingsPanel.tsx b/src/components/video-editor/SettingsPanel.tsx index 2c9f7f2..481aab1 100644 --- a/src/components/video-editor/SettingsPanel.tsx +++ b/src/components/video-editor/SettingsPanel.tsx @@ -64,12 +64,12 @@ export function SettingsPanel({ selected, onWallpaperChange, selectedZoomDepth, }; return ( -
+
- Zoom Level + Zoom Level {zoomEnabled && selectedZoomDepth && ( - + Active · {ZOOM_DEPTH_OPTIONS.find(o => o.depth === selectedZoomDepth)?.label} )} @@ -81,32 +81,32 @@ export function SettingsPanel({ selected, onWallpaperChange, selectedZoomDepth, ); })}
{!zoomEnabled && ( -

Select a zoom item in the timeline to adjust its depth.

+

Select a zoom item in the timeline to adjust its depth.

)} {zoomEnabled && (
-
Blur Background
+
Blur Background
@@ -135,7 +135,7 @@ export function SettingsPanel({ selected, onWallpaperChange, selectedZoomDepth, @@ -179,11 +179,11 @@ export function SettingsPanel({ selected, onWallpaperChange, selectedZoomDepth,
)} - - - Image - Color - Gradient + + + Image + Color + Gradient @@ -194,8 +194,8 @@ export function SettingsPanel({ selected, onWallpaperChange, selectedZoomDepth, className={cn( "aspect-square rounded-lg border-2 overflow-hidden cursor-pointer transition-all w-16 h-16", selected === path - ? "border-primary/40 ring-1 ring-primary/40 scale-105" - : "border-border hover:border-primary/60 hover:scale-105" + ? "border-[#7c3aed] ring-1 ring-[#7c3aed] scale-105" + : "border-[#23232a] hover:border-[#7c3aed] hover:scale-105" )} style={{ backgroundImage: `url(${path})`, backgroundSize: "cover", backgroundPosition: "center" }} aria-label={`Wallpaper ${idx + 1}`} @@ -207,14 +207,16 @@ export function SettingsPanel({ selected, onWallpaperChange, selectedZoomDepth, - { - setHsva(color.hsva); - onWallpaperChange(hsvaToHex(color.hsva)); - }} - /> +
+ { + setHsva(color.hsva); + onWallpaperChange(hsvaToHex(color.hsva)); + }} + /> +
@@ -224,7 +226,7 @@ export function SettingsPanel({ selected, onWallpaperChange, selectedZoomDepth, key={g} className={cn( "aspect-square rounded-lg border-2 overflow-hidden cursor-pointer transition-all w-16 h-16", - gradient === g ? "border-primary ring-1 ring-primary/40 scale-105" : "border-border hover:border-primary/60 hover:scale-105" + gradient === g ? "border-[#7c3aed] ring-1 ring-[#7c3aed] scale-105" : "border-[#23232a] hover:border-[#7c3aed] hover:scale-105" )} style={{ background: g }} aria-label={`Gradient ${idx + 1}`} @@ -239,7 +241,7 @@ export function SettingsPanel({ selected, onWallpaperChange, selectedZoomDepth, diff --git a/src/components/video-editor/VideoEditor.tsx b/src/components/video-editor/VideoEditor.tsx index ade1a1c..974424c 100644 --- a/src/components/video-editor/VideoEditor.tsx +++ b/src/components/video-editor/VideoEditor.tsx @@ -171,10 +171,10 @@ export default function VideoEditor() { } return ( -
+
-
-
+
+
{videoPath && ( <>
diff --git a/src/components/video-editor/timeline/Item.module.css b/src/components/video-editor/timeline/Item.module.css index 941a86a..94a25be 100644 --- a/src/components/video-editor/timeline/Item.module.css +++ b/src/components/video-editor/timeline/Item.module.css @@ -1,3 +1,11 @@ +.itemDark { + background: #23232a; + border: 1px solid #312e81; + border-radius: 12px; + box-shadow: 0 2px 12px rgba(0,0,0,0.18); + color: #e5e7eb; + transition: box-shadow 0.2s, border 0.2s, background 0.2s; +} .squircle { border-radius: 12px; -corner-smoothing: antialiased; diff --git a/src/components/video-editor/timeline/Item.tsx b/src/components/video-editor/timeline/Item.tsx index 775f96a..b7b171e 100644 --- a/src/components/video-editor/timeline/Item.tsx +++ b/src/components/video-editor/timeline/Item.tsx @@ -26,6 +26,7 @@ export default function Item({ id, span, rowId, isSelected = false, onSelect }: {...listeners} {...attributes} onPointerDownCapture={() => onSelect?.()} + className={cn(glassStyles.itemDark)} >
diff --git a/src/components/video-editor/timeline/Subrow.tsx b/src/components/video-editor/timeline/Subrow.tsx index 1596d86..e865139 100644 --- a/src/components/video-editor/timeline/Subrow.tsx +++ b/src/components/video-editor/timeline/Subrow.tsx @@ -4,7 +4,7 @@ interface SubrowProps { export default function Subrow({ children }: SubrowProps) { return ( -
+
{children}
); diff --git a/src/components/video-editor/timeline/TimelineEditor.tsx b/src/components/video-editor/timeline/TimelineEditor.tsx index 41da160..d70a0b6 100644 --- a/src/components/video-editor/timeline/TimelineEditor.tsx +++ b/src/components/video-editor/timeline/TimelineEditor.tsx @@ -151,27 +151,42 @@ function PlaybackCursor({
- {/* Inverted triangle at top */} -
+
+
+ +
+ +
{/* Subtle glow at top */} -
+
); @@ -180,9 +195,11 @@ function PlaybackCursor({ function TimelineAxis({ intervalMs, videoDurationMs, + currentTimeMs, }: { intervalMs: number; videoDurationMs: number; + currentTimeMs: number; }) { const { sidebarWidth, direction, range, valueToPixels } = useTimelineContext(); const sideProperty = direction === "rtl" ? "right" : "left"; @@ -225,7 +242,7 @@ function TimelineAxis({ return (
-
- - {marker.label} - +
+
+ + {marker.label} + +
); })} @@ -273,7 +299,7 @@ function Timeline({ items, videoDurationMs, intervalMs, - currentTimeMs, + currentTimeMs, onSeek, onSelectZoom, selectedZoomId, @@ -308,10 +334,10 @@ function Timeline({
- + {items.map((item) => ( @@ -338,7 +364,6 @@ export default function TimelineEditor({ zoomRegions, onZoomAdded, onZoomSpanChange, - // Removed unused onZoomDelete prop selectedZoomId, onSelectZoom, }: TimelineEditorProps) { @@ -445,33 +470,33 @@ export default function TimelineEditor({ if (!videoDuration || videoDuration === 0) { return ( -
- Load a video to see timeline +
+ Load a video to see timeline
); } return ( -
-
-
- Command + Shift + Scroll + Command + Shift + Scroll Pan - + - Command + Scroll + Command + Scroll Zoom
-
+