import { useState, useEffect } from "react"; import { X } from "lucide-react"; import { Dialog, DialogContent, DialogHeader, DialogTitle, DialogDescription, DialogFooter, } from "@/components/ui/dialog"; import { Button } from "@/components/ui/button"; import { Input } from "@/components/ui/input"; import { createBoard, createBoardFromTemplate } from "@/lib/board-factory"; import { saveBoard, listTemplates, deleteTemplate } from "@/lib/storage"; import { useAppStore } from "@/stores/app-store"; import { useBoardStore } from "@/stores/board-store"; import type { BoardTemplate } from "@/types/template"; const PRESET_COLORS = [ "#6366f1", // indigo "#8b5cf6", // violet "#ec4899", // pink "#f43f5e", // rose "#f97316", // orange "#eab308", // yellow "#22c55e", // green "#06b6d4", // cyan ]; type Template = "blank" | "kanban" | "sprint"; interface NewBoardDialogProps { open: boolean; onOpenChange: (open: boolean) => void; } export function NewBoardDialog({ open, onOpenChange }: NewBoardDialogProps) { const [title, setTitle] = useState(""); const [color, setColor] = useState(PRESET_COLORS[0]); const [template, setTemplate] = useState