'use client'; import * as React from 'react'; import RouterLink from 'next/link'; import { useParams, useRouter } from 'next/navigation'; import SampleAddressCard from '@/app/dashboard/Sample/AddressCard'; import { SampleNotifications } from '@/app/dashboard/Sample/Notifications'; import SamplePaymentCard from '@/app/dashboard/Sample/PaymentCard'; import SampleSecurityCard from '@/app/dashboard/Sample/SecurityCard'; import Box from '@mui/material/Box'; import Link from '@mui/material/Link'; import Stack from '@mui/material/Stack'; import Grid from '@mui/material/Unstable_Grid2'; import { ArrowLeft as ArrowLeftIcon } from '@phosphor-icons/react/dist/ssr/ArrowLeft'; import type { RecordModel } from 'pocketbase'; import { useTranslation } from 'react-i18next'; import { config } from '@/config'; import { paths } from '@/paths'; import { logger } from '@/lib/default-logger'; import { pb } from '@/lib/pb'; import { toast } from '@/components/core/toaster'; import ErrorDisplay from '@/components/dashboard/error'; import { Notifications } from '@/components/dashboard/student/notifications'; import FormLoading from '@/components/loading'; import BasicDetailCard from './BasicDetailCard'; import TitleCard from './TitleCard'; import { defaultStudent } from '@/components/dashboard/student/_constants'; import type { Student } from '@/components/dashboard/student/type.d'; import { COL_STUDENTS } from '@/constants'; export default function Page(): React.JSX.Element { const { t } = useTranslation(); const router = useRouter(); // const { customerId } = useParams<{ customerId: string }>(); // const [showLoading, setShowLoading] = React.useState(true); const [showError, setShowError] = React.useState({ show: false, detail: '' }); // const [showLessonCategory, setShowLessonCategory] = React.useState(defaultStudent); function handleEditClick(): void { router.push(paths.dashboard.students.edit(showLessonCategory.id)); } React.useEffect(() => { if (customerId) { pb.collection(COL_STUDENTS) .getOne(customerId) .then((model: RecordModel) => { setShowLessonCategory({ ...defaultStudent, ...model }); }) .catch((err) => { logger.error(err); toast(t('list.error')); setShowError({ show: true, detail: JSON.stringify(err) }); }) .finally(() => { setShowLoading(false); }); } }, [customerId]); // return <>{JSON.stringify({ showError, showLessonCategory }, null, 2)}; if (showLoading) return ; if (showError.show) return ( ); return (
Students
); }