fix: hide size comparison percentage on non-compression tools

Only show "X% smaller/larger" badges on compress and optimize-for-web
where file size reduction is the goal. All other tools no longer display
irrelevant size percentage data in the results pane.
This commit is contained in:
SnapOtter
2026-05-18 10:08:19 +08:00
parent 8ea4399739
commit d978ae211b
+8 -18
View File
@@ -167,6 +167,7 @@ export function ToolPage() {
return featureBundles.find((b) => b.id === bundleId) ?? null;
}, [toolId, featureBundles]);
const toolInstalled = featureBundle ? featureBundle.status === "installed" : !isAiTool;
const showSizeComparison = toolId === "compress" || toolId === "optimize-for-web";
const { hasPermission } = useAuth();
const isAdmin = hasPermission("settings:write");
@@ -525,8 +526,8 @@ export function ToolPage() {
<BeforeAfterSlider
beforeSrc={originalBlobUrl}
afterSrc={displayUrl}
beforeSize={originalSize ?? undefined}
afterSize={processedSize ?? undefined}
beforeSize={showSizeComparison ? (originalSize ?? undefined) : undefined}
afterSize={showSizeComparison ? (processedSize ?? undefined) : undefined}
initialPosition={eraserSliderInitPos ?? 50}
/>
);
@@ -576,8 +577,8 @@ export function ToolPage() {
<SideBySideComparison
beforeSrc={originalBlobUrl}
afterSrc={displayUrl}
beforeSize={originalSize ?? undefined}
afterSize={processedSize ?? undefined}
beforeSize={showSizeComparison ? (originalSize ?? undefined) : undefined}
afterSize={showSizeComparison ? (processedSize ?? undefined) : undefined}
/>
);
}
@@ -609,24 +610,13 @@ export function ToolPage() {
}
if (hasProcessed && originalBlobUrl) {
// When bg preview state is set (remove-background effects mode),
// show the ImageViewer with layered CSS preview instead of before/after slider
if (bgPreview) {
return (
<ImageViewer
src={displayUrl}
filename={processedFileName}
fileSize={processedSize ?? 0}
bgPreview={bgPreview}
/>
);
}
return (
<BeforeAfterSlider
beforeSrc={originalBlobUrl}
afterSrc={displayUrl}
beforeSize={originalSize ?? undefined}
afterSize={processedSize ?? undefined}
beforeSize={showSizeComparison ? (originalSize ?? undefined) : undefined}
afterSize={showSizeComparison ? (processedSize ?? undefined) : undefined}
bgPreview={bgPreview}
/>
);
}