import { columns, Student } from './columns'; import { DataTable } from './data-table'; import { db, students } from '@workspace/db'; import { Input } from '@workspace/ui/components/input'; import { Button } from '@workspace/ui/components/button'; import { revalidatePath } from 'next/cache'; import { eq } from '@workspace/db/drizzle'; import { Card } from '@workspace/ui/components/card'; async function getData(): Promise { const data = await db.select().from(students); return data; } async function addStudent(formData: FormData) { 'use server'; const email = String(formData.get('email') ?? '').trim(); if (!email) return; const exists = await db.select().from(students).where(eq(students.email, email)).limit(1); if (exists.length === 0) { await db.insert(students).values({ email }); } revalidatePath('/students'); } async function StudentsTable() { const data = await getData(); return (
{/* Add Student */}

Add Student

{/* Students Table */}

Students

{data.length} {data.length === 1 ? 'student' : 'students'} total
{data.length === 0 ? (
No students yet. Add your first student above!
) : ( )}
{/* Toast placeholder for feedback */}
); } export default function StudentsPage() { return ( ); } export const dynamic = 'force-dynamic';