// component/chargingPage/futureReservationPageComponent.tsx import { View, Text, ScrollView, StyleSheet, ActivityIndicator } from 'react-native'; import { useEffect, useState } from 'react'; import { SafeAreaView } from 'react-native-safe-area-context'; import NormalButton from '../global/normal_button'; import { router } from 'expo-router'; import { convertToHKTime } from '../../util/lib'; import { useTranslation } from '../../util/hooks/useTranslation'; const FutureReservationPageComponent = ({ data }) => { const { t } = useTranslation(); const [loading, setLoading] = useState(false); const [stationInfo, setStationInfo] = useState(null); const plan = data.book_time === data.end_time ? t('future_reservation.full_charge') : t('future_reservation.per_kwh'); const kwh = data.total_power === null ? '' : `${data.total_power} kWh`; ///如果充電停機 應該show 充電停機 not 80 kWh useEffect(() => { if (data && data.connector && data.connector.EquipmentID && data.connector.EquipmentID.StationID) { try { const parsedSnapshot = JSON.parse(data.connector.EquipmentID.StationID.snapshot); setStationInfo(parsedSnapshot); } catch (error) { console.error('Error parsing station snapshot:', error); } } }, [data]); return ( {t('future_reservation.no_charging_vehicle')} {loading ? ( ) : ( <> {t('future_reservation.next_reservation')} {t('future_reservation.date')} {convertToHKTime(data.book_time) .hkDate.split('/') .reverse() .slice(1) .join(t('future_reservation.month'))} {t('future_reservation.time')} {convertToHKTime(data.book_time).hkTime.slice(0, 5)} {t('future_reservation.charging_location')} {stationInfo?.StationName || 'N/A'} {stationInfo?.Address || 'N/A'} {t('future_reservation.plan')} {plan} {kwh} {/* 車輛 {data.car.car_brand.name} {data.car.car_type.name} */} {t('future_reservation.return_home')}} onPress={() => router.push('mainPage')} /> )} ); }; const styles = StyleSheet.create({ grayColor: { color: '#888888' }, greenColor: { color: '#02677D' } }); export default FutureReservationPageComponent;