Skip to content

Commit 9e17e0b

Browse files
authored
Fix tab making two requests (#377)
1 parent 3ab247e commit 9e17e0b

File tree

1 file changed

+23
-19
lines changed

1 file changed

+23
-19
lines changed

src/app/(logged-in)/settings/layout.tsx

Lines changed: 23 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,16 @@
11
'use client';
22

33
import { Bell, Palette, Shield, User } from 'lucide-react';
4-
import { usePathname, useRouter } from 'next/navigation';
4+
import { usePathname } from 'next/navigation';
55
import { Suspense } from 'react';
66

77
import { Tabs, TabsList, TabsTrigger } from '@/components/ui/tabs';
8+
import Link from 'next/link';
89

910
export 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

Comments
 (0)