diff --git a/susconecta/app/paciente/page.tsx b/susconecta/app/paciente/page.tsx index 6f658f6..f7ab954 100644 --- a/susconecta/app/paciente/page.tsx +++ b/susconecta/app/paciente/page.tsx @@ -10,10 +10,11 @@ import { Card, CardContent, CardHeader, CardTitle } from '@/components/ui/card' import { Input } from '@/components/ui/input' import { Label } from '@/components/ui/label' import { Textarea } from '@/components/ui/textarea' -import { Avatar, AvatarFallback } from '@/components/ui/avatar' +import { Avatar, AvatarFallback, AvatarImage } from '@/components/ui/avatar' import { User, LogOut, Calendar, FileText, MessageCircle, UserCog, Home, Clock, FolderOpen, ChevronLeft, ChevronRight, MapPin, Stethoscope } from 'lucide-react' import { SimpleThemeToggle } from '@/components/ui/simple-theme-toggle' import { UploadAvatar } from '@/components/ui/upload-avatar' +import { useAvatarUrl } from '@/hooks/useAvatarUrl' import Link from 'next/link' import ProtectedRoute from '@/components/shared/ProtectedRoute' import { useAuth } from '@/hooks/useAuth' @@ -91,6 +92,9 @@ export default function PacientePage() { }) const [patientId, setPatientId] = useState(null) + // Hook para carregar automaticamente o avatar do paciente + const { avatarUrl: retrievedAvatarUrl } = useAvatarUrl(patientId) + // Load authoritative patient row for the logged-in user (prefer user_id lookup) useEffect(() => { let mounted = true @@ -236,6 +240,16 @@ export default function PacientePage() { // eslint-disable-next-line react-hooks/exhaustive-deps }, [user?.id, user?.email]) + // Sincroniza a URL do avatar recuperada com o profileData + useEffect(() => { + if (retrievedAvatarUrl) { + setProfileData((prev: any) => ({ + ...prev, + foto_url: retrievedAvatarUrl + })) + } + }, [retrievedAvatarUrl]) + const handleProfileChange = (field: string, value: string) => { setProfileData((prev: any) => ({ ...prev, [field]: value })) } @@ -1736,6 +1750,7 @@ export default function PacientePage() { ) : (
+ {profileData.nome?.split(' ').map((n: string) => n[0]).join('').toUpperCase().slice(0, 2) || 'PC'} @@ -1763,6 +1778,7 @@ export default function PacientePage() {
+ {profileData.nome?.charAt(0) || 'P'}
diff --git a/susconecta/app/profissional/page.tsx b/susconecta/app/profissional/page.tsx index 63db4e5..c3c362d 100644 --- a/susconecta/app/profissional/page.tsx +++ b/susconecta/app/profissional/page.tsx @@ -2747,35 +2747,6 @@ const ProfissionalPage = () => { {smsSending ? 'Enviando...' : 'Enviar SMS'}
- - {/* Respostas do paciente */} -
-
-

Ăšltimas respostas do paciente

-
- -
-
- - {commResponsesLoading ? ( -
Carregando respostas...
- ) : commResponsesError ? ( -
{commResponsesError}
- ) : (commResponses && commResponses.length) ? ( -
- {commResponses.map((m:any) => ( -
-
{m.created_at ? new Date(m.created_at).toLocaleString() : ''}
-
{m.body ?? m.content ?? m.message ?? '-'}
-
- ))} -
- ) : ( -
Nenhuma resposta encontrada para o paciente selecionado.
- )} -