From 6b293a2799391177c65580745d6d39c6158dda1b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jo=C3=A3o=20Gustavo?= <166467972+JoaoGustavo-dev@users.noreply.github.com> Date: Mon, 10 Nov 2025 23:37:57 -0300 Subject: [PATCH] add-import-image --- susconecta/app/laudos/[id]/editar/page.tsx | 78 +++++++++++++++++++++- 1 file changed, 77 insertions(+), 1 deletion(-) diff --git a/susconecta/app/laudos/[id]/editar/page.tsx b/susconecta/app/laudos/[id]/editar/page.tsx index e1e7d2f..a52160d 100644 --- a/susconecta/app/laudos/[id]/editar/page.tsx +++ b/susconecta/app/laudos/[id]/editar/page.tsx @@ -12,7 +12,7 @@ import { Input } from '@/components/ui/input'; import { Label } from '@/components/ui/label'; import { Textarea } from '@/components/ui/textarea'; import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuTrigger } from '@/components/ui/dropdown-menu'; -import { FileText, Settings, Eye, ArrowLeft, BookOpen } from 'lucide-react'; +import { FileText, Settings, Eye, ArrowLeft, BookOpen, Upload } from 'lucide-react'; export default function EditarLaudoPage() { const router = useRouter(); @@ -30,6 +30,9 @@ export default function EditarLaudoPage() { const [showPreview, setShowPreview] = useState(false); const [loading, setLoading] = useState(true); + // Imagens + const [imagens, setImagens] = useState([]); + // Campos do laudo const [campos, setCampos] = useState({ cid: '', @@ -246,6 +249,25 @@ export default function EditarLaudoPage() { } }; + const handleImageUpload = (e: React.ChangeEvent) => { + const files = Array.from(e.target.files || []); + files.forEach((file) => { + const reader = new FileReader(); + reader.onload = (e) => { + setImagens((prev) => [ + ...prev, + { + id: Date.now() + Math.random(), + name: file.name, + url: e.target?.result, + type: file.type, + }, + ]); + }; + reader.readAsDataURL(file); + }); + }; + const processContent = (content: string) => { return content .replace(/\*\*(.*?)\*\*/g, '$1') @@ -286,6 +308,7 @@ export default function EditarLaudoPage() { content_json: {}, hide_date: !campos.mostrarData, hide_signature: !campos.mostrarAssinatura, + imagens, }; if (updateExistingReport) { @@ -367,6 +390,17 @@ export default function EditarLaudoPage() { Editor + + + ))} + + + )} + {/* Campos Tab */} {activeTab === 'campos' && (