import { View, Text, ScrollView, Pressable, StyleSheet } from 'react-native'; import { SafeAreaView } from 'react-native-safe-area-context'; import { router, useLocalSearchParams } from 'expo-router'; import NormalButton from '../global/normal_button'; import { PreviousPageBlackSvg, PreviousPageSvg } from '../global/SVG'; import useCouponStore from '../../providers/coupon_store'; import { useEffect } from 'react'; import useBookingStore from '../../providers/booking_store'; const BookingConfirmationPageComponent = () => { const params = useLocalSearchParams(); console.log(params); const { setSelectedCouponName, setSelectedCouponRedeemCode } = useCouponStore(); useEffect(() => { setSelectedCouponName(''); setSelectedCouponRedeemCode(''); }, []); const convertDate = (dateString) => { const [month, day] = dateString.split('/'); const monthNumber = parseInt(month, 10); return `${monthNumber}月${day}`; }; const price = params.price; const calculatePaymentFee = () => { const chargingMethod = params.chargingMethod; const price = parseFloat(params.price); if (chargingMethod === 'stopChargingUponBatteryFull') { const carCapacitance = parseFloat(params.carCapacitance); return (carCapacitance * price).toFixed(2); } else { const chargingWatt = parseFloat(params.chargingWatt); return (price * chargingWatt).toFixed(2); } }; const paymentFee = calculatePaymentFee(); const setBookingInfo = useBookingStore((state) => state.setBookingInfo); return ( { if (router.canGoBack()) { router.back(); } else { router.replace('./'); } }} > 確認您的預約 日期 {convertDate(params.date)} 時間 {params.bookTime} 充電地點 {params.chargeStationName} {params.chargeStationAddress} 方案 {params.chargingMethod === 'chargingBasedOnWatt' ? ( <> 按每度電結算 {params.chargingWatt?.split('~')[0]} ) : ( 充滿停機 )} 車輛 {params.carName} **由於充電站車流眾多,敬請客戶務必於預約時間的十五分鐘內到達充電站。 **若客戶逾時超過15分鐘,系統將視作自動放棄預約,客戶需要重新預約一次。 **本公司有權保留全數費用,恕不退還。 下一步 } // onPress={() => router.push('bookingSuccessPage')} onPress={() => { setBookingInfo({ bookDateForDisplay: convertDate(params.date), bookTimeForDisplay: params.bookTime, chargeStationAddressForDisplay: params.chargeStationAddress, chargeStationNameForDisplay: params.chargeStationName, carNameForDisplay: params.carName }); router.push({ pathname: 'paymentSummaryPage', params: { stationID: params.chargeStationID, connectorID: params.connectorID, userID: params.userID, date: params.date, bookTime: params.bookTime, price: params.price, chargingWatt: params.chargingWatt, carID: params.carID, paymentFee: paymentFee, car_Capacity: params.carCapacitance } }); }} extendedStyle={{ padding: 24, marginTop: 24 }} /> ); }; export default BookingConfirmationPageComponent; const styles = StyleSheet.create({ grayColor: { color: '#888888' }, greenColor: { color: '#02677D' } });