"use client"; import { Button } from "@/components/ui/button"; import { Input } from "@/components/ui/input"; import { Label } from "@/components/ui/label"; import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue, } from "@/components/ui/select"; import { Textarea } from "@/components/ui/textarea"; import { Dialog, DialogContent, DialogHeader, DialogTitle, } from "@/components/ui/dialog"; import { SkillCategory } from "@/lib/types"; interface SkillFormData { name: string; categoryId: string; description: string; icon: string; } interface SkillFormDialogProps { isOpen: boolean; onClose: () => void; onSubmit: () => void; title: string; formData: SkillFormData; onFormDataChange: (data: SkillFormData) => void; skillCategories: SkillCategory[]; isSubmitting?: boolean; } export function SkillFormDialog({ isOpen, onClose, onSubmit, title, formData, onFormDataChange, skillCategories, isSubmitting = false, }: SkillFormDialogProps) { const handleInputChange = (field: keyof SkillFormData, value: string) => { onFormDataChange({ ...formData, [field]: value }); }; return ( {title}
handleInputChange("name", e.target.value)} placeholder="Ex: React, Node.js, PostgreSQL" />