import 'package:flutter/material.dart'; import 'package:grostore/app_lang.dart'; import 'package:grostore/configs/style_config.dart'; import 'package:grostore/custom_ui/BoxDecorations.dart'; import 'package:grostore/custom_ui/common_appbar.dart'; import 'package:grostore/custom_ui/shimmers.dart'; import 'package:grostore/helpers/device_info_helper.dart'; import 'package:grostore/presenters/wallet_presenter.dart'; import 'package:provider/provider.dart'; class Wallet extends StatefulWidget { const Wallet({super.key}); @override State createState() => _WalletState(); } class _WalletState extends State { @override void initState() { WidgetsBinding.instance.addPostFrameCallback((timeStamp) { Provider.of(context,listen: false).initState(); }); super.initState(); } @override Widget build(BuildContext context) { return Scaffold( appBar: CommonAppbar.show(title: AppLang.local(context).wallet_history_ucf, context: context), body: Consumer( builder: (context,data,child) { return RefreshIndicator( onRefresh: data.onRefresh, child: SingleChildScrollView( physics: const AlwaysScrollableScrollPhysics(), child: data.isWalletInit && data.walletHistory.isEmpty? SizedBox( height: getHeight(context), child: Center( child: Text(AppLang.local(context).data_is_not_available), ), ) : data.isWalletInit? ListView.separated( physics: const NeverScrollableScrollPhysics(), shrinkWrap: true, padding: EdgeInsets.symmetric(horizontal: StyleConfig.padding), itemBuilder: (context,index)=>Container( padding: const EdgeInsets.symmetric(horizontal: 14,vertical: 10), decoration: BoxDecorations.shadow(radius: 10), child: Row( children: [ Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ Text(data.walletHistory[index].date), const SizedBox(height: 8,), Text(data.walletHistory[index].paymentMethod), ], ), const Spacer(), Text(data.walletHistory[index].amount,style: StyleConfig.fs14cSecondryfwBold,), ], ), ), separatorBuilder: (context,index)=>SizedBox(height: StyleConfig.padding,), itemCount: data.walletHistory.length): Padding(padding: EdgeInsets.symmetric(horizontal: StyleConfig.padding), child: Shimmers.list(15, getWidth(context), 55.0), ), ), ); } ), ); } }