GeezerVisonThe World Wide Web, restored to 800 pixels of glory. |
| Home|About|Gaming cabinet|Archives|How it works|Starter sites |
GeezerVison is showing github.com — edtech-simple/components/AddAssignmentDialog.tsx at main · VansRouges/edtech-simple Expand file tree/ Copy pathAddAssignmentDialog.tsxMore file actions 103 lines (96 loc) · 3.56 KB / Copy pathAddAssignmentDialog.tsxFile metadata and controls103 lines (96 loc) · 3.56 KB 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 "use client" import type React from "react" import { useState } from "react" import { Button } from "@/components/ui/button" import { Input } from "@/components/ui/input" import { Label } from "@/components/ui/label" import { Dialog, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, } from "@/components/ui/dialog" import { Assignment } from "@/types" interface AddAssignmentDialogProps { open: boolean onOpenChange: (open: boolean) => void onAddAssignment: (data: Assignment) => void creatorEmail: string } export function AddAssignmentDialog({ open, onOpenChange, onAddAssignment, creatorEmail }: AddAssignmentDialogProps) { const [title, setTitle] = useState("") const [subject, setSubject] = useState("") const [teacher, setTeacher] = useState("") const [className, setClassName] = useState("") const [dueDate, setDueDate] = useState("") const handleSubmit = (e: React.FormEvent) => { e.preventDefault() // Here you would typically send this data to your backend const newAssignment = { title, subject, teacher, className, dueDate, creatorEmail } onAddAssignment(newAssignment) console.log("New assignment:", { title, subject, class: className, dueDate, creatorEmail }) onOpenChange(false) } return ( <Dialog open={open} onOpenChange={onOpenChange}> <DialogContent> <DialogHeader> <DialogTitle>Add New Assignment</DialogTitle> <DialogDescription> Enter the details of the new assignment here. Click save when you're done. </DialogDescription> </DialogHeader> <form onSubmit={handleSubmit}> <div className="grid gap-4 py-4"> <div className="grid grid-cols-4 items-center gap-4"> <Label htmlFor="title" className="text-right"> Title </Label> <Input id="title" value={title} onChange={(e) => setTitle(e.target.value)} className="col-span-3" /> </div> <div className="grid grid-cols-4 items-center gap-4"> <Label htmlFor="subject" className="text-right"> Subject </Label> <Input id="subject" value={subject} onChange={(e) => setSubject(e.target.value)} className="col-span-3" /> </div> <div className="grid grid-cols-4 items-center gap-4"> <Label htmlFor="teacher" className="text-right"> Teacher </Label> <Input id="teacher" value={teacher} onChange={(e) => setTeacher(e.target.value)} className="col-span-3" /> </div> <div className="grid grid-cols-4 items-center gap-4"> <Label htmlFor="class" className="text-right"> Class </Label> <Input id="class" value={className} onChange={(e) => setClassName(e.target.value)} className="col-span-3" /> </div> <div className="grid grid-cols-4 items-center gap-4"> <Label htmlFor="dueDate" className="text-right"> Due Date </Label> <Input id="dueDate" type="date" value={dueDate} onChange={(e) => setDueDate(e.target.value)} className="col-span-3" /> </div> </div> <DialogFooter> <Button type="submit">Save changes</Button> </DialogFooter> </form> </DialogContent> </Dialog> ) } |
| You are visitor 01402503 — GeezerVison does not store the pages you look up. Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required. |