From 519c4fb25298e62f94578d5a1df2090299be0ab0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?marcin=20miko=C5=82ajczak?= Date: Sun, 8 Jan 2023 21:37:20 +0100 Subject: [PATCH] Fix 'View context' button MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: marcin mikołajczak --- .../account-gallery/components/media-item.tsx | 2 +- .../features/ui/components/modals/media-modal.tsx | 14 +++++++++++--- .../service-worker/web-push-notifications.ts | 2 +- 3 files changed, 13 insertions(+), 5 deletions(-) diff --git a/app/soapbox/features/account-gallery/components/media-item.tsx b/app/soapbox/features/account-gallery/components/media-item.tsx index 4242094b5..6752bcdab 100644 --- a/app/soapbox/features/account-gallery/components/media-item.tsx +++ b/app/soapbox/features/account-gallery/components/media-item.tsx @@ -56,7 +56,7 @@ const MediaItem: React.FC = ({ attachment, displayWidth, onOpenMedia const width = `${Math.floor((displayWidth - 4) / 3) - 4}px`; const height = width; const status = attachment.get('status'); - const title = status.get('spoiler_text') || attachment.get('description'); + const title = status.get('spoiler_text') || attachment.get('description'); let thumbnail: React.ReactNode = ''; let icon; diff --git a/app/soapbox/features/ui/components/modals/media-modal.tsx b/app/soapbox/features/ui/components/modals/media-modal.tsx index ff8b6b467..5b5ff0dc9 100644 --- a/app/soapbox/features/ui/components/modals/media-modal.tsx +++ b/app/soapbox/features/ui/components/modals/media-modal.tsx @@ -9,6 +9,7 @@ import Icon from 'soapbox/components/icon'; import IconButton from 'soapbox/components/icon-button'; import Audio from 'soapbox/features/audio'; import Video from 'soapbox/features/video'; +import { useAppDispatch } from 'soapbox/hooks'; import ImageLoader from '../image-loader'; @@ -39,6 +40,7 @@ const MediaModal: React.FC = (props) => { const intl = useIntl(); const history = useHistory(); + const dispatch = useAppDispatch(); const [index, setIndex] = useState(null); const [navigationHidden, setNavigationHidden] = useState(false); @@ -94,8 +96,14 @@ const MediaModal: React.FC = (props) => { const handleStatusClick: React.MouseEventHandler = e => { if (status && e.button === 0 && !(e.ctrlKey || e.metaKey)) { e.preventDefault(); - history.push(`/@${status.getIn(['account', 'acct'])}/posts/${status?.id}`); - onClose(); + + dispatch((_, getState) => { + const account = typeof status.account === 'string' ? getState().accounts.get(status.account) : status.account; + if (!account) return; + + history.push(`/@${account.acct}/posts/${status?.id}`); + onClose(); + }); } }; @@ -113,7 +121,7 @@ const MediaModal: React.FC = (props) => { let pagination: React.ReactNode[] = []; - const leftNav = media.size > 1 && ( + const leftNav = media.size > 1 && (