import { useState } from 'react' import { SkillLevelSelect } from '@/components/SkillLevelBadge' import { Button } from '@/components/ui/button' import { Card, CardContent } from '@/components/ui/card' import { Save } from 'lucide-react' export function SkillMemberForm({ member, categories, skills, levels, isAdmin, currentUserId, onSave }) { const canEdit = isAdmin || currentUserId === member.id const initial = {} skills.forEach((s) => { const key = `${member.id}-${s.id}` initial[s.id] = levels[key]?.level || 0 }) const [editedLevels, setEditedLevels] = useState(initial) const hasChanges = skills.some((s) => { const key = `${member.id}-${s.id}` return (editedLevels[s.id] || 0) !== (levels[key]?.level || 0) }) function handleSave() { const changes = [] skills.forEach((s) => { const key = `${member.id}-${s.id}` const current = levels[key]?.level || 0 const edited = editedLevels[s.id] || 0 if (edited !== current) { changes.push({ skillId: s.id, oldLevel: current || null, newLevel: edited }) } }) if (changes.length > 0) onSave(member.id, changes) } return (
Modification des compétences de {member.full_name || member.email}
{categories.map((cat) => { const catSkills = skills.filter((s) => s.category_id === cat.id) if (catSkills.length === 0) return null return (