import React, {memo, useCallback} from 'react' import {View} from 'react-native' import {msg, plural} from '@lingui/macro' import {useLingui} from '@lingui/react' import {POST_CTRL_HITSLOP} from '#/lib/constants' import {useHaptics} from '#/lib/haptics' import {useRequireAuth} from '#/state/session' import {atoms as a, useTheme} from '#/alf' import {Button, ButtonText} from '#/components/Button' import * as Dialog from '#/components/Dialog' import {CloseQuote_Stroke2_Corner1_Rounded as Quote} from '#/components/icons/Quote' import {Repost_Stroke2_Corner2_Rounded as Repost} from '#/components/icons/Repost' import {Text} from '#/components/Typography' import {formatCount} from '../numeric/format' interface Props { isReposted: boolean repostCount?: number onRepost: () => void onQuote: () => void big?: boolean } let RepostButton = ({ isReposted, repostCount, onRepost, onQuote, big, }: Props): React.ReactNode => { const t = useTheme() const {_} = useLingui() const requireAuth = useRequireAuth() const dialogControl = Dialog.useDialogControl() const playHaptic = useHaptics() const color = React.useMemo( () => ({ color: isReposted ? t.palette.positive_600 : t.palette.contrast_500, }), [t, isReposted], ) const close = useCallback(() => dialogControl.close(), [dialogControl]) return ( <> ) } RepostButton = memo(RepostButton) export {RepostButton}