diff options
| author | Maze Winther <mazewinther@gmail.com> | 2025-07-03 20:43:23 +0200 |
|---|---|---|
| committer | Maze Winther <mazewinther@gmail.com> | 2025-07-03 20:43:23 +0200 |
| commit | 59a6c539a150adf9ff9ed3d91854b2bea6e7c517 (patch) | |
| tree | 6e3d5f2e5cad95d314709ff19991d14f557514a6 /apps/web/src/components/editor/media-panel/index.tsx | |
| parent | ef0828a13d6160eaa9e72b7f00350d9cfaa388e1 (diff) | |
| download | opencut-59a6c539a150adf9ff9ed3d91854b2bea6e7c517.tar.gz | |
feat: implement media panel with tab navigation
Diffstat (limited to 'apps/web/src/components/editor/media-panel/index.tsx')
| -rw-r--r-- | apps/web/src/components/editor/media-panel/index.tsx | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/apps/web/src/components/editor/media-panel/index.tsx b/apps/web/src/components/editor/media-panel/index.tsx new file mode 100644 index 00000000..f855fa36 --- /dev/null +++ b/apps/web/src/components/editor/media-panel/index.tsx @@ -0,0 +1,56 @@ +"use client";
+
+import { TabBar } from "./tabbar";
+import { MediaView } from "./views/media";
+import { useMediaPanelStore, Tab } from "./store";
+
+export function MediaPanel() {
+ const { activeTab } = useMediaPanelStore();
+
+ const viewMap: Record<Tab, React.ReactNode> = {
+ media: <MediaView />,
+ audio: (
+ <div className="p-4 text-muted-foreground">Audio view coming soon...</div>
+ ),
+ text: (
+ <div className="p-4 text-muted-foreground">Text view coming soon...</div>
+ ),
+ stickers: (
+ <div className="p-4 text-muted-foreground">
+ Stickers view coming soon...
+ </div>
+ ),
+ effects: (
+ <div className="p-4 text-muted-foreground">
+ Effects view coming soon...
+ </div>
+ ),
+ transitions: (
+ <div className="p-4 text-muted-foreground">
+ Transitions view coming soon...
+ </div>
+ ),
+ captions: (
+ <div className="p-4 text-muted-foreground">
+ Captions view coming soon...
+ </div>
+ ),
+ filters: (
+ <div className="p-4 text-muted-foreground">
+ Filters view coming soon...
+ </div>
+ ),
+ adjustment: (
+ <div className="p-4 text-muted-foreground">
+ Adjustment view coming soon...
+ </div>
+ ),
+ };
+
+ return (
+ <div className="h-full flex flex-col">
+ <TabBar />
+ <div className="flex-1">{viewMap[activeTab]}</div>
+ </div>
+ );
+}
|
