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..c1fa4da 100644 --- a/src/app/drive-contents.tsx +++ b/src/app/drive-contents.tsx @@ -1,39 +1,18 @@ "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)[]; + parents: (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 handleUpload = () => { alert("Upload functionality would be implemented here"); }; @@ -43,23 +22,18 @@ export default function DriveContents(props: {
- - {breadcrumbs.map((folder) => ( + + {props.parents.map((folder) => (
- +
))}
@@ -81,11 +55,7 @@ export default function DriveContents(props: {