import { useState } from 'react' import { supabase } from '@/lib/supabase' import { useCategories } from '@/hooks/useCategories' import { useSkills } from '@/hooks/useSkills' import { Button } from '@/components/ui/button' import { Input } from '@/components/ui/input' import { Dialog, DialogContent, DialogHeader, DialogTitle, DialogTrigger } from '@/components/ui/dialog' import { CategoryCard } from '@/components/skills/CategoryCard' import { Search } from 'lucide-react' import { toast } from 'sonner' export function Skills() { const { categories, refetch: refetchCats } = useCategories() const { skills, refetch: refetchSkills } = useSkills() const [search, setSearch] = useState('') const [newCatName, setNewCatName] = useState('') const [newCatColor, setNewCatColor] = useState('#3b82f6') const [editCat, setEditCat] = useState(null) const [newSkill, setNewSkill] = useState({ name: '', category_id: '' }) const [catDialogOpen, setCatDialogOpen] = useState(false) const [skillDialogOpen, setSkillDialogOpen] = useState(false) async function saveCategory() { if (editCat) { const { error } = await supabase.from('categories').update({ name: newCatName, color: newCatColor }).eq('id', editCat) if (error) { toast.error(error.message); return } } else { const { error } = await supabase.from('categories').insert({ name: newCatName, color: newCatColor }) if (error) { toast.error(error.message); return } } setCatDialogOpen(false) setEditCat(null) setNewCatName('') refetchCats() toast.success('Catégorie enregistrée') } async function deleteCategory(id) { const { error } = await supabase.from('categories').delete().eq('id', id) if (error) toast.error(error.message) else { refetchCats(); toast.success('Catégorie supprimée') } } async function saveSkill() { const { error } = await supabase.from('skills').insert({ name: newSkill.name, category_id: newSkill.category_id }) if (error) { toast.error(error.message); return } setSkillDialogOpen(false) setNewSkill({ name: '', category_id: '' }) refetchSkills() toast.success('Compétence ajoutée') } function openEditCategory(cat) { setEditCat(cat.id) setNewCatName(cat.name) setNewCatColor(cat.color) setCatDialogOpen(true) } return (