"use client" 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 { useState } from "react" import { useRouter } from "next/navigation" import { getApiUrl } from "@/lib/api-config" export default function CreateGroupPage() { const router = useRouter() const [loading, setLoading] = useState(false) const [formData, setFormData] = useState({ name: "", description: "", privacy: "public" }) const handleSubmit = async (e: React.FormEvent) => { e.preventDefault() setLoading(true) const token = localStorage.getItem("token") if (!token) { alert("Please log in first") setLoading(false) return } try { const res = await fetch(`${getApiUrl()}/groups/`, { method: "POST", headers: { "Content-Type": "application/json", Authorization: `Bearer ${token}` }, body: JSON.stringify(formData) }) if (res.ok) { const group = await res.json() router.push(`/groups/${group.id}`) } else { throw new Error("Failed to create group") } } catch (err) { console.error(err) alert("Error creating group") } finally { setLoading(false) } } return (
Create a New Group
setFormData({ ...formData, name: e.target.value })} required />