import { ReactElement, useEffect, useState } from "react"; import Layout from "../components/layout"; import type { NextPageWithLayout } from "./_app"; import Head from "next/head"; import { CheckBadgeIcon, CheckIcon, DocumentPlusIcon, EnvelopeIcon, EyeIcon, PlusIcon, SunIcon, TrashIcon, } from "@heroicons/react/24/outline"; import Link from "next/link"; import { useRouter } from "next/router"; import { uploadDocument } from "@documenso/features"; import { DocumentStatus } from "@prisma/client"; import { Tooltip as ReactTooltip } from "react-tooltip"; import { getDocumentsForUserFromToken } from "@documenso/lib/query"; import { Button } from "@documenso/ui"; const DocumentsPage: NextPageWithLayout = (props: any) => { const router = useRouter(); const [documents, setDocuments]: any[] = useState([]); const [loading, setLoading] = useState(true); const getDocuments = async () => { if (!documents.length) setLoading(true); fetch("/api/documents", { headers: { "Content-Type": "application/json", }, }).then((res) => { res.json().then((j) => { setDocuments(j); setLoading(false); }); }); }; useEffect(() => { getDocuments(); }, []); function showDocument(documentId: number) { router.push(`/documents/${documentId}`); } return ( <> Documents | Documenso

Documents

); }; // export async function getServerSideProps(context: any) { // return { // props: { // documents: await getDocumentsForUserFromToken(context), // }, // }; // } function formatDocumentStatus(status: DocumentStatus) { switch (status) { case DocumentStatus.DRAFT: return "Draft"; case DocumentStatus.PENDING: return "Pending"; case DocumentStatus.COMPLETED: return "Completed"; } } DocumentsPage.getLayout = function getLayout(page: ReactElement) { return {page}; }; export default DocumentsPage;