diff --git a/app/profile/page.tsx b/app/profile/page.tsx index 775a262..9d21c20 100644 --- a/app/profile/page.tsx +++ b/app/profile/page.tsx @@ -7,16 +7,21 @@ import { ProfileHeader } from "@/components/profile/profile-header" import { StatsRow } from "@/components/profile/stats-row" import { ContributionList } from "@/components/profile/contribution-list" import { SavedGamesGrid } from "@/components/saved-games/saved-games-grid" -import { Bookmark, Settings, Loader2 } from "lucide-react" +import { Bookmark, Settings, Loader2, TrendingUp } from "lucide-react" +import { SettingsProfileTab } from "@/components/profile/settings-profile-tab" +import { SettingsSecurityTab } from "@/components/profile/settings-security-tab" +import { SettingsAccountsTab } from "@/components/profile/settings-accounts-tab" import { motion } from "motion/react" import type { ContributionEntry } from "@/types/api" type Tab = "overview" | "saved" | "settings" +type SettingsTab = "profile" | "security" | "accounts" export default function ProfilePage() { const router = useRouter() const { data: session, isPending: isSessionLoading } = useSession() const [activeTab, setActiveTab] = useState("overview") + const [settingsSubTab, setSettingsSubTab] = useState("profile") const [profile, setProfile] = useState<{ id: string name: string @@ -78,7 +83,7 @@ export default function ProfilePage() { } const tabs: { id: Tab; label: string; icon: typeof Bookmark }[] = [ - { id: "overview", label: "Overview", icon: Settings }, + { id: "overview", label: "Overview", icon: TrendingUp }, { id: "saved", label: "Saved Games", icon: Bookmark }, { id: "settings", label: "Settings", icon: Settings }, ] @@ -148,9 +153,39 @@ export default function ProfilePage() { {activeTab === "saved" && } {activeTab === "settings" && ( -
- -

Account settings will appear here

+
+ {/* Settings sub-tabs */} +
+ {([ + { id: "profile" as SettingsTab, label: "Profile" }, + { id: "security" as SettingsTab, label: "Security" }, + { id: "accounts" as SettingsTab, label: "Linked Accounts" }, + ]).map((subTab) => ( + + ))} +
+ + {/* Settings sub-tab content */} + {settingsSubTab === "profile" && ( + + )} + {settingsSubTab === "security" && } + {settingsSubTab === "accounts" && }
)}