import { Button } from '@/components/ui/button'; import { Card } from '@/components/ui/card'; import { Label } from '@/components/ui/label'; import { Switch } from '@/components/ui/switch'; import DashboardLayout from '@/layouts/dashboard/layout'; import { SharedData } from '@/types/global'; import { Head, Link, router } from '@inertiajs/react'; import { ClipboardList, Plus } from 'lucide-react'; import { useEffect, useState } from 'react'; import MarkSheetCard from './partials/marksheet-card'; interface MarksheetPageProps extends SharedData { templates: MarksheetTemplate[]; } const MarksheetIndex = ({ templates, system }: MarksheetPageProps) => { const examTemplates = templates.filter((template) => template.type === 'exam'); const courseTemplates = templates.filter((template) => template.type === 'course'); const initialCourseMarksheetEnabled = system?.fields?.show_course_marksheet ?? true; const [courseMarksheetEnabled, setCourseMarksheetEnabled] = useState(initialCourseMarksheetEnabled); useEffect(() => { setCourseMarksheetEnabled(initialCourseMarksheetEnabled); }, [initialCourseMarksheetEnabled]); const handleCourseMarksheetToggle = (checked: boolean) => { const previous = courseMarksheetEnabled; setCourseMarksheetEnabled(checked); router.post( route('certification.settings.update'), { show_course_marksheet: checked }, { preserveScroll: true, preserveState: true, onError: () => setCourseMarksheetEnabled(previous) }, ); }; return ( <>

Enable/disable course marksheets for students.

Marksheet Templates

Design marksheets showing course grades

Course Marksheet Templates
{courseTemplates.length === 0 ? (

No marksheet templates yet

Create your first marksheet template to get started

) : (
{courseTemplates.map((template) => ( ))}
)}
); }; MarksheetIndex.layout = (page: React.ReactNode) => ; export default MarksheetIndex;