import React, { useState, useEffect, useRef, useMemo } from "react"; import { View, Text, ScrollView, StyleSheet, KeyboardAvoidingView, Platform, Switch, TouchableOpacity, Clipboard, Alert, } from "react-native"; import { useNavigation } from "@react-navigation/native"; import type { NativeStackNavigationProp } from "@react-navigation/native-stack"; import { Ionicons } from "@expo/vector-icons"; import AsyncStorage from "@react-native-async-storage/async-storage"; import { useCart } from "../../context/CartContext"; import { checkoutCart, getReferralBalance, getPublicSettings, getCryptoPaymentStatus, } from "../../api/api"; import type { CryptoPaymentStatus } from "../../api/api"; import type { ClientStackParamList } from "../../navigation/types"; import TextInput from "../../components/ui/TextInput"; import Button from "../../components/ui/Button"; import Modal from "../../components/ui/Modal"; import { useTheme } from "../../context/ThemeContext"; import { spacing, borderRadius, fontSize, fontWeight } from "../../theme"; type Nav = NativeStackNavigationProp; const CRYPTO_COLOR = "#f7931a"; export default function CheckoutScreen() { const navigation = useNavigation