From 4033ba844cca2adb5436be078b5a7cdac857df37 Mon Sep 17 00:00:00 2001 From: Aamir Azad <82281117+aamirazad@users.noreply.github.com> Date: Fri, 28 Jun 2024 19:48:23 +0530 Subject: [PATCH] feat: paperless documents modal (#38) --- bun.lockb | Bin 223748 -> 258652 bytes empty-module.ts | 1 + package.json | 15 ++- .../(.)paperless/document/[id]/modal.tsx | 31 +++++ .../(.)paperless/document/[id]/page.tsx | 14 +++ src/app/@modal/default.tsx | 3 + src/app/actions.ts | 4 - src/app/layout.tsx | 10 +- src/app/page.tsx | 2 +- src/app/paperless/document/[id]/page.tsx | 9 ++ src/app/paperless/page.tsx | 16 +-- src/app/settings/page.tsx | 2 +- src/components/document-viewer.tsx | 113 ++++++++++++++++++ src/components/loading-spinner.tsx | 11 +- src/components/topnav.tsx | 4 +- src/styles/globals.css | 112 ++++++++--------- tsconfig.json | 2 +- 17 files changed, 263 insertions(+), 86 deletions(-) create mode 100644 empty-module.ts create mode 100644 src/app/@modal/(.)paperless/document/[id]/modal.tsx create mode 100644 src/app/@modal/(.)paperless/document/[id]/page.tsx create mode 100644 src/app/@modal/default.tsx create mode 100644 src/app/paperless/document/[id]/page.tsx create mode 100644 src/components/document-viewer.tsx diff --git a/bun.lockb b/bun.lockb index 6ebb93f278a80db9f1f21c121179fdc931b218da..5271a3ce9693c53d8564fbe9469ecd6ec81254e6 100755 GIT binary patch delta 65505 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 delta 44733 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 diff --git a/empty-module.ts b/empty-module.ts new file mode 100644 index 0000000..ff8b4c5 --- /dev/null +++ b/empty-module.ts @@ -0,0 +1 @@ +export default {}; diff --git a/package.json b/package.json index c782b3b..755fdd1 100644 --- a/package.json +++ b/package.json @@ -9,23 +9,22 @@ "db:migrate": "drizzle-kit migrate", "db:push": "drizzle-kit push", "db:studio": "drizzle-kit studio", - "dev": "next dev --turbo", + "dev": "next dev", "lint": "next lint", "start": "next start" }, "dependencies": { "@clerk/nextjs": "^5.1.5", "@clerk/themes": "^2.1.9", - "@clerk/types": "^4.6.1", "@hookform/resolvers": "^3.6.0", "@radix-ui/react-alert-dialog": "^1.0.5", "@radix-ui/react-dropdown-menu": "^2.0.6", "@radix-ui/react-label": "^2.0.2", - "@radix-ui/react-navigation-menu": "^1.1.4", "@radix-ui/react-separator": "^1.0.3", "@radix-ui/react-slot": "^1.0.2", - "@radix-ui/react-toast": "^1.1.5", "@radix-ui/react-tooltip": "^1.1.1", + "@react-pdf-viewer/core": "^3.12.0", + "@react-pdf/renderer": "^3.4.4", "@t3-oss/env-nextjs": "^0.10.1", "@tanstack/eslint-plugin-query": "^5.43.1", "@tanstack/react-query": "^5.45.0", @@ -41,7 +40,7 @@ "react": "^18.3.1", "react-dom": "^18.3.1", "react-hook-form": "^7.51.5", - "server-only": "^0.0.1", + "react-pdf": "^9.0.0", "sonner": "^1.5.0", "tailwind-merge": "^2.3.0", "tailwindcss-animate": "^1.0.7", @@ -69,6 +68,10 @@ }, "packageManager": "pnpm@9.1.4", "trustedDependencies": [ - "@clerk/shared" + "@clerk/shared", + "bufferutil", + "canvas", + "esbuild", + "utf-8-validate" ] } diff --git a/src/app/@modal/(.)paperless/document/[id]/modal.tsx b/src/app/@modal/(.)paperless/document/[id]/modal.tsx new file mode 100644 index 0000000..8ce3038 --- /dev/null +++ b/src/app/@modal/(.)paperless/document/[id]/modal.tsx @@ -0,0 +1,31 @@ +"use client"; + +import { type ElementRef, useEffect, useRef } from "react"; +import { useRouter } from "next/navigation"; +import { createPortal } from "react-dom"; + +export function Modal({ children }: { children: React.ReactNode }) { + const router = useRouter(); + const dialogRef = useRef>(null); + + useEffect(() => { + if (!dialogRef.current?.open) { + dialogRef.current?.showModal(); + } + }, []); + + function onDismiss() { + router.back(); + } + + return createPortal( + +
{children}
+
, + document.getElementById("modal-root")!, + ); +} diff --git a/src/app/@modal/(.)paperless/document/[id]/page.tsx b/src/app/@modal/(.)paperless/document/[id]/page.tsx new file mode 100644 index 0000000..d4df65a --- /dev/null +++ b/src/app/@modal/(.)paperless/document/[id]/page.tsx @@ -0,0 +1,14 @@ +import DocumentViewer from "@/components/document-viewer"; +import { Modal } from "./modal"; + +export default function FullPageDocumentPage({ + params, +}: { + params: { id: number }; +}) { + return ( + + + + ); +} diff --git a/src/app/@modal/default.tsx b/src/app/@modal/default.tsx new file mode 100644 index 0000000..7046598 --- /dev/null +++ b/src/app/@modal/default.tsx @@ -0,0 +1,3 @@ +export default function DefaultModal() { + return null; + } \ No newline at end of file diff --git a/src/app/actions.ts b/src/app/actions.ts index 18bd344..e1b17e7 100644 --- a/src/app/actions.ts +++ b/src/app/actions.ts @@ -44,10 +44,6 @@ export async function getUserData() { } export async function getPaperlessDocuments(query: string) { - const { userId } = auth(); - - if (!userId) return null; - const userData = await getUserData(); if (!query || query == "null" || query.length < 3 || !userData) return null; diff --git a/src/app/layout.tsx b/src/app/layout.tsx index 6745ff0..f9918c6 100644 --- a/src/app/layout.tsx +++ b/src/app/layout.tsx @@ -15,8 +15,10 @@ export const metadata = { export default function RootLayout({ children, + modal, }: { children: React.ReactNode; + modal: React.ReactNode; }) { return ( - + -
+
-
+
{children}
+ {modal} +