diff --git a/src/components/doclist/DocumentListItem.tsx b/src/components/doclist/DocumentListItem.tsx index 674f417..03fc199 100644 --- a/src/components/doclist/DocumentListItem.tsx +++ b/src/components/doclist/DocumentListItem.tsx @@ -1,7 +1,9 @@ import Link from 'next/link'; -import { DragEvent } from 'react'; +import { DragEvent, useState } from 'react'; +import { useRouter } from 'next/navigation'; import { Button } from '@headlessui/react'; import { PDFIcon, EPUBIcon, FileIcon } from '@/components/icons/Icons'; +import { LoadingSpinner } from '@/components/Spinner'; import { DocumentListDocument } from '@/types/documents'; interface DocumentListItemProps { @@ -27,10 +29,19 @@ export function DocumentListItem({ onDrop, isDropTarget = false, }: DocumentListItemProps) { + const [loading, setLoading] = useState(false); + const router = useRouter(); + // Only allow drag and drop interactions for documents not in folders const isDraggable = dragEnabled && !doc.folderId; const allowDropTarget = !doc.folderId; + const handleDocumentClick = (e: React.MouseEvent) => { + e.preventDefault(); + setLoading(true); + router.push(`/${doc.type}/${encodeURIComponent(doc.id)}`); + }; + return (