From 1567bf02f3272e1a52318e8845babaf7dae2295c Mon Sep 17 00:00:00 2001 From: Thomas Date: Thu, 5 Jun 2025 20:34:23 +0200 Subject: [PATCH 1/2] Using Links for Folders --- README.md | 2 +- src/app/drive-contents.tsx | 48 +++++++++----------------------------- src/app/file-row.tsx | 14 +++++------ 3 files changed, 18 insertions(+), 46 deletions(-) diff --git a/README.md b/README.md index c0bccca..54649a9 100644 --- a/README.md +++ b/README.md @@ -103,6 +103,6 @@ Just finished up the database connection, next steps: The database and UI are now connected, some improvements to make: -- [ ] Change folders to link components, remove all client state +- [x] Change folders to link components, remove all client state - [ ] Clean up the database and data fetching patterns - [ ] Real homepage diff --git a/src/app/drive-contents.tsx b/src/app/drive-contents.tsx index c7e3d71..b889d69 100644 --- a/src/app/drive-contents.tsx +++ b/src/app/drive-contents.tsx @@ -1,38 +1,21 @@ "use client"; import { ChevronRight, Upload } from "lucide-react"; -import { useMemo, useState } from "react"; +import Link from "next/link"; import { Button } from "~/components/ui/button"; import type { files, folders } from "~/server/db/schema"; + import { FileRow, FolderRow } from "./file-row"; export default function DriveContents(props: { files: (typeof files.$inferSelect)[]; folders: (typeof folders.$inferSelect)[]; }) { - const [currentFolder, setCurrentFolder] = useState(1); - - const handleFolderClick = (folderId: number) => { - setCurrentFolder(folderId); - }; - - const breadcrumbs = useMemo(() => { - const breadcrumbs = []; - let currentId = currentFolder; - - while (currentId !== 1) { - const folder = props.folders.find((file) => file.id === currentId); - if (folder) { - breadcrumbs.unshift(folder); - currentId = folder.parent ?? 1; - } else { - break; - } - } + + - return breadcrumbs; - }, [currentFolder, props.folders]); + const breadcrumbs: unknown[] = []; const handleUpload = () => { alert("Upload functionality would be implemented here"); @@ -43,23 +26,18 @@ export default function DriveContents(props: {
- + {breadcrumbs.map((folder) => (
- +
))}
@@ -81,11 +59,7 @@ export default function DriveContents(props: {