From b147c8e5df75bdeafb1f0eeb2e6ce08e0dec7e37 Mon Sep 17 00:00:00 2001 From: MohamedBassem Date: Sat, 5 Oct 2024 18:16:19 +0000 Subject: feature: Persevere the source URL of clipped texts from the extension. Fixes #448 --- apps/web/components/dashboard/bookmarks/AssetCard.tsx | 8 +++++++- .../components/dashboard/bookmarks/FooterLinkURL.tsx | 18 ++++++++++++++++++ apps/web/components/dashboard/bookmarks/LinkCard.tsx | 19 +++---------------- apps/web/components/dashboard/bookmarks/TextCard.tsx | 8 +++++++- 4 files changed, 35 insertions(+), 18 deletions(-) create mode 100644 apps/web/components/dashboard/bookmarks/FooterLinkURL.tsx (limited to 'apps/web/components/dashboard/bookmarks') diff --git a/apps/web/components/dashboard/bookmarks/AssetCard.tsx b/apps/web/components/dashboard/bookmarks/AssetCard.tsx index c235e4c8..61b3bc8d 100644 --- a/apps/web/components/dashboard/bookmarks/AssetCard.tsx +++ b/apps/web/components/dashboard/bookmarks/AssetCard.tsx @@ -5,8 +5,10 @@ import Link from "next/link"; import type { ZBookmarkTypeAsset } from "@hoarder/shared/types/bookmarks"; import { getAssetUrl } from "@hoarder/shared-react/utils/assetUtils"; +import { getSourceUrl } from "@hoarder/shared-react/utils/bookmarkUtils"; import { BookmarkLayoutAdaptingCard } from "./BookmarkLayoutAdaptingCard"; +import FooterLinkURL from "./FooterLinkURL"; function AssetImage({ bookmark, @@ -55,7 +57,11 @@ export default function AssetCard({ return ( + ) + } bookmark={bookmarkedAsset} className={className} wrapTags={true} diff --git a/apps/web/components/dashboard/bookmarks/FooterLinkURL.tsx b/apps/web/components/dashboard/bookmarks/FooterLinkURL.tsx new file mode 100644 index 00000000..cc91a7e7 --- /dev/null +++ b/apps/web/components/dashboard/bookmarks/FooterLinkURL.tsx @@ -0,0 +1,18 @@ +import Link from "next/link"; + +export default function FooterLinkURL({ url }: { url: string | null }) { + if (!url) { + return null; + } + const parsedUrl = new URL(url); + return ( + + {parsedUrl.host} + + ); +} diff --git a/apps/web/components/dashboard/bookmarks/LinkCard.tsx b/apps/web/components/dashboard/bookmarks/LinkCard.tsx index dc189b10..86eed9e7 100644 --- a/apps/web/components/dashboard/bookmarks/LinkCard.tsx +++ b/apps/web/components/dashboard/bookmarks/LinkCard.tsx @@ -6,10 +6,12 @@ import Link from "next/link"; import type { ZBookmarkTypeLink } from "@hoarder/shared/types/bookmarks"; import { getBookmarkLinkImageUrl, + getSourceUrl, isBookmarkStillCrawling, } from "@hoarder/shared-react/utils/bookmarkUtils"; import { BookmarkLayoutAdaptingCard } from "./BookmarkLayoutAdaptingCard"; +import FooterLinkURL from "./FooterLinkURL"; function LinkTitle({ bookmark }: { bookmark: ZBookmarkTypeLink }) { const link = bookmark.content; @@ -68,21 +70,6 @@ function LinkImage({ ); } -function LinkUrl({ bookmark }: { bookmark: ZBookmarkTypeLink }) { - const link = bookmark.content; - const parsedUrl = new URL(link.url); - return ( - - {parsedUrl.host} - - ); -} - export default function LinkCard({ bookmark: bookmarkLink, className, @@ -93,7 +80,7 @@ export default function LinkCard({ return ( } - footer={} + footer={} bookmark={bookmarkLink} wrapTags={false} image={(_layout, className) => ( diff --git a/apps/web/components/dashboard/bookmarks/TextCard.tsx b/apps/web/components/dashboard/bookmarks/TextCard.tsx index 9876d904..9d6c1df1 100644 --- a/apps/web/components/dashboard/bookmarks/TextCard.tsx +++ b/apps/web/components/dashboard/bookmarks/TextCard.tsx @@ -5,8 +5,10 @@ import { bookmarkLayoutSwitch } from "@/lib/userLocalSettings/bookmarksLayout"; import { cn } from "@/lib/utils"; import type { ZBookmarkTypeText } from "@hoarder/shared/types/bookmarks"; +import { getSourceUrl } from "@hoarder/shared-react/utils/bookmarkUtils"; import { BookmarkLayoutAdaptingCard } from "./BookmarkLayoutAdaptingCard"; +import FooterLinkURL from "./FooterLinkURL"; export default function TextCard({ bookmark, @@ -22,7 +24,11 @@ export default function TextCard({ {bookmarkedText.text}} - footer={null} + footer={ + getSourceUrl(bookmark) && ( + + ) + } wrapTags={true} bookmark={bookmark} className={className} -- cgit v1.2.3-70-g09d2