import { View, Text, Pressable, Image, ScrollView, Alert, ImageBackground, ActivityIndicator } from 'react-native'; import { SafeAreaView } from 'react-native-safe-area-context'; import { router, useLocalSearchParams } from 'expo-router'; import { PreviousPageBlackSvg } from '../global/SVG'; import NormalButton from '../global/normal_button'; import { useEffect, useState } from 'react'; import * as ImagePicker from 'expo-image-picker'; import * as SecureStore from 'expo-secure-store'; import * as FileSystem from 'expo-file-system'; import { authenticationService } from '../../service/authService'; import { FlashList } from '@shopify/flash-list'; import { walletService } from '../../service/walletService'; import { convertToHKTime } from '../../util/lib'; import { set } from 'date-fns'; interface TransactionRecordItem { date: string; description: string; amount: number; } const TransactionRow: React.FC = ({ date, description, amount }) => ( {date} {description} {amount} ); const PaymentRecordPageComponent = () => { const params = useLocalSearchParams(); const walletBalance = params.walletBalance; const [transactionRecord, setTransactionRecord] = useState([]); const [loading, setLoading] = useState(false); const [loading1, setLoading1] = useState(false); useEffect(() => { const fetchTransactionRecord = async () => { try { const response = await walletService.getTransactionRecord(); const formattedData: TransactionRecordItem[] = response .sort((a, b) => new Date(b.createdAt) - new Date(a.createdAt)) .map((item: any) => { return { date: convertToHKTime(item.createdAt).hkDate, description: item.type === 'wallet' ? '充電' : '充值', amount: item.amount }; }); setTransactionRecord(formattedData.slice(0, 10)); } catch (error) { console.log(error); } }; fetchTransactionRecord(); }, []); //fetch transaction record return ( { if (router.canGoBack()) { router.back(); } else { router.replace('/accountMainPage'); } }} > 錢包記錄 餘額 (HKD) {loading ? ( ) : ( <> $ {walletBalance} )} 日期 內容 金額 ( )} estimatedItemSize={10} /> ); }; export default PaymentRecordPageComponent;