settingsLayout.tsx (2351B)
1 import LayoutWrapper from "@/components/dashboard/layoutWrapper" 2 import TabNavigation from "@/components/dashboard/tab-navigation" 3 import { Card, CardContent, CardDescription, CardHeader, CardTitle } from "@/components/ui/card" 4 import { Tabs, TabsList, TabsTrigger } from "@/components/ui/tabs" 5 import { DraupnirBot, ListResponse } from "@/lib/api"; 6 import Link from "next/link"; 7 8 export default function SettingsLayout({ 9 children, 10 currentTab, 11 listData, 12 teamIdParam, 13 selectedBot, 14 }: { 15 children: React.ReactNode; 16 currentTab: string; 17 listData?: ListResponse; 18 teamIdParam?: string; 19 selectedBot: DraupnirBot; 20 }) { 21 return ( 22 <LayoutWrapper listData={listData} activeTab="settings" teamIdParam={teamIdParam}> 23 <TabNavigation selectedBot={selectedBot} currentTab="settings" /> 24 <Card className="border-gray-800 bg-gray-950"> 25 <CardHeader> 26 <div className="flex items-center justify-between"> 27 <div> 28 <CardTitle>Team Management</CardTitle> 29 <CardDescription className="text-gray-400">Manage your bots and team members</CardDescription> 30 </div> 31 </div> 32 </CardHeader> 33 <CardContent className="space-y-2"> 34 <Tabs defaultValue={currentTab} className="space-y-4"> 35 <TabsList className="bg-gray-900"> 36 <TabsTrigger value="members" asChild> 37 <Link href={`/dashboard/settings/members?team=${selectedBot.id}`}>Team Members</Link> 38 </TabsTrigger> 39 <TabsTrigger value="rooms" asChild> 40 <Link href={`/dashboard/settings/protectedRooms?team=${selectedBot.id}`}>Protected Rooms</Link> 41 </TabsTrigger> 42 <TabsTrigger value="settings" asChild> 43 <Link href={`/dashboard/settings/bot?team=${selectedBot.id}`}>Bot Settings</Link> 44 </TabsTrigger> 45 </TabsList> 46 </Tabs> 47 48 {children} 49 </CardContent> 50 </Card> 51 </LayoutWrapper> 52 ) 53 }