"use client"; import { useEffect, useState } from "react"; import { Card, CardContent, CardDescription, CardHeader, CardTitle } from "@/components/ui/card"; import { Button } from "@/components/ui/button"; export default function SettingsPage() { const [targetExam, setTargetExam] = useState<"JEE_Main" | "NEET">("JEE_Main"); const [targetYear, setTargetYear] = useState("2026"); const [firstName, setFirstName] = useState("Rahul"); const [lastName, setLastName] = useState("Sharma"); const [loading, setLoading] = useState(true); const [saving, setSaving] = useState(false); const userId = "b0e17378-864d-439e-8806-708dc48a891b"; useEffect(() => { async function fetchUserData() { try { const res = await fetch(`http://localhost:8000/api/users/${userId}`); if (res.ok) { const data = await res.json(); setTargetExam(data.target_exam === "NEET" ? "NEET" : "JEE_Main"); if (data.name) { const parts = data.name.split(" "); setFirstName(parts[0] || ""); setLastName(parts.slice(1).join(" ") || ""); } } } catch (err) { console.error("Failed to load user profile:", err); } finally { setLoading(false); } } fetchUserData(); }, []); const handleSave = async () => { setSaving(true); try { const res = await fetch(`http://localhost:8000/api/users/${userId}`, { method: "PUT", headers: { "Content-Type": "application/json" }, body: JSON.stringify({ name: `${firstName} ${lastName}`.trim(), target_exam: targetExam, }), }); if (res.ok) { alert("Settings saved successfully!"); } else { alert("Failed to save settings: " + (await res.text())); } } catch (err) { console.error("Error saving settings:", err); alert("Network error. Could not save settings."); } finally { setSaving(false); } }; if (loading) { return
Manage your personal details and platform preferences.