import 'package:flutter/material.dart'; import 'package:provider/provider.dart'; import '../../config/custom_text.dart'; import '../../config/language/language_enum.dart'; import '../../providers/language_provider.dart'; import '../../providers/ride_providers.dart'; import '../../utils/colors.dart'; import 'PaymentCard.dart'; class PaymentHistory extends StatefulWidget { const PaymentHistory({super.key}); @override State createState() => _PaymentHistoryState(); } class _PaymentHistoryState extends State { bool _firstLoadDone = false; @override void initState() { super.initState(); WidgetsBinding.instance.addPostFrameCallback((_) async { await _loadForTab( loadMore: false); _firstLoadDone = true; }); } @override void dispose() { super.dispose(); } Future _loadForTab( {required bool loadMore}) async { final ridesProvider = context.read(); await ridesProvider.fetchMyRides(loadMore: loadMore,status: 'COMPLETED'); } @override Widget build(BuildContext context) { final languageProvider = context.watch(); bool isArabic = languageProvider.currentLangCode == Language.ar; final prov = context.watch(); return SafeArea( child: Scaffold( backgroundColor: AppNewColors.white, body: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ const SizedBox(height: 20), // top bar Center( child: Txt( text: 'Payment history', style: TextStyle( color: AppNewColors.black, fontSize: 16, fontFamily: isArabic ? "Readex_Pro" : 'Inter', fontWeight: FontWeight.w600, height: 1.23, )), ), const SizedBox(height: 20), Expanded( child: ListView.builder( itemCount: prov.rides.length, itemBuilder: (context, index) { return Padding( padding: const EdgeInsets.all(8.0), child: PaymentCard(ride: prov.rides[index],), ); }, ), ), ], ), ), ); } }