diff --git a/assets/images/wallet_screen/copy.png b/assets/images/wallet_screen/copy.png new file mode 100644 index 0000000..ed562cf Binary files /dev/null and b/assets/images/wallet_screen/copy.png differ diff --git a/lib/core/routes/route_name.dart b/lib/core/routes/route_name.dart index 1ab4196..c5f13d2 100644 --- a/lib/core/routes/route_name.dart +++ b/lib/core/routes/route_name.dart @@ -37,6 +37,8 @@ class RouteName { static const String withdrawalScreen = 'withdrawalScreen'; static const String withdrawalPreview = 'withdrawalPreview'; static const String withdrawalConfirmation = 'withdrawalConfirmation'; + static const String depositScreen = 'depositScreen'; + static const String depositPreview = 'depositPreview'; //Biometric static const String biometricScreen = 'biometricScreen'; diff --git a/lib/core/routes/routes.dart b/lib/core/routes/routes.dart index 95c8221..043f633 100644 --- a/lib/core/routes/routes.dart +++ b/lib/core/routes/routes.dart @@ -7,6 +7,8 @@ import 'package:tanami_app/features/MainScreens/Invest/presentation/pages/invest import 'package:tanami_app/features/MainScreens/Invest/presentation/pages/payment/confirm_investment_screen.dart'; import 'package:tanami_app/features/MainScreens/Invest/presentation/pages/payment/invest_payment_screen.dart'; import 'package:tanami_app/features/MainScreens/Portfolio/presentation/pages/portfolio_details_screen.dart'; +import 'package:tanami_app/features/MainScreens/Wallet/presentation/pages/deposit/depositScreen.dart'; +import 'package:tanami_app/features/MainScreens/Wallet/presentation/pages/deposit/preview.dart'; import 'package:tanami_app/features/MainScreens/Wallet/presentation/pages/walletDetails.dart'; import 'package:tanami_app/features/MainScreens/Wallet/presentation/pages/withdrawal/confirmation.dart'; import 'package:tanami_app/features/MainScreens/Wallet/presentation/pages/withdrawal/preview.dart'; @@ -189,6 +191,20 @@ final goRouter = GoRouter( return const WithdrawalConfirmation(); }, ), + GoRoute( + name: RouteName.depositScreen, + path: RouteName.depositScreen, + builder: (context, state) { + return const DepositScreen(); + }, + ), + GoRoute( + name: RouteName.depositPreview, + path: RouteName.depositPreview, + builder: (context, state) { + return const DepositPreview(); + }, + ), GoRoute( name: RouteName.contactAdminScreen, path: RouteName.contactAdminScreen, diff --git a/lib/core/styles/app_text.dart b/lib/core/styles/app_text.dart index 400f128..579545d 100644 --- a/lib/core/styles/app_text.dart +++ b/lib/core/styles/app_text.dart @@ -134,6 +134,7 @@ class AppText { static const String onHold = "On hold"; static const String walletDetailsTitle = "Details"; static const String withdrawalScreenTitle = 'Enter bank details'; + static const String depositScreenTitle = 'Deposit notification'; static const String status = "Status"; static const String paymentMethod = "Payment Method"; static const String accountName = "Account Name"; @@ -150,14 +151,23 @@ class AppText { 'Please confirm the withdrawal amount and verify the accuracy of your bank details.'; static const String balance = 'Wallet balance: '; static const String withdrawTitle = 'Withdrawal'; + static const String depositTitle = 'Deposit'; static const String withdrawDetails = 'Withdrawal details'; + static const String depositDetails = 'Deposit details'; static const String required = 'Fields with * are required'; static const String withdrawAmt = 'Total Withdrawal amount:'; + static const String depositAmt = 'Total Deposit amount:'; static const String info2 = 'Payment can include transfer fee from your bank'; + static const String info3 = 'To accomplish payment please use payment details and Reference ID in tour Bank'; static const String next = 'Next'; + static const String depositNoti = 'Create deposit notification'; static const String submit = 'Submit request'; + static const String submitDeposit = 'Submit deposit'; static const String cont = 'Continue'; static const String later = 'Later'; + static const String back = 'Back to change'; + static const String bankTransfer = 'Bank Transfer'; + static const String amtTrans = 'Amount of transaction'; //Settings static const String settingsText = "Settings"; diff --git a/lib/features/MainScreens/Wallet/presentation/pages/deposit/depositScreen.dart b/lib/features/MainScreens/Wallet/presentation/pages/deposit/depositScreen.dart index 4a37c05..4319b80 100644 --- a/lib/features/MainScreens/Wallet/presentation/pages/deposit/depositScreen.dart +++ b/lib/features/MainScreens/Wallet/presentation/pages/deposit/depositScreen.dart @@ -1,4 +1,18 @@ import 'package:flutter/material.dart'; +import 'package:flutter/services.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:flutter_screenutil/flutter_screenutil.dart'; +import 'package:flutter_svg/svg.dart'; +import 'package:gap/gap.dart'; +import 'package:google_fonts/google_fonts.dart'; +import 'package:tanami_app/core/routes/route_name.dart'; +import 'package:tanami_app/core/routes/routes.dart'; +import 'package:tanami_app/core/styles/app_color.dart'; +import 'package:tanami_app/core/styles/app_images.dart'; +import 'package:tanami_app/core/styles/app_text.dart'; +import 'package:tanami_app/features/countrySelection/presentation/bloc/choose_country_bloc.dart'; +import 'package:tanami_app/features/countrySelection/presentation/bloc/choose_country_event.dart'; +import 'package:tanami_app/shared/components/text_widget.dart'; class DepositScreen extends StatefulWidget { const DepositScreen({super.key}); @@ -8,8 +22,410 @@ class DepositScreen extends StatefulWidget { } class _DepositScreenState extends State { + int selectedIndex = 0; @override Widget build(BuildContext context) { - return Scaffold(); + final radioBloc = context.read(); + return Scaffold( + backgroundColor: Colors.white, + appBar: AppBar( + backgroundColor: Colors.white, + elevation: 0, + scrolledUnderElevation: 0.0, + centerTitle: true, + title: Text( + AppText.depositScreenTitle, + style: GoogleFonts.dmSans( + color: const Color(0xFF272727), + fontSize: 20.sp, + fontWeight: FontWeight.w700, + ), + ), + ), + body: Padding( + padding: const EdgeInsets.all(18.0), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + RichText( + text: TextSpan( + children: [ + TextSpan( + text: AppText.balance, + style: GoogleFonts.dmSans( + color: const Color(0xFF888888), + fontSize: 12.sp, + fontWeight: FontWeight.w700, + ), + ), + TextSpan( + text: 'SAR 178,000 ', + style: GoogleFonts.dmSans( + color: const Color(0xFF191B1E), + fontSize: 14.sp, + fontWeight: FontWeight.w700, + ), + ), + ], + ), + ), + SizedBox( + height: 20.h, + ), + Container( + width: double.infinity, + decoration: BoxDecoration( + borderRadius: BorderRadius.circular(22.r), + color: Colors.white, + boxShadow: [ + BoxShadow( + color: Colors.black.withOpacity(0.15), + spreadRadius: 2, + blurRadius: 10, + offset: const Offset(0, 5), + ), + ], + ), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Padding( + padding: const EdgeInsets.all(12.0), + child: Row( + children: [ + Container( + decoration: const BoxDecoration( + shape: BoxShape.circle, color: Color(0xFF0FA4A4)), + child: Padding( + padding: const EdgeInsets.all(12.0), + child: Image.asset( + 'assets/images/wallet_screen/deposit_list.png', + height: 36.h, + ), + ), + ), + SizedBox( + width: 12.w, + ), + Text( + AppText.depositTitle, + style: GoogleFonts.dmSans( + color: Colors.black, + fontSize: 17.sp, + fontWeight: FontWeight.w700, + ), + ), + ], + ), + ), + Container( + decoration: BoxDecoration( + color: const Color(0xFFD8D8D8).withOpacity(0.4), + ), + child: Padding( + padding: const EdgeInsets.symmetric( + vertical: 16.0, horizontal: 12.0), + child: Row( + crossAxisAlignment: CrossAxisAlignment.center, + children: [ + Text( + 'SAR', + style: GoogleFonts.dmSans( + color: const Color(0xFF363636), + fontSize: 15.sp, + fontWeight: FontWeight.w700, + ), + ), + SizedBox( + width: 12.w, + ), + SizedBox( + width: 280.w, + child: TextFormField( + cursorColor: Colors.black, + keyboardType: TextInputType.number, + textAlign: TextAlign.center, + style: GoogleFonts.dmSans( + color: Colors.black, + fontSize: 16.sp, + fontWeight: FontWeight.w400, + ), + decoration: InputDecoration( + hintText: '1000', + hintStyle: GoogleFonts.dmSans( + color: const Color(0xFFC6C6C6), + fontSize: 16.sp, + fontWeight: FontWeight.w400, + ), + labelStyle: + const TextStyle(color: Colors.black), + contentPadding: const EdgeInsets.symmetric( + vertical: 15, horizontal: 10), + filled: true, + fillColor: Colors.white, + border: OutlineInputBorder( + borderRadius: BorderRadius.circular(12), + borderSide: const BorderSide( + color: Colors.white, width: 1), + ), + enabledBorder: OutlineInputBorder( + borderRadius: BorderRadius.circular(12), + borderSide: const BorderSide( + color: Colors.white, width: 1), + ), + disabledBorder: OutlineInputBorder( + borderRadius: BorderRadius.circular(12), + borderSide: const BorderSide( + color: Colors.white, width: 1), + ), + focusedBorder: OutlineInputBorder( + borderRadius: BorderRadius.circular(12), + borderSide: const BorderSide( + color: Colors.white, width: 1), + ), + errorBorder: OutlineInputBorder( + borderRadius: BorderRadius.circular(12), + borderSide: const BorderSide( + color: Colors.red, width: 1), + ), + focusedErrorBorder: OutlineInputBorder( + borderRadius: BorderRadius.circular(12), + borderSide: const BorderSide( + color: Colors.red, width: 1), + ), + ), + inputFormatters: [ + FilteringTextInputFormatter.deny(RegExp(r'\s')), + LengthLimitingTextInputFormatter(20), + ], + ), + ), + ], + ), + ), + ), + Container( + decoration: BoxDecoration( + color: const Color(0xFFD8D8D8).withOpacity(0.4), + borderRadius: BorderRadius.only( + bottomLeft: Radius.circular(22.r), + bottomRight: Radius.circular(22.r), + ), + border: const Border( + top: BorderSide(color: Color(0xFFD8D8D8), width: 2.0), + ), + ), + child: Padding( + padding: const EdgeInsets.symmetric( + vertical: 16.0, horizontal: 12.0), + child: Column( + children: [ + Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Text( + 'Fee', + style: GoogleFonts.dmSans( + color: const Color(0xFF535353), + fontSize: 14.sp, + fontWeight: FontWeight.w500, + ), + ), + Text( + '3%', + style: GoogleFonts.dmSans( + color: Colors.black, + fontSize: 14.sp, + fontWeight: FontWeight.w700, + ), + ), + ], + ), + Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Text( + 'Total Deposit amount:', + style: GoogleFonts.dmSans( + color: const Color(0xFF535353), + fontSize: 14.sp, + fontWeight: FontWeight.w500, + ), + ), + Text( + 'SAR 253', + style: GoogleFonts.dmSans( + color: Colors.black, + fontSize: 14.sp, + fontWeight: FontWeight.w700, + ), + ), + ], + ), + ], + ), + ), + ), + ], + ), + ), + const Gap(30), + TextWidget().text15W700(AppText.choosePaymentMethodText, + clr: AppColor.plainBlack), + const Gap(16), + InkWell( + onTap: () { + radioBloc.add(const RadioSelected(0)); + }, + child: Container( + padding: const EdgeInsets.all(12), + decoration: ShapeDecoration( + color: Colors.white, + shape: RoundedRectangleBorder( + side: const BorderSide(color: Color(0xFFD8D8D8)), + borderRadius: BorderRadius.circular(22), + ), + shadows: const [ + BoxShadow( + color: Color(0x14000000), + blurRadius: 8, + offset: Offset(-2, -2), + spreadRadius: 0.50, + ), + BoxShadow( + color: Color(0x3391978E), + blurRadius: 8, + offset: Offset(2, 2), + spreadRadius: 1, + ) + ], + ), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Row( + children: [ + Radio( + activeColor: AppColor.radioActiveColor, + value: 0, + groupValue: selectedIndex, + onChanged: (int? value) { + if (value != null) { + radioBloc.add(RadioSelected(value)); + } + }, + ), + SvgPicture.asset(AppImages.walletIcon), + const Gap(5), + TextWidget().text14W700(AppText.bankTransfer, + clr: AppColor.textLabelColor), + ], + ), + TextWidget().text14W500( + "Directly transfer funds from your bank account into your Tanami wallet.", + clr: AppColor.textLabelColor, + txtAlign: TextAlign.left, + ), + const Gap(12), + ], + ), + ), + ), + const Gap(12), + InkWell( + onTap: () { + radioBloc.add(const RadioSelected(1)); + }, + child: Container( + padding: const EdgeInsets.all(12), + decoration: ShapeDecoration( + color: Colors.white, + shape: RoundedRectangleBorder( + side: const BorderSide(color: Color(0xFFD8D8D8)), + borderRadius: BorderRadius.circular(22), + ), + shadows: const [ + BoxShadow( + color: Color(0x14000000), + blurRadius: 8, + offset: Offset(-2, -2), + spreadRadius: 0.2, + ), + BoxShadow( + color: Color(0x3391978E), + blurRadius: 8, + offset: Offset(2, 2), + spreadRadius: 1, + ) + ], + ), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Row( + children: [ + Radio( + activeColor: AppColor.radioActiveColor, + value: 1, + groupValue: selectedIndex, + onChanged: (int? value) { + if (value != null) { + radioBloc.add(RadioSelected(value)); + } + }, + ), + SvgPicture.asset(AppImages.applePayIcon), + const Gap(5), + TextWidget().text14W700(AppText.applePayText, + clr: AppColor.textLabelColor), + ], + ), + ], + ), + TextWidget().text14W500( + AppText.instantTransferFundsApplePayText, + clr: AppColor.textLabelColor, + txtAlign: TextAlign.left, + ), + const Gap(12), + ], + ), + ), + ), + const Gap(16), + ], + ), + ), + bottomNavigationBar: GestureDetector( + onTap: () { + goRouter.pushNamed(RouteName.depositPreview); + }, + child: Container( + margin: const EdgeInsets.all(12.0), + height: 56.h, + width: double.infinity, + decoration: BoxDecoration( + borderRadius: BorderRadius.circular(22.r), + color: const Color(0xFF004717), + ), + child: Padding( + padding: const EdgeInsets.symmetric(vertical: 20.0), + child: Center( + child: Text( + AppText.depositNoti, + style: GoogleFonts.dmSans( + color: Colors.white, + fontSize: 14.sp, + fontWeight: FontWeight.w700, + ), + ), + ), + ), + ), + ), + ); } -} \ No newline at end of file +} diff --git a/lib/features/MainScreens/Wallet/presentation/pages/deposit/preview.dart b/lib/features/MainScreens/Wallet/presentation/pages/deposit/preview.dart new file mode 100644 index 0000000..16131ab --- /dev/null +++ b/lib/features/MainScreens/Wallet/presentation/pages/deposit/preview.dart @@ -0,0 +1,417 @@ +import 'package:flutter/material.dart'; +import 'package:flutter/widgets.dart'; +import 'package:flutter_screenutil/flutter_screenutil.dart'; +import 'package:gap/gap.dart'; +import 'package:google_fonts/google_fonts.dart'; +import 'package:tanami_app/core/routes/route_name.dart'; +import 'package:tanami_app/core/routes/routes.dart'; +import 'package:tanami_app/core/styles/app_text.dart'; +import 'package:tanami_app/shared/components/text_widget.dart'; + +class DepositPreview extends StatefulWidget { + const DepositPreview({super.key}); + + @override + State createState() => _DepositPreviewState(); +} + +class _DepositPreviewState extends State { + List titles = [ + AppText.accountHolderName, + AppText.iban, + AppText.beneficiaryAddress, + AppText.bankName, + AppText.branchAddress, + AppText.SWIFTcode, + AppText.refid, + ]; + List values = [ + 'Name Surname', + 'DE 1234 5678 9012 3456', + 'Hohenzollernring 58, 95444', + 'Name Bank', + 'Hohenzollernring 58, 95444', + 'BC12345', + 'FRYU FHDU 1234', + ]; + + List titles2 = [ + AppText.amtTrans, + AppText.paymentMethod, + AppText.feeText, + AppText.depositAmt, + ]; + List values2 = [ + '', + 'Money Transfer', + '3%', + 'SAR 253', + ]; + @override + Widget build(BuildContext context) { + return Scaffold( + backgroundColor: Colors.white, + appBar: AppBar( + backgroundColor: Colors.white, + elevation: 0, + scrolledUnderElevation: 0.0, + centerTitle: true, + title: Text( + AppText.depositScreenTitle, + style: GoogleFonts.dmSans( + color: const Color(0xFF272727), + fontSize: 20.sp, + fontWeight: FontWeight.w700, + ), + ), + ), + body: SingleChildScrollView( + child: Padding( + padding: const EdgeInsets.all(18.0), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + RichText( + text: TextSpan( + children: [ + TextSpan( + text: AppText.balance, + style: GoogleFonts.dmSans( + color: const Color(0xFF888888), + fontSize: 12.sp, + fontWeight: FontWeight.w700, + ), + ), + TextSpan( + text: 'SAR 178,000 ', + style: GoogleFonts.dmSans( + color: const Color(0xFF191B1E), + fontSize: 14.sp, + fontWeight: FontWeight.w700, + ), + ), + ], + ), + ), + SizedBox( + height: 20.h, + ), + Container( + width: double.infinity, + decoration: BoxDecoration( + borderRadius: BorderRadius.circular(22.r), + color: Colors.white, + boxShadow: [ + BoxShadow( + color: Colors.black.withOpacity(0.15), + spreadRadius: 2, + blurRadius: 10, + offset: const Offset(0, 5), + ), + ], + ), + child: Column( + children: [ + Padding( + padding: const EdgeInsets.all(12.0), + child: Row( + children: [ + Container( + decoration: const BoxDecoration( + shape: BoxShape.circle, + color: Color(0xFF0FA4A4)), + child: Padding( + padding: const EdgeInsets.all(12.0), + child: Image.asset( + 'assets/images/wallet_screen/deposit_list.png', + height: 36.h, + ), + ), + ), + SizedBox( + width: 12.w, + ), + Text( + AppText.depositTitle, + style: GoogleFonts.dmSans( + color: Colors.black, + fontSize: 17.sp, + fontWeight: FontWeight.w700, + ), + ), + ], + ), + ), + Container( + decoration: BoxDecoration( + borderRadius: BorderRadius.only( + bottomLeft: Radius.circular(22.r), + bottomRight: Radius.circular(22.r), + ), + color: const Color(0xFFD8D8D8).withOpacity(0.4), + ), + child: Padding( + padding: const EdgeInsets.symmetric( + vertical: 16.0, horizontal: 12.0), + child: ListView.builder( + physics: const NeverScrollableScrollPhysics(), + shrinkWrap: true, + itemCount: titles2.length, + itemBuilder: (context, index) { + return Padding( + padding: + const EdgeInsets.symmetric(vertical: 5.0), + child: Row( + crossAxisAlignment: CrossAxisAlignment.center, + mainAxisAlignment: + MainAxisAlignment.spaceBetween, + children: [ + Text( + titles2[index], + style: GoogleFonts.dmSans( + color: const Color(0xFF535353), + fontSize: 14.sp, + fontWeight: FontWeight.w500, + ), + ), + (index == 0) + ? Column( + crossAxisAlignment: + CrossAxisAlignment.end, + children: [ + Text( + 'SAR 55,000', + style: GoogleFonts.dmSans( + color: Colors.black, + fontSize: 14.sp, + fontWeight: FontWeight.w700, + ), + ), + Text( + '\$ 14,685', + style: GoogleFonts.dmSans( + color: Colors.black, + fontSize: 11.sp, + fontWeight: FontWeight.w400, + ), + ), + ], + ) + : Text( + values2[index], + style: GoogleFonts.dmSans( + color: Colors.black, + fontSize: 14.sp, + fontWeight: FontWeight.w700, + ), + ), + ], + ), + ); + }, + ), + ), + ), + ], + ), + ), + SizedBox( + height: 20.h, + ), + Container( + width: double.infinity, + decoration: BoxDecoration( + borderRadius: BorderRadius.circular(22.r), + color: const Color(0xFFEEF6FB), + border: Border.all(color: const Color(0xFF90D4FF)), + boxShadow: const [ + BoxShadow( + color: Color(0xFFB0D3EF), + spreadRadius: 1, + blurRadius: 10, + offset: Offset(0, 3), + ), + ], + ), + child: Padding( + padding: const EdgeInsets.symmetric( + vertical: 12.0, horizontal: 16.0), + child: Row( + crossAxisAlignment: CrossAxisAlignment.center, + children: [ + Image.asset( + 'assets/images/wallet_screen/info.png', + height: 25.h, + ), + SizedBox( + width: 10.w, + ), + Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + AppText.depositScreenTitle, + style: GoogleFonts.dmSans( + color: const Color(0xFF015698), + fontSize: 14.sp, + fontWeight: FontWeight.w700, + ), + ), + const Gap(4), + SizedBox( + width: 280.w, + child: Text( + AppText.info3, + style: GoogleFonts.dmSans( + color: const Color(0xFF015698), + fontSize: 12.sp, + fontWeight: FontWeight.w500, + ), + ), + ), + ], + ), + ], + ), + ), + ), + SizedBox( + height: 20.h, + ), + Column( + mainAxisSize: MainAxisSize.min, + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + AppText.depositDetails, + style: GoogleFonts.dmSans( + color: Colors.black, + fontSize: 15.sp, + fontWeight: FontWeight.w700, + ), + ), + SizedBox( + height: 10.h, + ), + const Divider( + color: Color(0xFFE3E3E3), + ), + SizedBox( + height: 10.h, + ), + ListView.builder( + physics: const NeverScrollableScrollPhysics(), + itemCount: titles.length, + shrinkWrap: true, + itemBuilder: (context, index) { + return Column( + children: [ + Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + crossAxisAlignment: CrossAxisAlignment.center, + children: [ + Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + titles[index], + style: GoogleFonts.dmSans( + color: Colors.black, + fontSize: 14.sp, + fontWeight: FontWeight.w700, + ), + ), + SizedBox( + height: 8.h, + ), + Text( + values[index], + style: GoogleFonts.dmSans( + color: const Color(0xFF191B1E), + fontSize: 14.sp, + fontWeight: FontWeight.w400, + ), + ), + ], + ), + Image.asset( + 'assets/images/wallet_screen/copy.png', + height: 25.h, + ) + ], + ), + (index != titles.length - 1) + ? Column( + children: [ + SizedBox( + height: 12.h, + ), + Divider( + color: Color(0xFFE3E3E3), height: 2.h), + SizedBox( + height: 12.h, + ), + ], + ) + : SizedBox( + height: 10.h, + ), + ], + ); + }, + ) + ], + ), + ], + ), + ), + ), + bottomNavigationBar: Column( + mainAxisSize: MainAxisSize.min, + children: [ + GestureDetector( + onTap: () { + goRouter.pushNamed(RouteName.otpScreen, pathParameters: { + "fromScreen": 'withdrawal', + }); + }, + child: Container( + margin: const EdgeInsets.all(12.0), + height: 56.h, + width: double.infinity, + decoration: BoxDecoration( + borderRadius: BorderRadius.circular(22.r), + color: const Color(0xFF004717), + ), + child: Padding( + padding: const EdgeInsets.symmetric(vertical: 20.0), + child: Center( + child: Text( + AppText.submitDeposit, + style: GoogleFonts.dmSans( + color: Colors.white, + fontSize: 14.sp, + fontWeight: FontWeight.w700, + ), + ), + ), + ), + ), + ), + Gap(10), + GestureDetector( + onTap: () { + Navigator.pop(context); + }, + child: TextWidget().text14W700( + AppText.back, + clr: const Color(0xFF363636), + textDecoration: TextDecoration.underline, + ), + ), + Gap(30), + ], + ), + ); + } +} diff --git a/lib/features/MainScreens/Wallet/presentation/pages/walletScreen.dart b/lib/features/MainScreens/Wallet/presentation/pages/walletScreen.dart index cb43704..3578e94 100644 --- a/lib/features/MainScreens/Wallet/presentation/pages/walletScreen.dart +++ b/lib/features/MainScreens/Wallet/presentation/pages/walletScreen.dart @@ -1,4 +1,5 @@ import 'package:flutter/material.dart'; +import 'package:flutter/widgets.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart'; import 'package:google_fonts/google_fonts.dart'; import 'package:tanami_app/core/routes/route_name.dart'; @@ -126,31 +127,36 @@ class _WalletScreenState extends State { mainAxisAlignment: MainAxisAlignment.spaceEvenly, crossAxisAlignment: CrossAxisAlignment.center, children: [ - Column( - mainAxisSize: MainAxisSize.min, - children: [ - Container( - decoration: const BoxDecoration( - shape: BoxShape.circle, - color: Colors.black, - ), - child: Padding( - padding: const EdgeInsets.all(8.0), - child: Image.asset( - 'assets/images/wallet_screen/deposit.png', - height: 20.h, + GestureDetector( + onTap: () { + goRouter.pushNamed(RouteName.depositScreen); + }, + child: Column( + mainAxisSize: MainAxisSize.min, + children: [ + Container( + decoration: const BoxDecoration( + shape: BoxShape.circle, + color: Colors.black, + ), + child: Padding( + padding: const EdgeInsets.all(8.0), + child: Image.asset( + 'assets/images/wallet_screen/deposit.png', + height: 20.h, + ), ), ), - ), - Text( - 'Deposit', - style: GoogleFonts.dmSans( - color: const Color(0xFF363636), - fontSize: 12.sp, - fontWeight: FontWeight.w700, + Text( + 'Deposit', + style: GoogleFonts.dmSans( + color: const Color(0xFF363636), + fontSize: 12.sp, + fontWeight: FontWeight.w700, + ), ), - ), - ], + ], + ), ), const VerticalDivider( color: Colors.black,