import { Pressable, View } from 'react-native'; import type { IconName } from '../../atoms/Icon'; import { Icon } from '../../atoms/Icon'; import { Text } from '../../atoms/Text'; import { cn } from '../../lib/cn'; interface BottomMenuButtonProps { icon: IconName; label: string; onPress?: () => void | Promise; disabled?: boolean; badgeCount?: number; tone?: 'active' | 'default' | 'muted'; } export function BottomMenuButton({ icon, label, onPress, disabled = false, badgeCount = 0, tone = 'default', }: BottomMenuButtonProps) { const isDisabled = disabled || !onPress; const iconClass = isDisabled ? 'text-primary-foreground/35' : tone === 'active' ? 'text-primary-foreground' : tone === 'muted' ? 'text-primary-foreground/45' : 'text-primary-foreground/85'; const labelClass = isDisabled ? 'font-normal text-primary-foreground/35' : tone === 'active' ? 'font-semibold text-primary-foreground' : tone === 'muted' ? 'font-normal text-primary-foreground/45' : 'font-normal text-primary-foreground/85'; return ( {badgeCount > 0 ? ( {badgeCount} ) : null} {label} ); }