import React, { useState } from 'react'; import { Card, CardContent, CardHeader, CardTitle } from '@/components/ui/card'; import { Button } from '@/components/ui/button'; import { Textarea } from '@/components/ui/textarea'; import { Badge } from '@/components/ui/badge'; import { Input } from '@/components/ui/input'; import { Label } from '@/components/ui/label'; import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from '@/components/ui/select'; import { MessageSquare, Send, Clock, CheckCircle, XCircle, User, Calendar, History } from 'lucide-react'; import { useSugestoes } from '@/hooks/useSugestoes'; import { useUserRole } from '@/hooks/useUserRole'; import { format, parseISO } from 'date-fns'; import { ptBR } from 'date-fns/locale'; import HistoricoSugestoes from '@/components/sugestoes/HistoricoSugestoes'; const Sugestoes = () => { const { sugestoes, sugestoesArquivadas, loading, loadingArchived, createSugestao, updateSugestao, isCreating } = useSugestoes(); const { isAdmin } = useUserRole(); const [novaSugestao, setNovaSugestao] = useState(''); const [editingNotes, setEditingNotes] = useState<{ [key: string]: string }>({}); const [showHistorico, setShowHistorico] = useState(false); const handleSubmit = (e: React.FormEvent) => { e.preventDefault(); if (novaSugestao.trim()) { createSugestao(novaSugestao.trim()); setNovaSugestao(''); } }; const handleStatusChange = (id: string, newStatus: string) => { const notes = editingNotes[id] || ''; updateSugestao(id, newStatus, notes); }; const handleNotesChange = (id: string, notes: string) => { setEditingNotes(prev => ({ ...prev, [id]: notes })); }; const getStatusIcon = (status: string) => { switch (status) { case 'Implementada': return ; case 'Rejeitada': return ; default: return ; } }; const getStatusColor = (status: string) => { switch (status) { case 'Implementada': return 'bg-green-50 text-green-700 border-green-200'; case 'Rejeitada': return 'bg-red-50 text-red-700 border-red-200'; default: return 'bg-yellow-50 text-yellow-700 border-yellow-200'; } }; if (loading) { return (
Carregando sugestões...
); } return (

Sugestões de Melhoria

Compartilhe suas ideias para melhorar o sistema

{sugestoes.length} {sugestoes.length === 1 ? 'sugestão' : 'sugestões'}
{/* Formulário para nova sugestão */} Nova Sugestão