import {useMemo} from 'react' import {View} from 'react-native' import {msg, Trans} from '@lingui/macro' import {useLingui} from '@lingui/react' import {useCleanError} from '#/lib/hooks/useCleanError' import {OUTER_SPACE} from '#/screens/PostThread/const' import {atoms as a, useTheme} from '#/alf' import {Button, ButtonIcon, ButtonText} from '#/components/Button' import {ArrowRotateCounterClockwise_Stroke2_Corner0_Rounded as RetryIcon} from '#/components/icons/ArrowRotateCounterClockwise' import * as Layout from '#/components/Layout' import {Text} from '#/components/Typography' export function ThreadError({ error, onRetry, }: { error: Error onRetry: () => void }) { const t = useTheme() const {_} = useLingui() const cleanError = useCleanError() const {title, message} = useMemo(() => { let title = _(msg`Error loading post`) let message = _(msg`Something went wrong. Please try again in a moment.`) const {raw, clean} = cleanError(error) if (error.message.startsWith('Post not found')) { title = _(msg`Post not found`) message = clean || raw || message } return {title, message} }, [_, error, cleanError]) return ( {title} {message} ) }