diff --git a/susconecta/app/agendamento/page.tsx b/susconecta/app/agendamento/page.tsx index 9f2a491..0b7248c 100644 --- a/susconecta/app/agendamento/page.tsx +++ b/susconecta/app/agendamento/page.tsx @@ -1,10 +1,10 @@ -// app/agendamento/page.tsx + 'use client'; import { useState } from 'react'; import dynamic from 'next/dynamic'; -// Importação dinâmica para evitar erros de SSR + const AgendaCalendar = dynamic(() => import('@/components/agendamento/AgendaCalendar'), { ssr: false, loading: () => ( @@ -24,7 +24,7 @@ const AgendaCalendar = dynamic(() => import('@/components/agendamento/AgendaCale const AppointmentModal = dynamic(() => import('@/components/agendamento/AppointmentModal'), { ssr: false }); const ListaEspera = dynamic(() => import('@/components/agendamento/ListaEspera'), { ssr: false }); -// Dados mockados + const mockAppointments = [ { id: '1', patient: 'Ana Costa', time: '2025-09-10T09:00', duration: 30, type: 'consulta' as const, status: 'confirmed' as const, professional: '1', notes: '' }, { id: '2', patient: 'Pedro Alves', time: '2025-09-10T10:30', duration: 45, type: 'retorno' as const, status: 'pending' as const, professional: '2', notes: '' }, diff --git a/susconecta/app/dashboard/pacientes/page.tsx b/susconecta/app/dashboard/pacientes/page.tsx index b1d8ff8..106bf4c 100644 --- a/susconecta/app/dashboard/pacientes/page.tsx +++ b/susconecta/app/dashboard/pacientes/page.tsx @@ -1,4 +1,4 @@ -/* src/app/dashboard/pacientes/page.tsx */ + "use client"; import { useEffect, useMemo, useState } from "react"; @@ -11,7 +11,7 @@ import { MoreHorizontal, Plus, Search, Eye, Edit, Trash2, ArrowLeft } from "luci import { Paciente, Endereco, listarPacientes, buscarPacientePorId, excluirPaciente } from "@/lib/api"; import { PatientRegistrationForm } from "@/components/forms/patient-registration-form"; -// Converte qualquer formato que vier do mock para o shape do nosso tipo Paciente + function normalizePaciente(p: any): Paciente { const endereco: Endereco = { cep: p.endereco?.cep ?? p.cep ?? "", @@ -114,7 +114,7 @@ export default function PacientesPage() { const q = search.trim(); if (!q) return loadAll(); - // Se for apenas números, tentamos como ID no servidor + if (/^\d+$/.test(q)) { try { setLoading(true); @@ -130,7 +130,7 @@ export default function PacientesPage() { return; } - // Senão, recarrega e filtra local (o mock nem sempre filtra por nome/CPF) + await loadAll(); setTimeout(() => setSearch(q), 0); } @@ -161,7 +161,7 @@ export default function PacientesPage() { return (
- {/* Cabeçalho + Busca (um único input no padrão do print) */} + {}

Pacientes

