返回 presentation-ai
ThemeTabs.tsx
1 "use client";
2
3 import { Tabs, TabsList, TabsTrigger } from "@/components/ui/tabs";
4 import { Grid2X2, PaletteIcon, TypeIcon } from "lucide-react";
5
6 interface ThemeTabsProps {
7 activeTab: string;
8 onTabChange: (value: string) => void;
9 children: React.ReactNode;
10 }
11
12 export function ThemeTabs({
13 activeTab,
14 onTabChange,
15 children,
16 }: ThemeTabsProps) {
17 return (
18 <Tabs value={activeTab} onValueChange={onTabChange} className="w-full">
19 <TabsList className="grid w-full grid-cols-3">
20 <TabsTrigger value="colors" className="flex items-center gap-2">
21 <PaletteIcon className="h-4 w-4" />
22 Colors
23 </TabsTrigger>
24 <TabsTrigger value="fonts" className="flex items-center gap-2">
25 <TypeIcon className="h-4 w-4" />
26 Fonts
27 </TabsTrigger>
28 <TabsTrigger value="spacing" className="flex items-center gap-2">
29 <Grid2X2 className="h-4 w-4" />
30 Spacing
31 </TabsTrigger>
32 </TabsList>
33 {children}
34 </Tabs>
35 );
36 }
37
37 lines Plain Text