"use client" import { useState, useEffect } from 'react'; import axios from 'axios'; import { useUser } from '@clerk/nextjs'; import { Button } from '@/components/ui/button'; import { Label } from '@/components/ui/label'; import { Card, CardHeader, CardContent } from '@/components/ui/card'; import { Collapsible, CollapsibleContent, CollapsibleTrigger } from "@/components/ui/collapsible" import { ChevronDown } from "lucide-react" import { PersonForm } from './PatientForm'; import { useRouter } from 'next/navigation'; const AccountPage = () => { const { user } = useUser(); const [userData, setUserData] = useState(null); const [patients, setPatients] = useState([]); useEffect(() => { if (user) { axios.get(`/api/user?userId=${user.id}`).then(response => { setUserData(response.data); if (response.data.role === 'caregiver') { axios.get('/api/patients').then(res => setPatients(res.data)); } }); } }, [user]); const handleRoleChange = async () => { const newRole = userData.role === 'patient' ? 'caregiver' : 'patient'; await axios.put(`/api/user?userId=${user.id}`, { role: newRole }); setUserData({ ...userData, role: newRole }); if (newRole === 'caregiver') { axios.get('/api/patients').then(res => setPatients(res.data)); } else { setPatients([]); setSelectedPatient(null); } }; if (!userData) return
Loading...
; if (userData) { if (userData.role !== "caregiver") { router.push("/suite/patient/dashboard"); } } return (

Account Page

{userData.name}

{userData.email}

{userData.role}

{userData.role === 'caregiver' && (

Patients

    {patients.map(patient => (

    {patient.name}

    {patient.role}

    ))}
)}
); }; export default AccountPage;