From 1e3911ba0afc55f539c31ab1637634c9f1fe9e9a Mon Sep 17 00:00:00 2001
From: "gpt-engineer-app[bot]"
<159125892+gpt-engineer-app[bot]@users.noreply.github.com>
Date: Fri, 27 Feb 2026 03:15:10 +0000
Subject: [PATCH] Code edited in Lovable Code Editor
Edited UI in Lovable
---
src/pages/Viewer.tsx | 111 +++++++++++--------------------------------
1 file changed, 28 insertions(+), 83 deletions(-)
diff --git a/src/pages/Viewer.tsx b/src/pages/Viewer.tsx
index 1b2bb5f..0f3eca9 100644
--- a/src/pages/Viewer.tsx
+++ b/src/pages/Viewer.tsx
@@ -1,46 +1,25 @@
-import { useNavigate } from 'react-router-dom';
-import { ArrowLeft, Glasses, Box, Ruler, FileText, Columns2, Download } from 'lucide-react';
-import { Button } from '@/components/ui/button';
-import { useModelStore } from '@/stores/useModelStore';
-import { ModelViewerCanvas } from '@/components/three/ModelViewer';
-import { ViewerControls } from '@/components/ViewerControls';
-import { InspectionChecklist } from '@/components/InspectionChecklist';
-import { FineTuningControls } from '@/components/FineTuningControls';
-import { MeasurementsList } from '@/components/MeasurementsList';
-import { ScreenshotGallery } from '@/components/ScreenshotGallery';
-import { ComparePanel } from '@/components/ComparePanel';
-import { useEffect, useCallback } from 'react';
-import { toast } from 'sonner';
-import { ScrollArea } from '@/components/ui/scroll-area';
-import { Separator } from '@/components/ui/separator';
-import { generateInspectionReport } from '@/lib/generateReport';
+import { useNavigate } from "react-router-dom";
+import { ArrowLeft, Glasses, Box, Ruler, FileText } from "lucide-react";
+import { Button } from "@/components/ui/button";
+import { useModelStore } from "@/stores/useModelStore";
+import { ModelViewerCanvas } from "@/components/three/ModelViewer";
+import { ViewerControls } from "@/components/ViewerControls";
+import { InspectionChecklist } from "@/components/InspectionChecklist";
+import { FineTuningControls } from "@/components/FineTuningControls";
+import { MeasurementsList } from "@/components/MeasurementsList";
+import { ScreenshotGallery } from "@/components/ScreenshotGallery";
+import { useEffect } from "react";
+import { toast } from "sonner";
+import { ScrollArea } from "@/components/ui/scroll-area";
+import { Separator } from "@/components/ui/separator";
const Viewer = () => {
const navigate = useNavigate();
- const { model, xrSupported, compareMode, setCompareMode, checklist, measurements, screenshots, fineTuning } = useModelStore();
-
- const handleExportPDF = useCallback(async () => {
- if (!model) return;
- toast.info('Gerando relatório PDF…');
- try {
- await generateInspectionReport({
- fileName: model.fileName,
- fileSize: model.fileSize,
- fineTuning,
- checklist,
- measurements,
- screenshots,
- });
- toast.success('Relatório exportado com sucesso!');
- } catch (err) {
- console.error(err);
- toast.error('Erro ao gerar o relatório.');
- }
- }, [model, fineTuning, checklist, measurements, screenshots]);
+ const { model, xrSupported } = useModelStore();
useEffect(() => {
if (!model) {
- navigate('/');
+ navigate("/");
}
}, [model, navigate]);
@@ -48,10 +27,10 @@ const Viewer = () => {
const handleEnterXR = async () => {
if (!xrSupported) {
- toast.error('WebXR não é suportado neste navegador. Use o navegador do Meta Quest 3.');
+ toast.error("WebXR não é suportado neste navegador. Use o navegador do Meta Quest 3.");
return;
}
- navigate('/xr');
+ navigate("/xr");
};
return (
@@ -59,61 +38,30 @@ const Viewer = () => {
{/* Top bar */}
- Use o mouse para orbitar, scroll para zoom. Controle a opacidade e o modo de renderização nos controles flutuantes. + Use o mouse para orbitar, scroll para zoom. Controle a opacidade e o modo de renderização nos + controles flutuantes.