"use client" import { useState, useEffect } from "react" import { useRouter } from "next/navigation" export default function CreateTeamPage() { const router = useRouter() const [loading, setLoading] = useState(false) const [managers, setManagers] = useState([]) const [formData, setFormData] = useState({ name: "", shiftManagerId: "" }) const [error, setError] = useState("") useEffect(() => { fetch("/api/admin/managers") .then(r => r.json()) .then(data => { // Fetch managers with their teams fetch("/api/admin/managers-with-teams") .then(r => r.json()) .then(setManagers) }) }, []) const handleSubmit = async (e: React.FormEvent) => { e.preventDefault() setError("") // Check if selected manager already has a team const selectedManager = managers.find(m => m.id === formData.shiftManagerId) if (selectedManager && selectedManager.teams && selectedManager.teams.length > 0) { setError(`This manager is already assigned to: ${selectedManager.teams.map((t: any) => t.name).join(", ")}`) return } setLoading(true) const response = await fetch("/api/admin/teams", { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify(formData) }) if (response.ok) { router.push("/admin/teams") } else { setError("Error creating team") setLoading(false) } } return (

Create New Team

setFormData({...formData, name: e.target.value})} className="w-full px-4 py-2 border rounded-lg" placeholder="e.g., Purple Team" required />
{error && (
{error}
)}
) }