import React, {useMemo} from 'react' import {StyleProp, StyleSheet, View, ViewStyle} from 'react-native' import {RepostIcon} from 'lib/icons' import {DropdownButton} from '../forms/DropdownButton' import {colors} from 'lib/styles' import {useTheme} from 'lib/ThemeContext' import {Text} from '../text/Text' interface Props { isReposted: boolean repostCount?: number big?: boolean onRepost: () => void onQuote: () => void } export const RepostButton = ({ isReposted, repostCount, big, onRepost, onQuote, }: Props) => { const theme = useTheme() const defaultControlColor = React.useMemo( () => ({ color: theme.palette.default.postCtrl, }), [theme], ) const items = useMemo( () => [ { label: isReposted ? 'Undo repost' : 'Repost', icon: 'retweet' as const, onPress: onRepost, }, {label: 'Quote post', icon: 'quote-left' as const, onPress: onQuote}, ], [isReposted, onRepost, onQuote], ) return ( , ]}> {typeof repostCount !== 'undefined' ? ( {repostCount ?? 0} ) : undefined} ) } const styles = StyleSheet.create({ control: { display: 'flex', flexDirection: 'row', alignItems: 'center', gap: 4, }, controlPad: { padding: 5, }, reposted: { color: colors.green3, }, repostCount: { color: 'currentColor', }, })