import React from "react"; import { View } from "react-native"; import { Button } from "~/components/ui/button"; import { Text } from "~/components/ui/text"; import { LucideChevronLeft } from "lucide-react-native"; // Number Button Component interface NumberButtonProps { value: string; onPress: (value: string) => void; variant?: "default" | "special"; icon?: React.ReactNode; size?: "default" | "small"; } export const NumberButton = ({ value, onPress, variant = "default", icon, size = "default", }: NumberButtonProps) => { const sizeClasses = size === "small" ? "w-20 h-14 mx-2" : "w-24 h-18 mx-2"; const textSize = size === "small" ? "text-xl" : "text-3xl"; const baseClasses = `rounded-3xl ${sizeClasses} flex items-center justify-center active:scale-95 bg-[#111111]`; return ( ); }; // Number Pad Component interface NumberPadProps { onNumberPress: (value: string) => void; showDecimal?: boolean; } export const NumberPad: React.FC = ({ onNumberPress, showDecimal = true, }) => { return ( {/* Row 1: 1, 2, 3 */} {/* Row 2: 4, 5, 6 */} {/* Row 3: 7, 8, 9 */} {/* Row 4: decimal/empty, 0, backspace */} {showDecimal ? ( ) : ( /* Empty space */ )} } /> ); }; // Smaller Number Pad for PIN (with smaller buttons) export const PinNumberPad: React.FC<{ onNumberPress: (value: string) => void; }> = ({ onNumberPress }) => { const baseKeyClasses = "flex-1 h-14 rounded-3xl bg-[#111111] items-center justify-center"; const renderNumberKey = (label: string) => ( ); return ( {/* Row 1: 1, 2, 3 */} {renderNumberKey("1")} {renderNumberKey("2")} {renderNumberKey("3")} {/* Row 2: 4, 5, 6 */} {renderNumberKey("4")} {renderNumberKey("5")} {renderNumberKey("6")} {/* Row 3: 7, 8, 9 */} {renderNumberKey("7")} {renderNumberKey("8")} {renderNumberKey("9")} {/* Row 4: empty, 0, backspace */} ); };