From be622e5594ecb21c82bb6066a82c86e0917bcc35 Mon Sep 17 00:00:00 2001 From: Ahmad Mujahid <55625580+AhmadMuj@users.noreply.github.com> Date: Thu, 11 Apr 2024 15:29:51 +0400 Subject: feature: Add PDF support (#88) * feature: Add PDF support * fix: PDF feature enhancements * fix: Freeze expo-share-intent version to prevent breaking changes * fix: set endOfLine to auto for cross-platform development * fix: Upgrading eslint/parser and eslint-plugin to 7.6.0 to solve the linting issues * fix: enhancing PDF feature * fix: Allowing null in fiename for backward compatibility * fix: update pnpm file with pnpm 9.0.0-alpha-8 * fix:(web): PDF Preview for web --- apps/web/components/dashboard/UploadDropzone.tsx | 7 ++-- .../components/dashboard/bookmarks/AssetCard.tsx | 7 ++++ .../dashboard/preview/AssetContentSection.tsx | 39 ++++++++++++---------- 3 files changed, 33 insertions(+), 20 deletions(-) (limited to 'apps/web/components') diff --git a/apps/web/components/dashboard/UploadDropzone.tsx b/apps/web/components/dashboard/UploadDropzone.tsx index bd08d2cf..f6243885 100644 --- a/apps/web/components/dashboard/UploadDropzone.tsx +++ b/apps/web/components/dashboard/UploadDropzone.tsx @@ -29,7 +29,7 @@ function useUploadAsset({ onComplete }: { onComplete: () => void }) { const { mutateAsync: runUpload } = useMutation({ mutationFn: async (file: File) => { const formData = new FormData(); - formData.append("image", file); + formData.append("file", file); const resp = await fetch("/api/assets", { method: "POST", body: formData, @@ -40,8 +40,9 @@ function useUploadAsset({ onComplete }: { onComplete: () => void }) { return zUploadResponseSchema.parse(await resp.json()); }, onSuccess: async (resp) => { - const assetId = resp.assetId; - return createBookmark({ type: "asset", assetId, assetType: "image" }); + const assetType = + resp.contentType === "application/pdf" ? "pdf" : "image"; + return createBookmark({ ...resp, type: "asset", assetType }); }, onError: (error, req) => { const err = zUploadErrorSchema.parse(JSON.parse(error.message)); diff --git a/apps/web/components/dashboard/bookmarks/AssetCard.tsx b/apps/web/components/dashboard/bookmarks/AssetCard.tsx index 460dbe98..8997a7e2 100644 --- a/apps/web/components/dashboard/bookmarks/AssetCard.tsx +++ b/apps/web/components/dashboard/bookmarks/AssetCard.tsx @@ -59,6 +59,13 @@ export default function AssetCard({ /> )} + {bookmarkedAsset.assetType == "pdf" && ( + + )}