11'use client' ;
22
33import { Bell , Palette , Shield , User } from 'lucide-react' ;
4- import { usePathname , useRouter } from 'next/navigation' ;
4+ import { usePathname } from 'next/navigation' ;
55import { Suspense } from 'react' ;
66
77import { Tabs , TabsList , TabsTrigger } from '@/components/ui/tabs' ;
8+ import Link from 'next/link' ;
89
910export default function SettingsLayout ( { children } : { children : React . ReactNode } ) {
1011 const pathname = usePathname ( ) ;
11- const router = useRouter ( ) ;
1212 const currentTab = pathname === '/settings' ? 'account' : pathname . split ( '/' ) . pop ( ) || 'account' ;
1313
14- const handleTabChange = ( value : string ) => {
15- router . push ( `/settings/${ value === 'account' ? '' : value } ` ) ;
16- } ;
17-
1814 return (
1915 < div className = "container mx-auto py-6 px-4" >
2016 < div className = "flex flex-col space-y-6" >
@@ -25,23 +21,31 @@ export default function SettingsLayout({ children }: { children: React.ReactNode
2521 </ p >
2622 </ div >
2723
28- < Tabs value = { currentTab } onValueChange = { handleTabChange } className = "w-full" >
24+ < Tabs value = { currentTab } className = "w-full" >
2925 < TabsList className = "w-full max-w-3xl" >
30- < TabsTrigger value = "account" className = "flex items-center gap-2" >
31- < User className = "h-4 w-4" />
32- < span > Account</ span >
26+ < TabsTrigger value = "account" className = "flex items-center gap-2" asChild >
27+ < Link href = "/settings" >
28+ < User className = "h-4 w-4" />
29+ < span > Account</ span >
30+ </ Link >
3331 </ TabsTrigger >
34- < TabsTrigger value = "notifications" className = "flex items-center gap-2" >
35- < Bell className = "h-4 w-4" />
36- < span > Notifications</ span >
32+ < TabsTrigger value = "notifications" className = "flex items-center gap-2" asChild >
33+ < Link href = "/settings/notifications" >
34+ < Bell className = "h-4 w-4" />
35+ < span > Notifications</ span >
36+ </ Link >
3737 </ TabsTrigger >
38- < TabsTrigger value = "security" className = "flex items-center gap-2" >
39- < Shield className = "h-4 w-4" />
40- < span > Security</ span >
38+ < TabsTrigger value = "security" className = "flex items-center gap-2" asChild >
39+ < Link href = "/settings/security" >
40+ < Shield className = "h-4 w-4" />
41+ < span > Security</ span >
42+ </ Link >
4143 </ TabsTrigger >
42- < TabsTrigger value = "appearance" className = "flex items-center gap-2" >
43- < Palette className = "h-4 w-4" />
44- < span > Appearance</ span >
44+ < TabsTrigger value = "appearance" className = "flex items-center gap-2" asChild >
45+ < Link href = "/settings/appearance" >
46+ < Palette className = "h-4 w-4" />
47+ < span > Appearance</ span >
48+ </ Link >
4549 </ TabsTrigger >
4650 </ TabsList >
4751 </ Tabs >
0 commit comments