import React from 'react' import {StyleProp, StyleSheet, View, ViewStyle} from 'react-native' import {RepostIcon} from 'lib/icons' import {colors} from 'lib/styles' import {useTheme} from 'lib/ThemeContext' import {Text} from '../text/Text' import { NativeDropdown, DropdownItem as NativeDropdownItem, } from '../forms/NativeDropdown' import {EventStopper} from '../EventStopper' interface Props { isReposted: boolean repostCount?: number big?: boolean onRepost: () => void onQuote: () => void style?: StyleProp } export const RepostButton = ({ isReposted, repostCount, big, onRepost, onQuote, }: Props) => { const theme = useTheme() const defaultControlColor = React.useMemo( () => ({ color: theme.palette.default.postCtrl, }), [theme], ) const dropdownItems: NativeDropdownItem[] = [ { label: isReposted ? 'Undo repost' : 'Repost', testID: 'repostDropdownRepostBtn', icon: { ios: {name: 'repeat'}, android: '', web: 'retweet', }, onPress: onRepost, }, { label: 'Quote post', testID: 'repostDropdownQuoteBtn', icon: { ios: {name: 'quote.bubble'}, android: '', web: 'quote-left', }, onPress: 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', }, })