diff --git a/susconecta/app/profissional/page.tsx b/susconecta/app/profissional/page.tsx index bd5082f..6211e23 100644 --- a/susconecta/app/profissional/page.tsx +++ b/susconecta/app/profissional/page.tsx @@ -31,7 +31,7 @@ import { TooltipTrigger, } from "@/components/ui/tooltip"; -// Importações do FullCalendar + import dynamic from "next/dynamic"; import dayGridPlugin from "@fullcalendar/daygrid"; import timeGridPlugin from "@fullcalendar/timegrid"; @@ -54,7 +54,7 @@ const medico = { fotoUrl: "", } -// Tipos de consulta com cores + const colorsByType = { Rotina: "#4dabf7", Cardiologia: "#f76c6c", @@ -116,7 +116,7 @@ const ProfissionalPage = () => { setPacienteSelecionado(null); }; - // Clicar em um dia -> abrir popup 3 etapas + const handleDateClick = (arg: any) => { setSelectedDate(arg.dateStr); setNewEvent({ title: "", type: "", time: "", pacienteId: "" }); @@ -125,7 +125,7 @@ const ProfissionalPage = () => { setShowPopup(true); }; - // Adicionar nova consulta + const handleAddEvent = () => { const paciente = pacientes.find(p => p.nome === newEvent.title); const eventToAdd = { @@ -141,7 +141,7 @@ const ProfissionalPage = () => { setShowPopup(false); }; - // Editar consulta existente + const handleEditEvent = () => { setEvents((prevEvents) => prevEvents.map((ev) => @@ -161,19 +161,19 @@ const ProfissionalPage = () => { setShowActionModal(false); }; - // Próxima etapa no popup + const handleNextStep = () => { if (step < 3) setStep(step + 1); else editingEvent ? handleEditEvent() : handleAddEvent(); }; - // Clicar em uma consulta -> abre modal de ação (Editar/Apagar) + const handleEventClick = (clickInfo: any) => { setSelectedEvent(clickInfo.event); setShowActionModal(true); }; - // Apagar consulta + const handleDeleteEvent = () => { if (!selectedEvent) return; setEvents((prevEvents) => @@ -182,7 +182,7 @@ const ProfissionalPage = () => { setShowActionModal(false); }; - // Começar a editar + const handleStartEdit = () => { if (!selectedEvent) return; setEditingEvent(selectedEvent); @@ -197,7 +197,7 @@ const ProfissionalPage = () => { setShowPopup(true); }; - // Aparência da consulta dentro do calendário + const renderEventContent = (eventInfo: any) => { const bg = eventInfo.event.backgroundColor || eventInfo.event.extendedProps?.color || "#4dabf7"; @@ -241,7 +241,7 @@ const ProfissionalPage = () => {
- {/* Sidebar */} + {}
- {/* POPUP 3 etapas (Adicionar/Editar) */} + {} {showPopup && (
@@ -713,7 +713,7 @@ const ProfissionalPage = () => {
)} - {/* MODAL de ação ao clicar em consulta */} + {} {showActionModal && selectedEvent && (
diff --git a/susconecta/components/about-section.tsx b/susconecta/components/about-section.tsx index 1b18ef8..bc84654 100644 --- a/susconecta/components/about-section.tsx +++ b/susconecta/components/about-section.tsx @@ -8,9 +8,9 @@ export function AboutSection() {
- {/* Left Content */} + {}
- {/* Professional Image */} + {}
- {/* Objective Card */} + {}
@@ -36,7 +36,7 @@ export function AboutSection() {
- {/* Right Content */} + {}
diff --git a/susconecta/components/agenda/page.tsx b/susconecta/components/agenda/page.tsx index c247a88..2117f9f 100644 --- a/susconecta/components/agenda/page.tsx +++ b/susconecta/components/agenda/page.tsx @@ -1,10 +1,10 @@ -// app/agenda/page.tsx + 'use client'; import { useState } from 'react'; import { AgendaCalendar, AppointmentModal, ListaEspera } from '@/components/agendamento'; -// Dados mockados - substitua pelos seus dados reais + const mockAppointments = [ { id: '1', patient: 'Ana Costa', time: '2025-09-10T09:00', duration: 30, type: 'consulta' as const, status: 'confirmed' as const, professional: '1', notes: '' }, { id: '2', patient: 'Pedro Alves', time: '2025-09-10T10:30', duration: 45, type: 'retorno' as const, status: 'pending' as const, professional: '2', notes: '' }, @@ -32,10 +32,10 @@ export default function AgendaPage() { const handleSaveAppointment = (appointment: any) => { if (appointment.id) { - // Editar agendamento existente + setAppointments(prev => prev.map(a => a.id === appointment.id ? appointment : a)); } else { - // Novo agendamento + const newAppointment = { ...appointment, id: Date.now().toString(), @@ -60,7 +60,7 @@ export default function AgendaPage() { }; const handleNotifyPatient = (patientId: string) => { - // Lógica para notificar paciente + console.log(`Notificando paciente ${patientId}`); }; diff --git a/susconecta/components/agendamento/AgendaCalendar.tsx b/susconecta/components/agendamento/AgendaCalendar.tsx index a135d11..da0abe1 100644 --- a/susconecta/components/agendamento/AgendaCalendar.tsx +++ b/susconecta/components/agendamento/AgendaCalendar.tsx @@ -1,4 +1,4 @@ -// components/agendamento/AgendaCalendar.tsx (atualizado) + 'use client'; import { useState } from 'react'; @@ -86,7 +86,7 @@ export default function AgendaCalendar({ setCurrentDate(new Date()); }; - // Filtra os agendamentos por profissional selecionado + const filteredAppointments = selectedProfessional === 'all' ? appointments : appointments.filter(app => app.professional === selectedProfessional); @@ -187,7 +187,7 @@ export default function AgendaCalendar({
- {/* Visualização de Dia/Semana (calendário) */} + {} {view !== 'month' && (
@@ -256,7 +256,7 @@ export default function AgendaCalendar({
)} - {/* Visualização de Mês (lista) */} + {} {view === 'month' && (
diff --git a/susconecta/components/agendamento/ListaEspera.tsx b/susconecta/components/agendamento/ListaEspera.tsx index 4c8b7f5..bc9da0c 100644 --- a/susconecta/components/agendamento/ListaEspera.tsx +++ b/susconecta/components/agendamento/ListaEspera.tsx @@ -1,4 +1,4 @@ -// components/agendamento/ListaEspera.tsx + 'use client'; import { useState } from 'react'; diff --git a/susconecta/components/footer.tsx b/susconecta/components/footer.tsx index c7ecb78..b8bfcb1 100644 --- a/susconecta/components/footer.tsx +++ b/susconecta/components/footer.tsx @@ -12,10 +12,10 @@ export function Footer() {