From dedc5fb24536832eae2c18d84efa2a92272c955c Mon Sep 17 00:00:00 2001
From: MohamedBassem <me@mbassem.com>
Date: Sun, 26 May 2024 00:06:32 +0000
Subject: feature: Full page archival with monolith. Fixes #132

---
 .../dashboard/preview/LinkContentSection.tsx           | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

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

diff --git a/apps/web/components/dashboard/preview/LinkContentSection.tsx b/apps/web/components/dashboard/preview/LinkContentSection.tsx
index 29001c7f..3aeacdcd 100644
--- a/apps/web/components/dashboard/preview/LinkContentSection.tsx
+++ b/apps/web/components/dashboard/preview/LinkContentSection.tsx
@@ -12,6 +12,16 @@ import { ScrollArea } from "@radix-ui/react-scroll-area";
 
 import { ZBookmark, ZBookmarkedLink } from "@hoarder/shared/types/bookmarks";
 
+function FullPageArchiveSection({ link }: { link: ZBookmarkedLink }) {
+  return (
+    <iframe
+      title={link.url}
+      src={`/api/assets/${link.fullPageArchiveAssetId}`}
+      className="relative h-full min-w-full"
+    />
+  );
+}
+
 function ScreenshotSection({ link }: { link: ZBookmarkedLink }) {
   return (
     <div className="relative h-full min-w-full">
@@ -60,6 +70,8 @@ export default function LinkContentSection({
   let content;
   if (section === "cached") {
     content = <CachedContentSection link={bookmark.content} />;
+  } else if (section === "archive") {
+    content = <FullPageArchiveSection link={bookmark.content} />;
   } else {
     content = <ScreenshotSection link={bookmark.content} />;
   }
@@ -79,6 +91,12 @@ export default function LinkContentSection({
             >
               Screenshot
             </SelectItem>
+            <SelectItem
+              value="archive"
+              disabled={!bookmark.content.fullPageArchiveAssetId}
+            >
+              Archive
+            </SelectItem>
           </SelectGroup>
         </SelectContent>
       </Select>
-- 
cgit v1.2.3-70-g09d2

