Changes
This commit is contained in:
+32
-3
@@ -1,5 +1,5 @@
|
||||
import { useNavigate } from 'react-router-dom';
|
||||
import { ArrowLeft, Glasses, Box, Ruler, FileText, Columns2 } from 'lucide-react';
|
||||
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';
|
||||
@@ -9,14 +9,34 @@ import { FineTuningControls } from '@/components/FineTuningControls';
|
||||
import { MeasurementsList } from '@/components/MeasurementsList';
|
||||
import { ScreenshotGallery } from '@/components/ScreenshotGallery';
|
||||
import { ComparePanel } from '@/components/ComparePanel';
|
||||
import { useEffect } from 'react';
|
||||
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';
|
||||
|
||||
const Viewer = () => {
|
||||
const navigate = useNavigate();
|
||||
const { model, xrSupported, compareMode, setCompareMode } = useModelStore();
|
||||
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]);
|
||||
|
||||
useEffect(() => {
|
||||
if (!model) {
|
||||
@@ -51,6 +71,15 @@ const Viewer = () => {
|
||||
</div>
|
||||
|
||||
<div className="flex items-center gap-2">
|
||||
<Button
|
||||
variant="outline"
|
||||
size="sm"
|
||||
className="gap-2"
|
||||
onClick={handleExportPDF}
|
||||
>
|
||||
<Download className="h-4 w-4" />
|
||||
Exportar PDF
|
||||
</Button>
|
||||
<Button
|
||||
variant={compareMode ? 'default' : 'outline'}
|
||||
size="sm"
|
||||
|
||||
Reference in New Issue
Block a user