summaryrefslogtreecommitdiff
path: root/apps/web/src/components/timeline.tsx
diff options
context:
space:
mode:
authorMaze Winther <mazewinther@gmail.com>2025-06-22 13:07:02 +0200
committerMaze Winther <mazewinther@gmail.com>2025-06-22 13:07:02 +0200
commitbe970248686c0af7d8506cba8c64bf507419da3d (patch)
tree3fd8a716b7adae452f1be6dcdd946533da47ad8a /apps/web/src/components/timeline.tsx
parentf2d27e578e6214598d36779f44fb1612764c7b3b (diff)
downloadopencut-be970248686c0af7d8506cba8c64bf507419da3d.tar.gz
so much stuff???
Diffstat (limited to 'apps/web/src/components/timeline.tsx')
-rw-r--r--apps/web/src/components/timeline.tsx141
1 files changed, 0 insertions, 141 deletions
diff --git a/apps/web/src/components/timeline.tsx b/apps/web/src/components/timeline.tsx
deleted file mode 100644
index cde982ae..00000000
--- a/apps/web/src/components/timeline.tsx
+++ /dev/null
@@ -1,141 +0,0 @@
-"use client";
-
-import { ScrollArea } from "./ui/scroll-area";
-import { Button } from "./ui/button";
-import {
- Scissors,
- ArrowLeftToLine,
- ArrowRightToLine,
- Trash2,
- Snowflake,
- Copy,
- SplitSquareHorizontal,
-} from "lucide-react";
-import {
- Tooltip,
- TooltipContent,
- TooltipTrigger,
- TooltipProvider,
-} from "./ui/tooltip";
-
-export function Timeline() {
- return (
- <div className="h-full flex flex-col">
- {/* Toolbar */}
- <div className="border-b flex items-center px-2 py-1 gap-1">
- <TooltipProvider delayDuration={0}>
- <Tooltip>
- <TooltipTrigger asChild>
- <Button variant="ghost" size="icon">
- <Scissors className="h-4 w-4" />
- </Button>
- </TooltipTrigger>
- <TooltipContent>Split clip (S)</TooltipContent>
- </Tooltip>
-
- <Tooltip>
- <TooltipTrigger asChild>
- <Button variant="ghost" size="icon">
- <ArrowLeftToLine className="h-4 w-4" />
- </Button>
- </TooltipTrigger>
- <TooltipContent>Split and keep left (A)</TooltipContent>
- </Tooltip>
-
- <Tooltip>
- <TooltipTrigger asChild>
- <Button variant="ghost" size="icon">
- <ArrowRightToLine className="h-4 w-4" />
- </Button>
- </TooltipTrigger>
- <TooltipContent>Split and keep right (D)</TooltipContent>
- </Tooltip>
-
- <Tooltip>
- <TooltipTrigger asChild>
- <Button variant="ghost" size="icon">
- <SplitSquareHorizontal className="h-4 w-4" />
- </Button>
- </TooltipTrigger>
- <TooltipContent>Separate audio (E)</TooltipContent>
- </Tooltip>
-
- <Tooltip>
- <TooltipTrigger asChild>
- <Button variant="ghost" size="icon">
- <Copy className="h-4 w-4" />
- </Button>
- </TooltipTrigger>
- <TooltipContent>Duplicate clip (Ctrl+D)</TooltipContent>
- </Tooltip>
-
- <Tooltip>
- <TooltipTrigger asChild>
- <Button variant="ghost" size="icon">
- <Snowflake className="h-4 w-4" />
- </Button>
- </TooltipTrigger>
- <TooltipContent>Freeze frame (F)</TooltipContent>
- </Tooltip>
-
- <Tooltip>
- <TooltipTrigger asChild>
- <Button variant="ghost" size="icon">
- <Trash2 className="h-4 w-4" />
- </Button>
- </TooltipTrigger>
- <TooltipContent>Delete clip (Delete)</TooltipContent>
- </Tooltip>
- </TooltipProvider>
- </div>
-
- {/* Tracks Area */}
- <ScrollArea className="flex-1">
- <div className="min-w-[800px]">
- {/* Time Markers */}
- <div className="py-2 pt-1 flex items-center">
- {Array.from({ length: 16 }).map((_, i) => (
- <div
- key={i}
- className="w-[50px] flex items-end justify-center text-xs text-muted-foreground"
- >
- {i}s
- </div>
- ))}
- </div>
-
- {/* Video Track */}
- <div className="flex flex-col gap-2.5">
- <div className="flex items-center px-2">
- <div className="flex-1">
- <TimelineClip />
- </div>
- </div>
-
- {/* Audio Track */}
- <div className="flex items-center px-2">
- <div className="flex-1">
- <TimelineClip />
- </div>
- </div>
-
- {/* Effects Track */}
- <div className="flex items-center px-2">
- <div className="flex-1">
- <TimelineClip />
- </div>
- </div>
- </div>
- </div>
- </ScrollArea>
- </div>
- );
-}
-
-function TimelineClip() {
- return (
- <div className="flex-1 h-[3.8rem]">
- <div className="h-full bg-blue-500/20 border border-blue-500/30 rounded-sm mx-3 cursor-pointer transition-colors" />
- </div>
- );
-}