diff --git a/src/components/Feed/ArticleCard/ArticleCard.tsx b/src/components/Feed/ArticleCard/ArticleCard.tsx index 5863a865..cd1ae0ed 100644 --- a/src/components/Feed/ArticleCard/ArticleCard.tsx +++ b/src/components/Feed/ArticleCard/ArticleCard.tsx @@ -14,7 +14,6 @@ import { Icon } from '../../_shared/Icon' import { Image } from '../../_shared/Image' import { InviteCoAuthorsModal } from '../../_shared/InviteCoAuthorsModal' import { Popover } from '../../_shared/Popover' -import { ShareModal } from '../../_shared/ShareModal' import { CoverImage } from '../../Article/CoverImage' import { getShareUrl, SharePopup } from '../../Article/SharePopup' import { ShoutRatingControl } from '../../Article/ShoutRatingControl' @@ -52,6 +51,7 @@ export type ArticleCardProps = { withAspectRatio?: boolean desktopCoverSize?: 'XS' | 'S' | 'M' | 'L' article: Shout + onShare?: (article: Shout) => void } const desktopCoverImageWidths: Record = { @@ -367,7 +367,7 @@ export const ArticleCard = (props: ArticleCardProps) => { showModal('share')} + onShareClick={() => props.onShare(props.article)} onInviteClick={() => showModal('inviteCoAuthors')} onVisibilityChange={(isVisible) => setIsActionPopupActive(isVisible)} trigger={ @@ -386,12 +386,6 @@ export const ArticleCard = (props: ArticleCardProps) => { - ) } diff --git a/src/components/Views/Feed/Feed.tsx b/src/components/Views/Feed/Feed.tsx index 3fa42d0c..6914a6c7 100644 --- a/src/components/Views/Feed/Feed.tsx +++ b/src/components/Views/Feed/Feed.tsx @@ -8,6 +8,7 @@ import { createEffect, createMemo, createSignal, For, on, onMount, Show } from ' import { useLocalize } from '../../../context/localize' import { useReactions } from '../../../context/reactions' import { router, useRouter } from '../../../stores/router' +import { showModal } from '../../../stores/ui' import { useArticlesStore, resetSortedArticles } from '../../../stores/zine/articles' import { useTopAuthorsStore } from '../../../stores/zine/topAuthors' import { useTopicsStore } from '../../../stores/zine/topics' @@ -17,7 +18,9 @@ import { getServerDate } from '../../../utils/getServerDate' import { DropDown } from '../../_shared/DropDown' import { Icon } from '../../_shared/Icon' import { Loading } from '../../_shared/Loading' +import { ShareModal } from '../../_shared/ShareModal' import { CommentDate } from '../../Article/CommentDate' +import { getShareUrl } from '../../Article/SharePopup' import { AuthorLink } from '../../Author/AhtorLink' import { AuthorBadge } from '../../Author/AuthorBadge' import { ArticleCard } from '../../Feed/ArticleCard' @@ -203,6 +206,12 @@ export const Feed = (props: Props) => { ) const ogTitle = t('Feed') + const [shareData, setShareData] = createSignal() + const handleShare = (shared) => { + showModal('share') + setShareData(shared) + } + return (
@@ -279,7 +288,12 @@ export const Feed = (props: Props) => { 0}> {(article) => ( - + handleShare(shared)} + article={article} + settings={{ isFeedMode: true }} + desktopCoverSize="M" + /> )} @@ -394,6 +408,14 @@ export const Feed = (props: Props) => {
+ + + ) } diff --git a/src/components/_shared/ShareLinks/ShareLinks.tsx b/src/components/_shared/ShareLinks/ShareLinks.tsx index b27c24c6..a0478721 100644 --- a/src/components/_shared/ShareLinks/ShareLinks.tsx +++ b/src/components/_shared/ShareLinks/ShareLinks.tsx @@ -21,6 +21,7 @@ type Props = { export const ShareLinks = (props: Props) => { const { t } = useLocalize() const [isLinkCopied, setIsLinkCopied] = createSignal(false) + const { actions: { showSnackbar }, } = useSnackbar() diff --git a/src/components/_shared/ShareModal/ShareModal.tsx b/src/components/_shared/ShareModal/ShareModal.tsx index 0d9c9427..1e7def7c 100644 --- a/src/components/_shared/ShareModal/ShareModal.tsx +++ b/src/components/_shared/ShareModal/ShareModal.tsx @@ -11,7 +11,6 @@ type Props = { } export const ShareModal = (props: Props) => { const { t } = useLocalize() - return (

{t('Share publication')}