diff --git a/packages/web/components/patterns/ArticleSubtitle.tsx b/packages/web/components/patterns/ArticleSubtitle.tsx index 96fe5e15e..007a3edf4 100644 --- a/packages/web/components/patterns/ArticleSubtitle.tsx +++ b/packages/web/components/patterns/ArticleSubtitle.tsx @@ -54,7 +54,7 @@ export function authoredByText(author: string): string { return `by ${removeHTMLTags(author)}` } -function removeHTMLTags(str: string | null | undefined): string { +export function removeHTMLTags(str: string | null | undefined): string { if (typeof str === 'string') { return str.replace(/(<([^>]+)>)/gi, '') } else { diff --git a/packages/web/components/patterns/LibraryCards/LibraryGridCard.tsx b/packages/web/components/patterns/LibraryCards/LibraryGridCard.tsx index 2fca52282..d42213806 100644 --- a/packages/web/components/patterns/LibraryCards/LibraryGridCard.tsx +++ b/packages/web/components/patterns/LibraryCards/LibraryGridCard.tsx @@ -1,7 +1,7 @@ import { Box, VStack, HStack, SpanBox } from '../../elements/LayoutPrimitives' import { CoverImage } from '../../elements/CoverImage' import { StyledText } from '../../elements/StyledText' -import { authoredByText } from '../ArticleSubtitle' +import { removeHTMLTags } from '../ArticleSubtitle' import { MoreOptionsIcon } from '../../elements/images/MoreOptionsIcon' import { theme } from '../../tokens/stitches.config' import { CardMenu } from '../CardMenu' @@ -13,7 +13,7 @@ export function LibraryGridCard(props: LinkedItemCardProps): JSX.Element { return ( - {props.item.image && ( + {props.item.image && props.layout !== 'LIST_LAYOUT' && ( - {/* { // This is here to prevent menu click events from bubbling @@ -85,20 +85,34 @@ export function LibraryGridCard(props: LinkedItemCardProps): JSX.Element { } actionHandler={props.handleAction} /> - */} + - {/* - + + {props.item.author && ( - - {authoredByText(props.item.author)} + + {removeHTMLTags(props.item.author)} )} - - {props.originText} - + {props.originText && ( + <> + + + {props.originText} + + + )} - */} + {props.item.description} - {props.item.labels?.map(({ name, color }, index) => ( @@ -140,13 +153,13 @@ export function LibraryGridCard(props: LinkedItemCardProps): JSX.Element { ))} + fillPercentage={props.item.readingProgressPercent} + fillColor={theme.colors.highlight.toString()} + backgroundColor={theme.colors.lightBorder.toString()} + borderRadius={ + props.item.readingProgressPercent === 100 ? '0' : '0px 8px 8px 0px' + } + /> ) }