From f0a9d3b4da540872295bdb409cbf672bdc092036 Mon Sep 17 00:00:00 2001 From: xCyanGrizzly Date: Mon, 22 Jun 2026 04:48:13 +0200 Subject: [PATCH] feat(stls): click-to-enlarge preview in package files drawer The drawer preview image opens the ImageLightbox; replacing the image stays available via the existing Upload/Pick Preview buttons. No-preview upload affordance unchanged. Co-Authored-By: Claude Opus 4.8 --- .../stls/_components/package-files-drawer.tsx | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/src/app/(app)/stls/_components/package-files-drawer.tsx b/src/app/(app)/stls/_components/package-files-drawer.tsx index cf434a9..71230b2 100644 --- a/src/app/(app)/stls/_components/package-files-drawer.tsx +++ b/src/app/(app)/stls/_components/package-files-drawer.tsx @@ -13,6 +13,7 @@ import { Upload, ImagePlus, Images, + Maximize2, } from "lucide-react"; import { Dialog, @@ -30,6 +31,7 @@ import type { PackageRow } from "./package-columns"; import { SendToTelegramButton } from "./send-to-telegram-button"; import { uploadPackagePreview } from "../actions"; import { ArchivePreviewPicker } from "./archive-preview-picker"; +import { ImageLightbox } from "./image-lightbox"; interface FileItem { id: string; @@ -264,6 +266,7 @@ export function PackageFilesDrawer({ pkg, open, onOpenChange, highlightTerm }: P const [uploading, setUploading] = useState(false); const [localPreviewUrl, setLocalPreviewUrl] = useState(null); const [showPreviewPicker, setShowPreviewPicker] = useState(false); + const [previewLightboxOpen, setPreviewLightboxOpen] = useState(false); const fileInputRef = useRef(null); const handlePreviewUpload = useCallback( @@ -384,9 +387,8 @@ export function PackageFilesDrawer({ pkg, open, onOpenChange, highlightTerm }: P ) : ( @@ -582,6 +580,11 @@ export function PackageFilesDrawer({ pkg, open, onOpenChange, highlightTerm }: P }} /> )} + ); }