summaryrefslogtreecommitdiff
path: root/apps/web/src/components/editor/panels/assets/index.tsx
diff options
context:
space:
mode:
Diffstat (limited to 'apps/web/src/components/editor/panels/assets/index.tsx')
-rw-r--r--apps/web/src/components/editor/panels/assets/index.tsx52
1 files changed, 52 insertions, 0 deletions
diff --git a/apps/web/src/components/editor/panels/assets/index.tsx b/apps/web/src/components/editor/panels/assets/index.tsx
new file mode 100644
index 00000000..9161cb1d
--- /dev/null
+++ b/apps/web/src/components/editor/panels/assets/index.tsx
@@ -0,0 +1,52 @@
+"use client";
+
+import { Separator } from "@/components/ui/separator";
+import { type Tab, useAssetsPanelStore } from "@/stores/assets-panel-store";
+import { TabBar } from "./tabbar";
+import { Captions } from "./views/captions";
+import { MediaView } from "./views/media";
+import { SettingsView } from "./views/settings";
+import { SoundsView } from "./views/sounds";
+import { StickersView } from "./views/stickers";
+import { TextView } from "./views/text";
+
+export function AssetsPanel() {
+ const { activeTab } = useAssetsPanelStore();
+
+ const viewMap: Record<Tab, React.ReactNode> = {
+ media: <MediaView />,
+ sounds: <SoundsView />,
+ text: <TextView />,
+ stickers: <StickersView />,
+ effects: (
+ <div className="text-muted-foreground p-4">
+ Effects view coming soon...
+ </div>
+ ),
+ transitions: (
+ <div className="text-muted-foreground p-4">
+ Transitions view coming soon...
+ </div>
+ ),
+ captions: <Captions />,
+ filters: (
+ <div className="text-muted-foreground p-4">
+ Filters view coming soon...
+ </div>
+ ),
+ adjustment: (
+ <div className="text-muted-foreground p-4">
+ Adjustment view coming soon...
+ </div>
+ ),
+ settings: <SettingsView />,
+ };
+
+ return (
+ <div className="bg-panel flex h-full">
+ <TabBar />
+ <Separator orientation="vertical" />
+ <div className="flex-1 overflow-hidden">{viewMap[activeTab]}</div>
+ </div>
+ );
+}