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
---
 .../dashboard/preview/AssetContentSection.tsx      | 39 ++++++++++++----------
 1 file changed, 22 insertions(+), 17 deletions(-)

(limited to 'apps/web/components/dashboard/preview/AssetContentSection.tsx')

diff --git a/apps/web/components/dashboard/preview/AssetContentSection.tsx b/apps/web/components/dashboard/preview/AssetContentSection.tsx
index 3fbbc519..4a025f9d 100644
--- a/apps/web/components/dashboard/preview/AssetContentSection.tsx
+++ b/apps/web/components/dashboard/preview/AssetContentSection.tsx
@@ -7,25 +7,30 @@ export function AssetContentSection({ bookmark }: { bookmark: ZBookmark }) {
     throw new Error("Invalid content type");
   }
 
-  let content;
   switch (bookmark.content.assetType) {
     case "image": {
-      switch (bookmark.content.assetType) {
-        case "image": {
-          content = (
-            <div className="relative h-full min-w-full">
-              <Image
-                alt="asset"
-                fill={true}
-                className="object-contain"
-                src={`/api/assets/${bookmark.content.assetId}`}
-              />
-            </div>
-          );
-        }
-      }
-      break;
+      return (
+        <div className="relative h-full min-w-full">
+          <Image
+            alt="asset"
+            fill={true}
+            className="object-contain"
+            src={`/api/assets/${bookmark.content.assetId}`}
+          />
+        </div>
+      );
+    }
+    case "pdf": {
+      return (
+        <iframe
+          title={bookmark.content.assetId}
+          className="h-full w-full"
+          src={`/api/assets/${bookmark.content.assetId}`}
+        />
+      );
+    }
+    default: {
+      return <div>Unsupported asset type</div>;
     }
   }
-  return content;
 }
-- 
cgit v1.2.3-70-g09d2

