mirror of
https://github.com/hanzo-apps/dataroom.git
synced 2026-10-30 14:47:36 +00:00
75 lines
2.5 KiB
TypeScript
75 lines
2.5 KiB
TypeScript
import { useRouter } from "next/router";
|
|
|
|
import { useTeam } from "@/context/team-context";
|
|
import { FolderPlusIcon, PlusIcon } from "lucide-react";
|
|
|
|
import { AddDocumentModal } from "@/components/documents/add-document-modal";
|
|
import { DocumentsList } from "@/components/documents/documents-list";
|
|
import { AddFolderModal } from "@/components/folders/add-folder-modal";
|
|
import AppLayout from "@/components/layouts/app";
|
|
import { Button } from "@/components/ui/button";
|
|
import { Separator } from "@/components/ui/separator";
|
|
|
|
import { useFolder, useFolderDocuments } from "@/lib/swr/use-documents";
|
|
|
|
export default function DocumentTreePage() {
|
|
const router = useRouter();
|
|
const { name } = router.query as { name: string[] };
|
|
|
|
const { folders, loading: foldersLoading } = useFolder({ name });
|
|
const { documents, loading } = useFolderDocuments({ name });
|
|
const teamInfo = useTeam();
|
|
|
|
return (
|
|
<AppLayout>
|
|
<main className="p-4 sm:m-4 sm:px-4 sm:py-4">
|
|
<section className="mb-4 mt-4 flex items-center justify-between md:mb-8 lg:mb-12">
|
|
<div className="space-y-1">
|
|
<h2 className="text-xl font-semibold tracking-tight text-foreground sm:text-2xl">
|
|
All Documents
|
|
</h2>
|
|
<p className="text-xs text-muted-foreground sm:text-sm">
|
|
Manage all your documents in one place.
|
|
</p>
|
|
</div>
|
|
<div className="flex items-center gap-x-2">
|
|
<AddDocumentModal>
|
|
<Button className="gap-x-3 px-3" title="Add Document">
|
|
<PlusIcon className="h-5 w-5 shrink-0" aria-hidden="true" />
|
|
<span>Add Document</span>
|
|
</Button>
|
|
</AddDocumentModal>
|
|
<AddFolderModal>
|
|
<Button
|
|
// size="icon"
|
|
variant="outline"
|
|
className="gap-x-3 px-3"
|
|
>
|
|
<FolderPlusIcon
|
|
className="h-5 w-5 shrink-0"
|
|
aria-hidden="true"
|
|
/>
|
|
<span>Add Folder</span>
|
|
</Button>
|
|
</AddFolderModal>
|
|
</div>
|
|
</section>
|
|
|
|
{/* Portaled in from DocumentsList component */}
|
|
<section id="documents-header-count" />
|
|
|
|
<Separator className="mb-5 bg-gray-200 dark:bg-gray-800" />
|
|
|
|
<DocumentsList
|
|
documents={documents}
|
|
folders={folders}
|
|
teamInfo={teamInfo}
|
|
folderPathName={name}
|
|
loading={loading}
|
|
foldersLoading={foldersLoading}
|
|
/>
|
|
</main>
|
|
</AppLayout>
|
|
);
|
|
}
|