"use client"; import { useState } from "react"; import { useRouter } from "next/navigation"; import Link from "next/link"; import { ArrowLeft } from "lucide-react"; import { Button } from "@/components/ui/button"; import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card"; import { Input } from "@/components/ui/input"; import { Label } from "@/components/ui/label"; import { Textarea } from "@/components/ui/textarea"; import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue, } from "@/components/ui/select"; import { createTask } from "@/lib/api"; export default function NewTask() { const router = useRouter(); const [loading, setLoading] = useState(false); const [error, setError] = useState(null); const [formData, setFormData] = useState({ title: "", description: "", status: "pending" as const, priority: "medium" as const, }); const handleSubmit = async (e: React.FormEvent) => { e.preventDefault(); if (!formData.title.trim()) { setError("Title is required"); return; } try { setLoading(true); setError(null); await createTask(formData); router.push("/"); } catch (err) { setError(err instanceof Error ? err.message : "Failed to create task"); } finally { setLoading(false); } }; return (
Back to Dashboard Create New Task
{error && (
{error}
)}
setFormData({ ...formData, title: e.target.value }) } />