import React, { useState } from "react"; import { View, Text, TextInput } from "react-native"; import styles, { COLORS } from "@/styles/styles"; import Button from "@/containers/Button"; import i18n from "@/i18n/i18n"; interface BuyInSelectorProps { setBuyInAmount: React.Dispatch>; selectedCurrency: string; } const defaultBuyInOptions = [10, 25, 50]; const MIN = 1; const MAX = 200; const parseRoundClamp = (num: string): number => { const parsed = parseFloat(num); const rounded = Math.round(parsed); return Math.min(Math.max(rounded, MIN), MAX); }; const BuyInSelector: React.FC = ({ setBuyInAmount, selectedCurrency, }) => { const [customAmount, setCustomAmount] = useState(""); const [buyInAmount, setBuyInAmountState] = useState(null); const handleCustomAmountChange = (value: string) => { const numericValue = parseRoundClamp(value); if (!isNaN(numericValue) && numericValue >= 0) { setCustomAmount(numericValue.toString()); setBuyInAmountState(numericValue); setBuyInAmount(numericValue); } else { setCustomAmount(""); setBuyInAmountState(25); setBuyInAmount(25); } }; const handleBuyInSelection = (amount: number) => { setBuyInAmountState(amount); setCustomAmount(""); setBuyInAmount(amount); }; return ( <> {defaultBuyInOptions.map((amount) => (