import React, { useState, useEffect } from 'react'; import { Dialog, DialogContent, DialogHeader, DialogTitle } from '@/components/ui/dialog'; 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 { useAtribuicoes } from '@/hooks/useAtribuicoes'; interface AtribuicaoEditModalProps { atribuicao: any; isOpen: boolean; onClose: () => void; } export function AtribuicaoEditModal({ atribuicao, isOpen, onClose }: AtribuicaoEditModalProps) { const { updateAtribuicao, updateUserAbbrev, canManage } = useAtribuicoes(); const [formData, setFormData] = useState({ user_abbrev: '', attribution: '', frequency: '', method: '', client: '', importance: '', duration: '' }); useEffect(() => { if (atribuicao) { setFormData({ user_abbrev: atribuicao.user_abbrev || '', attribution: atribuicao.attribution || '', frequency: atribuicao.frequency || '', method: atribuicao.method || '', client: atribuicao.client || '', importance: atribuicao.importance || '', duration: atribuicao.duration || '' }); } }, [atribuicao]); const handleSave = async () => { if (!atribuicao) return; // Atualizar identificação se mudou if (formData.user_abbrev !== atribuicao.user_abbrev) { await updateUserAbbrev(atribuicao.user_id, formData.user_abbrev); } // Atualizar atribuição await updateAtribuicao(atribuicao.id, { attribution: formData.attribution, frequency: formData.frequency as any, method: formData.method as any, client: formData.client as any, importance: formData.importance as any, duration: formData.duration as any }); onClose(); }; return ( Editar Atribuição
setFormData({ ...formData, user_abbrev: e.target.value.toUpperCase().substring(0, 3) })} maxLength={3} disabled={!canManage} />