interface CarModel { name: string; year: number; id: string; } import React, { useEffect, useState } from 'react'; import { View, Text, Image, Pressable, StyleSheet, ScrollView } from 'react-native'; import { FlashList } from '@shopify/flash-list'; import { router, useLocalSearchParams } from 'expo-router'; import { SafeAreaView } from 'react-native-safe-area-context'; import { useNavigation } from '@react-navigation/native'; import { set } from 'date-fns'; import useVehicleStore from '../../providers/vehicle_store'; import { PreviousPageBlackSvg } from '../../component/global/SVG'; interface CarType { id: number; name: string; } const RegisterChooseVehiclesTwo = () => { const { brandId, brandName, carTypes } = useLocalSearchParams<{ brandId: string; brandName: string; carTypes: string; }>(); const [parsedCarTypes, setParsedCarTypes] = useState([]); useEffect(() => { if (carTypes) { const parsed = JSON.parse(carTypes); setParsedCarTypes(parsed); } }, [carTypes]); const { vehicleBrand, vehicleModel, BrandID, ModelID, licensePlate, setVehicleBrand, setVehicleModel, setBrandID, setModelID, setLicensePlate } = useVehicleStore(); const logoPath = `../../../../../assets/${vehicleBrand.toLowerCase()}.png`; const [carModels, setCarModels] = useState([]); const navigation = useNavigation(); // const brandLogos = { // audi: require('../../../../../assets/audi.png'), // acura: require('../../../../../assets/acura.png'), // bmw: require('../../../../../assets/bmw.png'), // byd: require('../../../../../assets/byd.png'), // chevrolet: require('../../../../../assets/chevrolet.png'), // cadillac: require('../../../../../assets/cadillac.png'), // ford: require('../../../../../assets/ford.png'), // fiat: require('../../../../../assets/fiat.png'), // genesis: require('../../../../../assets/genesis.png'), // honda: require('../../../../../assets/honda.png'), // hyundai: require('../../../../../assets/hyundai.png'), // jaguar: require('../../../../../assets/jaguar.png'), // kia: require('../../../../../assets/kia.png'), // 'mercedes-benz': require('../../../../../assets/benz.png'), // mini: require('../../../../../assets/mini.png'), // mazda: require('../../../../../assets/mazda.png'), // nissan: require('../../../../../assets/nissan.png'), // porsche: require('../../../../../assets/porsche.png'), // subaru: require('../../../../../assets/subaru.png'), // tesla: require('../../../../../assets/tesla.png'), // toyota: require('../../../../../assets/toyota.png'), // volkswagen: require('../../../../../assets/volkswagen.png'), // volvo: require('../../../../../assets/volvo.png'), // default: require('../../../../../assets/bmw.png') // Make sure to add a default logo // }; // const getBrandLogo = (brand: string) => { // const logoKey = brand.toLowerCase().replace(/\s+/g, '-'); // return brandLogos[logoKey] || brandLogos.default; // }; const renderModelItem = ({ item: model }: { item: CarModel }) => ( <> { setVehicleModel(model.name); setModelID(model.id); navigation.pop(2); }} > {model.year} {model.name} ); return ( { if (router.canGoBack()) { router.back(); } else { router.replace('/accountMainPage'); } }} > 選擇車輛型號 {/* */} {vehicleBrand} item.name} numColumns={1} /> ); }; const styles = StyleSheet.create({ modelItem: { flex: 1, height: 100, justifyContent: 'center', alignItems: 'center', backgroundColor: '#F0F0F0', margin: 5, borderRadius: 10 }, modelName: { fontSize: 16, fontWeight: 'bold' }, modelYear: { fontSize: 14, color: '#666' } }); export default RegisterChooseVehiclesTwo;