import React from 'react' import {Pressable, View} from 'react-native' import {msg} from '@lingui/macro' import {useLingui} from '@lingui/react' import {useRequireAuth} from '#/state/session' import {useSession} from '#/state/session' import {atoms as a, useTheme} from '#/alf' import {Button} from '#/components/Button' import {CloseQuote_Stroke2_Corner1_Rounded as Quote} from '#/components/icons/Quote' import {Repost_Stroke2_Corner2_Rounded as Repost} from '#/components/icons/Repost' import * as Menu from '#/components/Menu' import {Text} from '#/components/Typography' import {EventStopper} from '../EventStopper' import {formatCount} from '../numeric/format' interface Props { isReposted: boolean repostCount?: number onRepost: () => void onQuote: () => void big?: boolean } export const RepostButton = ({ isReposted, repostCount, onRepost, onQuote, big, }: Props) => { const t = useTheme() const {_} = useLingui() const {hasSession} = useSession() const requireAuth = useRequireAuth() const color = React.useMemo( () => ({ color: isReposted ? t.palette.positive_600 : t.palette.contrast_500, }), [t, isReposted], ) return hasSession ? ( {({props, state}) => { return ( ) }} {isReposted ? _(msg`Undo repost`) : _(msg`Repost`)} {_(msg`Quote post`)} ) : ( ) } const RepostInner = ({ isReposted, color, repostCount, big, }: { isReposted: boolean color: {color: string} repostCount?: number big?: boolean }) => { return ( {typeof repostCount !== 'undefined' && repostCount > 0 ? ( {formatCount(repostCount)} ) : undefined} ) }