import React from "react"; import {Platform, TouchableOpacity, View} from "react-native"; import {useNavigation} from "@react-navigation/native"; import {createNativeStackNavigator} from "@react-navigation/native-stack"; import {Card, Paragraph, Text, Title, useTheme} from "react-native-paper"; import {SmartphoneNfc, SquareAsterisk, SquarePlus} from "lucide-react-native"; import ManualCardEntry from "./ManualCardEntry"; import PhysicalCardScan from "./PhyscialCardScan"; const Stack = createNativeStackNavigator(); function CardAddModal() { return ( ) } function CardAddMethodSelector() { const theme = useTheme(); const navigation: any = useNavigation(); return ( Add new Card AMNet supports scanning physical cards, entering details manually or generating new ones. } title="Scan Physical Card" description="Amusement IC or Transport cards supported" onPress={() => navigation.navigate('Scan')}/> } title="Enter Details Manually" //description="Manually enter card details (or generate a new one)" onPress={() => navigation.navigate('Manual')}/> } title="Generate New Card" //description="Create a card from scratch" onPress={() => navigation.navigate('Manual', {autoGenerate: true})}/> ) } function MethodCard(props: { title: string, description?: string, color: string, icon: React.ReactElement, onPress: () => void }) { const theme = useTheme(); const large = props.description?.length > 0; return ( props.onPress()}> {React.cloneElement(props.icon, {size: large ? 24 : 16, color: theme.colors.surfaceVariant})} {props.title} {props.description && ({props.description})} ) } export default Platform.OS === 'ios' ? CardAddModal : ManualCardEntry;