import { Ionicons } from "@expo/vector-icons"; import React from "react"; import { Animated, Pressable, View } from "react-native"; import { Text } from "@/components/common/Text"; import { useScaledTVTypography } from "@/constants/TVTypography"; import { useTVFocusAnimation } from "../hooks/useTVFocusAnimation"; export interface TVSettingsStepperProps { label: string; value: number; onDecrease: () => void; onIncrease: () => void; formatValue?: (value: number) => string; isFirst?: boolean; disabled?: boolean; } export const TVSettingsStepper: React.FC = ({ label, value, onDecrease, onIncrease, formatValue, isFirst, disabled, }) => { const typography = useScaledTVTypography(); const labelAnim = useTVFocusAnimation({ scaleAmount: 1.02 }); const minusAnim = useTVFocusAnimation({ scaleAmount: 1.1 }); const plusAnim = useTVFocusAnimation({ scaleAmount: 1.1 }); const displayValue = formatValue ? formatValue(value) : String(value); return ( {label} {displayValue} ); };