diff --git a/apps/web/src/components/editor/timeline-element.tsx b/apps/web/src/components/editor/timeline-element.tsx
index 5f5a2c6d..ca229818 100644
--- a/apps/web/src/components/editor/timeline-element.tsx
+++ b/apps/web/src/components/editor/timeline-element.tsx
@@ -268,46 +268,88 @@ export function TimelineElement({
);
}
+ const TILE_ASPECT_RATIO = 16 / 9;
+
if (mediaItem.type === "image") {
// Calculate tile size based on 16:9 aspect ratio
const trackHeight = getTrackHeight(track.type);
const tileHeight = trackHeight - 8; // Account for padding
- const tileWidth = tileHeight * (16 / 9);
+ const tileWidth = tileHeight * TILE_ASPECT_RATIO;
return (
-
+
+ {/* Background with tiled images */}
+
+ {/* Overlay with vertical borders */}
+
+
);
}
+ const VIDEO_TILE_PADDING = 16;
+ const OVERLAY_SPACE_MULTIPLIER = 1.5;
+
if (mediaItem.type === "video" && mediaItem.thumbnailUrl) {
- // Calculate tile size based on 16:9 aspect ratio
const trackHeight = getTrackHeight(track.type);
- const tileHeight = trackHeight - 16; // Account for padding
- const tileWidth = tileHeight * (16 / 9);
+ const tileHeight = trackHeight - VIDEO_TILE_PADDING;
+ const tileWidth = tileHeight * TILE_ASPECT_RATIO;
return (
-
+
+ {/* Background with tiled thumbnails */}
+
+ {/* Overlay with vertical borders */}
+
+
{/* Show name overlay on the right if there's sufficient space */}
- {elementWidth > tileWidth * 1.5 && (
+ {elementWidth > tileWidth * OVERLAY_SPACE_MULTIPLIER && (
{element.name}