summaryrefslogtreecommitdiff
path: root/apps/web/src/components/editor/media-panel/index.tsx
diff options
context:
space:
mode:
authorMaze Winther <mazewinther@gmail.com>2025-07-03 20:43:23 +0200
committerMaze Winther <mazewinther@gmail.com>2025-07-03 20:43:23 +0200
commit59a6c539a150adf9ff9ed3d91854b2bea6e7c517 (patch)
tree6e3d5f2e5cad95d314709ff19991d14f557514a6 /apps/web/src/components/editor/media-panel/index.tsx
parentef0828a13d6160eaa9e72b7f00350d9cfaa388e1 (diff)
downloadopencut-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.tsx56
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>
+ );
+}