import { useNavigation } from '@react-navigation/native' import { StackNavigationProp } from '@react-navigation/stack' import { TabLocalStackParamList } from '@utils/navigation/navigators' import { StyleConstants } from '@utils/styles/constants' import { useTheme } from '@utils/styles/ThemeManager' import React, { useCallback, useState } from 'react' import { Dimensions, Pressable } from 'react-native' import Sparkline from './Sparkline' import CustomText from './Text' export interface Props { hashtag: Mastodon.Tag onPress?: () => void } const ComponentHashtag: React.FC = ({ hashtag, onPress: customOnPress }) => { const { colors } = useTheme() const navigation = useNavigation>() const onPress = useCallback(() => { navigation.push('Tab-Shared-Hashtag', { hashtag: hashtag.name }) }, []) const padding = StyleConstants.Spacing.Global.PagePadding const width = Dimensions.get('window').width / 4 const [height, setHeight] = useState(0) return ( setHeight(height - padding * 2 - 1)} > #{hashtag.name} parseInt(h.uses)).reverse()} width={width} height={height} /> ) } export default ComponentHashtag