From 4686744fd071a0a43b9aefbe78b6356776708d2a Mon Sep 17 00:00:00 2001 From: kenneth Date: Sun, 5 Oct 2025 13:29:17 +0000 Subject: [PATCH] feat: add file preview in trash page --- .../trash.directories.$directoryId.tsx | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/packages/web/src/routes/_authenticated/_sidebar-layout/trash.directories.$directoryId.tsx b/packages/web/src/routes/_authenticated/_sidebar-layout/trash.directories.$directoryId.tsx index 8f7b79c..4d77019 100644 --- a/packages/web/src/routes/_authenticated/_sidebar-layout/trash.directories.$directoryId.tsx +++ b/packages/web/src/routes/_authenticated/_sidebar-layout/trash.directories.$directoryId.tsx @@ -30,10 +30,12 @@ import { DialogHeader, DialogTitle, } from "@/components/ui/dialog" +import { WithAtom } from "@/components/with-atom" import { DirectoryPageContext } from "@/directories/directory-page/context" import { DirectoryContentTable } from "@/directories/directory-page/directory-content-table" import { DirectoryPageSkeleton } from "@/directories/directory-page/directory-page-skeleton" import { FilePathBreadcrumb } from "@/directories/directory-page/file-path-breadcrumb" +import { FilePreviewDialog } from "@/files/file-preview-dialog" import type { FileDragInfo } from "@/files/use-file-drop" export const Route = createFileRoute( @@ -45,6 +47,7 @@ export const Route = createFileRoute( const contextMenuTargetItemsAtom = atom([]) const fileDragInfoAtom = atom(null) const isDeleteConfirmationDialogOpenAtom = atom(false) +const openedFileAtom = atom | null>(null) const optimisticRemovedItemsAtom = atom( new Set | Id<"directories">>(), ) @@ -63,6 +66,7 @@ function RouteComponent() { }, ) const setContextMenuTargetItems = useSetAtom(contextMenuTargetItemsAtom) + const setOpenedFile = useSetAtom(openedFileAtom) const directoryUrlFn = useCallback( (directory: Doc<"directories">) => @@ -105,12 +109,24 @@ function RouteComponent() { directoryUrlFn={directoryUrlFn} fileDragInfoAtom={fileDragInfoAtom} onContextMenu={handleContextMenuRequest} - onOpenFile={() => {}} + onOpenFile={setOpenedFile} /> + + + {(openedFile, setOpenedFile) => { + if (!openedFile) return null + return ( + setOpenedFile(null)} + /> + ) + }} + ) }