From 47fb573f56e367fb786674508b5c24c464681c50 Mon Sep 17 00:00:00 2001 From: M-Gabrielly Date: Thu, 25 Sep 2025 20:42:55 -0300 Subject: [PATCH] chore(profissional) Safety check before refactoring the report editor --- susconecta/app/profissional/page.tsx | 51 +- susconecta/package-lock.json | 491 ------------------- susconecta/package.json | 1 - susconecta/types/react-signature-canvas.d.ts | 31 +- 4 files changed, 50 insertions(+), 524 deletions(-) diff --git a/susconecta/app/profissional/page.tsx b/susconecta/app/profissional/page.tsx index 1625bce..54e8793 100644 --- a/susconecta/app/profissional/page.tsx +++ b/susconecta/app/profissional/page.tsx @@ -1,10 +1,11 @@ -"use client"; - +import type SignatureCanvasType from "react-signature-canvas"; import React, { useState, useRef } from "react"; -import SignatureCanvas from "react-signature-canvas"; -import ReactQuill from "react-quill"; -import "react-quill/dist/quill.snow.css"; +import dynamic from "next/dynamic"; + import Link from "next/link"; + +const SignatureCanvas = dynamic(() => import("react-signature-canvas"), { ssr: false }); + import ProtectedRoute from "@/components/ProtectedRoute"; import { useAuth } from "@/hooks/useAuth"; import { Button } from "@/components/ui/button"; @@ -36,8 +37,6 @@ import { TooltipTrigger, } from "@/components/ui/tooltip"; - -import dynamic from "next/dynamic"; import dayGridPlugin from "@fullcalendar/daygrid"; import timeGridPlugin from "@fullcalendar/timegrid"; import interactionPlugin from "@fullcalendar/interaction"; @@ -74,7 +73,6 @@ const ProfissionalPage = () => { const [activeSection, setActiveSection] = useState('calendario'); const [pacienteSelecionado, setPacienteSelecionado] = useState(null); - // Estados para o perfil do médico const [isEditingProfile, setIsEditingProfile] = useState(false); const [profileData, setProfileData] = useState({ nome: "Dr. Carlos Andrade", @@ -177,7 +175,7 @@ const ProfissionalPage = () => { }); }; - // Filtrar eventos do dia atual + const getTodayEvents = () => { const today = currentCalendarDate.toISOString().split('T')[0]; return events @@ -189,7 +187,7 @@ const ProfissionalPage = () => { return colorsByType[type as keyof typeof colorsByType] || "#4dabf7"; }; - // Funções para o perfil + const handleProfileChange = (field: string, value: string) => { setProfileData(prev => ({ ...prev, @@ -312,7 +310,6 @@ const ProfissionalPage = () => { ); }; - const renderCalendarioSection = () => { const todayEvents = getTodayEvents(); @@ -323,7 +320,6 @@ const ProfissionalPage = () => {

Agenda do Dia

- {/* Navegação de Data */}
- {/* Lista de Pacientes do Dia */}
{todayEvents.length === 0 ? (
@@ -570,14 +565,14 @@ const ProfissionalPage = () => { ); -// --- LaudoEditor COMPONENT --- + function LaudoEditor() { const [conteudo, setConteudo] = useState(""); const [paciente, setPaciente] = useState(""); const [cpf, setCpf] = useState(""); const [imagem, setImagem] = useState(null); const [assinatura, setAssinatura] = useState(null); - const sigCanvasRef = useRef(null); + const sigCanvasRef = useRef(null); const [idade, setIdade] = useState(""); const [sexo, setSexo] = useState(""); const [cid, setCid] = useState(""); @@ -637,15 +632,15 @@ function LaudoEditor() {
{ sigCanvasRef.current = node; }} penColor="#0f172a" backgroundColor="#fff" canvasProps={{ width: 300, height: 100, className: "rounded border bg-white" }} - onEnd={() => setAssinatura(sigCanvasRef.current?.isEmpty() ? null : sigCanvasRef.current?.toDataURL())} + onEnd={() => setAssinatura(sigCanvasRef.current?.isEmpty() ? null : sigCanvasRef.current?.toDataURL() ?? null)} />
- +
{assinatura && ( Assinatura @@ -661,15 +656,12 @@ function LaudoEditor() {

Editor de Laudo

{!preview ? ( - +