From c5480d307cd6b959c21aee4f1de7a2c3b9010d7d Mon Sep 17 00:00:00 2001 From: Maze Winther Date: Mon, 1 Sep 2025 23:01:15 +0200 Subject: [PATCH] refactor: make stickers use panel base view --- .../editor/media-panel/views/stickers.tsx | 97 +++++++------------ .../src/components/editor/panel-base-view.tsx | 6 ++ 2 files changed, 43 insertions(+), 60 deletions(-) diff --git a/apps/web/src/components/editor/media-panel/views/stickers.tsx b/apps/web/src/components/editor/media-panel/views/stickers.tsx index c30acee0..b6c64bd0 100644 --- a/apps/web/src/components/editor/media-panel/views/stickers.tsx +++ b/apps/web/src/components/editor/media-panel/views/stickers.tsx @@ -20,8 +20,7 @@ import { import { toast } from "sonner"; import { Button } from "@/components/ui/button"; import { ScrollArea } from "@/components/ui/scroll-area"; -import { Tabs, TabsList, TabsTrigger, TabsContent } from "@/components/ui/tabs"; -import { Separator } from "@/components/ui/separator"; +import { PanelBaseView as BaseView } from "@/components/editor/panel-base-view"; import { Tooltip, TooltipContent, @@ -48,63 +47,41 @@ export function StickersView() { const { selectedCategory, setSelectedCategory } = useStickersStore(); return ( -
- { - if (["all", "general", "brands", "emoji"].includes(v)) { - setSelectedCategory(v as StickerCategory); - } - }} - className="flex flex-col h-full" - > -
- - - - All - - - - Icons - - - - Brands - - - - Emoji - - -
- - - - - - - - - - - - - -
-
+ { + if (["all", "general", "brands", "emoji"].includes(v)) { + setSelectedCategory(v as StickerCategory); + } + }} + tabs={[ + { + value: "all", + label: "All", + icon: , + content: , + }, + { + value: "general", + label: "Icons", + icon: , + content: , + }, + { + value: "brands", + label: "Brands", + icon: , + content: , + }, + { + value: "emoji", + label: "Emoji", + icon: , + content: , + }, + ]} + className="flex flex-col h-full p-0 overflow-hidden" + /> ); } @@ -361,7 +338,7 @@ function StickersContentView({ category }: { category: StickerCategory }) { }, [isInCollection]); return ( -
+
{tabs.map((tab) => ( + {tab.icon ? ( + + {tab.icon} + + ) : null} {tab.label} ))}