From 53c718d7ab077c7d1871fecfa4ab6c130fd88bc0 Mon Sep 17 00:00:00 2001 From: Jackson Harper Date: Sat, 12 Mar 2022 17:34:37 -0800 Subject: [PATCH] Display the correct site name for PDF saved URLs --- .../web/components/patterns/LinkedItemCard.tsx | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/packages/web/components/patterns/LinkedItemCard.tsx b/packages/web/components/patterns/LinkedItemCard.tsx index b230f9451..1dc194d36 100644 --- a/packages/web/components/patterns/LinkedItemCard.tsx +++ b/packages/web/components/patterns/LinkedItemCard.tsx @@ -5,7 +5,6 @@ import { StyledText } from './../elements/StyledText' import { authoredByText } from './../patterns/ArticleSubtitle' import { MoreOptionsIcon } from './../elements/images/MoreOptionsIcon' import { theme } from './../tokens/stitches.config' -import Link from 'next/link' import { CardMenu } from './../patterns/CardMenu' import { LayoutType } from '../templates/homeFeed/HomeFeedContainer' import { UserBasicData } from '../../lib/networking/queries/useGetViewerQuery' @@ -28,6 +27,15 @@ type LinkedItemCardProps = { handleAction: (action: LinkedItemCardAction) => void } +const siteName = (originalArticleUrl: string, itemUrl: string): string => { + try { + return new URL(originalArticleUrl).hostname + } catch { } + try { + return new URL(itemUrl).hostname + } catch { } + return '' +} export function LinkedItemCard(props: LinkedItemCardProps): JSX.Element { if (props.layout == 'LIST_LAYOUT') { @@ -38,8 +46,7 @@ export function LinkedItemCard(props: LinkedItemCardProps): JSX.Element { } export function GridLinkedItemCard(props: LinkedItemCardProps): JSX.Element { - const username = props.viewer.profile.username - const originText = new URL(props.item.url).hostname + const originText = siteName(props.item.originalArticleUrl, props.item.url) return ( // @@ -152,8 +159,7 @@ export function GridLinkedItemCard(props: LinkedItemCardProps): JSX.Element { } export function ListLinkedItemCard(props: LinkedItemCardProps): JSX.Element { - const username = props.viewer.profile.username - const originText = new URL(props.item.url).hostname + const originText = siteName(props.item.originalArticleUrl, props.item.url) return ( //