diff --git a/apps/web/src/components/common/review-panel.tsx b/apps/web/src/components/common/review-panel.tsx index d8238b28..18988acd 100644 --- a/apps/web/src/components/common/review-panel.tsx +++ b/apps/web/src/components/common/review-panel.tsx @@ -1,27 +1,17 @@ -import { TOOLS } from "@snapotter/shared"; -import { - ArrowRight, - ChevronDown, - ChevronRight, - Download, - FileImage, - PenTool, - Undo2, -} from "lucide-react"; -import { useMemo, useState } from "react"; -import { Link, useNavigate } from "react-router-dom"; +import { ArrowLeft, CheckCircle2, Download } from "lucide-react"; +import { useMemo } from "react"; +import { Link } from "react-router-dom"; import { useTranslation } from "@/contexts/i18n-context"; import { formatFileSize, triggerDownload } from "@/lib/download"; -import { ICON_MAP } from "@/lib/icon-map"; -import { getSuggestedTools } from "@/lib/suggested-tools"; interface ReviewPanelProps { filename: string; fileSize: number; fileType: string; + originalSize: number; downloadUrl: string; - previewUrl?: string; onUndo: () => void; + onStartOver: () => void; currentToolId: string; } @@ -29,30 +19,18 @@ export function ReviewPanel({ filename, fileSize, fileType, + originalSize, downloadUrl, - previewUrl, onUndo, - currentToolId, + onStartOver, + currentToolId: _currentToolId, }: ReviewPanelProps) { const { t } = useTranslation(); - const [isExpanded, setIsExpanded] = useState(true); - const [isSuggestionsExpanded, setIsSuggestionsExpanded] = useState(true); - const navigate = useNavigate(); - const suggestedToolIds = useMemo(() => getSuggestedTools(currentToolId), [currentToolId]); - - const suggestedTools = useMemo( - () => - suggestedToolIds - .map((id) => TOOLS.find((t) => t.id === id)) - .filter((t): t is (typeof TOOLS)[number] => t !== undefined), - [suggestedToolIds], - ); - - const timestamp = useMemo(() => { - const now = new Date(); - return now.toLocaleTimeString([], { hour: "2-digit", minute: "2-digit" }); - }, []); + const sizeDelta = useMemo(() => { + if (!originalSize || originalSize === 0) return 0; + return Math.round((1 - fileSize / originalSize) * 100); + }, [originalSize, fileSize]); const handleDownload = () => { triggerDownload(downloadUrl, filename); @@ -62,108 +40,80 @@ export function ReviewPanel({
{filename}
-Size: {formatFileSize(fileSize)}
-Type: {fileType}
-Processed: {timestamp}
+ {/* Size delta */} + {originalSize > 0 && ( +