"use client"; import { useState } from "react"; import { useRouter } from "next/navigation"; import { createLayoutConfiguration } from "@/app/actions/layout-configurations"; import { Button } from "@/components/ui/button"; import { Dialog, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, DialogTrigger } from "@/components/ui/dialog"; import { Input } from "@/components/ui/input"; import { Label } from "@/components/ui/label"; import { toast } from "@/hooks/use-toast"; import { Plus } from "lucide-react"; export function CreateLayoutConfigurationDialog() { const [open, setOpen] = useState(false); const [name, setName] = useState(""); const [loading, setLoading] = useState(false); const router = useRouter(); async function handleSubmit(e: React.FormEvent) { e.preventDefault(); if (!name.trim()) { toast({ title: "Error", description: "Please enter a configuration name", variant: "destructive", }); return; } setLoading(true); try { const result = await createLayoutConfiguration(name.trim()); if (result.success) { toast({ title: "Success", description: "Layout configuration created successfully", }); setOpen(false); setName(""); router.refresh(); } else { toast({ title: "Error", description: result.error, variant: "destructive", }); } } catch { toast({ title: "Error", description: "Failed to create layout configuration", variant: "destructive", }); } finally { setLoading(false); } } return ( Create New Layout Configuration Enter a name for your new layout configuration.
setName(e.target.value)} placeholder="Enter configuration name" disabled={loading} />
); }