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 && (