@@ -131,6 +131,30 @@ class AppText {
|
||||
static const String walletTitle = "Wallet balance";
|
||||
static const String day = "Today";
|
||||
static const String onHold = "On hold";
|
||||
static const String walletDetailsTitle = "Details";
|
||||
static const String withdrawalScreenTitle = 'Enter bank details';
|
||||
static const String status = "Status";
|
||||
static const String paymentMethod = "Payment Method";
|
||||
static const String accountName = "Account Name";
|
||||
static const String accountHolderName =
|
||||
'Account Holder Name/Beneficiary Name';
|
||||
static const String iban = "IBAN";
|
||||
static const String beneficiaryAddress = "Beneficiary Address";
|
||||
static const String bankName = "Bank Name";
|
||||
static const String branchAddress = "Branch Address";
|
||||
static const String SWIFTcode = "SWIFT/BIC code";
|
||||
static const String refid = "Reference ID";
|
||||
static const String previewTitle = "Withdrawal confirmation";
|
||||
static const String info1 =
|
||||
'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 withdrawDetails = 'Withdrawal details';
|
||||
static const String required = 'Fields with * are required';
|
||||
static const String withdrawAmt = 'Total Withdrawal amount:';
|
||||
static const String info2 = 'Payment can include transfer fee from your bank';
|
||||
static const String next = 'Next';
|
||||
static const String submit = 'Submit request';
|
||||
|
||||
//Settings
|
||||
static const String settingsText = "Settings";
|
||||
|
||||
@@ -1,34 +1,58 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_screenutil/flutter_screenutil.dart';
|
||||
import 'package:google_fonts/google_fonts.dart';
|
||||
import 'package:tanami_app/core/styles/app_text.dart';
|
||||
|
||||
class WalletDetails extends StatelessWidget {
|
||||
final String type;
|
||||
WalletDetails({super.key, required this.type});
|
||||
final Map<String, String> data_deposit = {
|
||||
'Payment method': 'Google/Apple Pay',
|
||||
'Account Name': 'Name Surname',
|
||||
'IBAN': 'DE 1234 5678 9012 3456',
|
||||
'Beneficiary Address': 'Hohenzollernring 58, 95444',
|
||||
'Bank Name': 'Bank Name',
|
||||
'Branch Address': 'Hohenzollernring 58, 95444',
|
||||
'SWIFT/BIC code': 'BC12345',
|
||||
'Reference ID': 'FRYU FHDU 1234',
|
||||
};
|
||||
final Map<String, String> data_withdraw = {
|
||||
'Status': 'On hold',
|
||||
'Payment method': 'Google/Apple Pay',
|
||||
'Account Name': 'Name Surname',
|
||||
'IBAN': 'DE 1234 5678 9012 3456',
|
||||
'Beneficiary Address': 'Hohenzollernring 58, 95444',
|
||||
'Bank Name': 'Bank Name',
|
||||
'Branch Address': 'Hohenzollernring 58, 95444',
|
||||
'SWIFT/BIC code': 'BC12345',
|
||||
'Reference ID': 'FRYU FHDU 1234',
|
||||
};
|
||||
final Map<String, String> data_invest = {
|
||||
'Payment method': 'Google/Apple Pay',
|
||||
};
|
||||
final List titles = [
|
||||
AppText.status,
|
||||
AppText.paymentMethod,
|
||||
AppText.accountName,
|
||||
AppText.iban,
|
||||
AppText.beneficiaryAddress,
|
||||
AppText.bankName,
|
||||
AppText.branchAddress,
|
||||
AppText.SWIFTcode,
|
||||
AppText.refid,
|
||||
];
|
||||
final List values = [
|
||||
'On hold',
|
||||
'Google/Apple Pay',
|
||||
'Name Surname',
|
||||
'DE 1234 5678 9012 3456',
|
||||
'Hohenzollernring 58, 95444',
|
||||
'Name Bank',
|
||||
'Hohenzollernring 58, 95444',
|
||||
'BC12345',
|
||||
'FRYU FHDU 1234',
|
||||
];
|
||||
|
||||
// final Map<String, String> data_deposit = {
|
||||
// AppText.paymentMethod: 'Google/Apple Pay',
|
||||
// AppText.accountName: 'Name Surname',
|
||||
// AppText.iban: 'DE 1234 5678 9012 3456',
|
||||
// AppText.beneficiaryAddress: 'Hohenzollernring 58, 95444',
|
||||
// AppText.bankName: 'Bank Name',
|
||||
// AppText.branchAddress: 'Hohenzollernring 58, 95444',
|
||||
// AppText.SWIFTcode: 'BC12345',
|
||||
// AppText.refid: 'FRYU FHDU 1234',
|
||||
// };
|
||||
// final Map<String, String> data_withdraw = {
|
||||
// AppText.status: 'On hold',
|
||||
// AppText.paymentMethod: 'Google/Apple Pay',
|
||||
// AppText.accountName: 'Name Surname',
|
||||
// AppText.iban: 'DE 1234 5678 9012 3456',
|
||||
// AppText.beneficiaryAddress: 'Hohenzollernring 58, 95444',
|
||||
// AppText.bankName: 'Bank Name',
|
||||
// AppText.branchAddress: 'Hohenzollernring 58, 95444',
|
||||
// AppText.SWIFTcode: 'BC12345',
|
||||
// AppText.refid: 'FRYU FHDU 1234',
|
||||
// };
|
||||
// final Map<String, String> data_invest = {
|
||||
// AppText.paymentMethod: 'Google/Apple Pay',
|
||||
// };
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return Scaffold(
|
||||
@@ -39,7 +63,7 @@ class WalletDetails extends StatelessWidget {
|
||||
scrolledUnderElevation: 0.0,
|
||||
centerTitle: true,
|
||||
title: Text(
|
||||
'Details',
|
||||
AppText.walletDetailsTitle,
|
||||
style: GoogleFonts.dmSans(
|
||||
color: const Color(0xFF272727),
|
||||
fontSize: 20.sp,
|
||||
@@ -68,7 +92,7 @@ class WalletDetails extends StatelessWidget {
|
||||
child: Padding(
|
||||
padding: const EdgeInsets.fromLTRB(20.0, 30, 20, 10),
|
||||
child: Column(
|
||||
// mainAxisSize: MainAxisSize.min,
|
||||
mainAxisSize: MainAxisSize.min,
|
||||
children: [
|
||||
Column(
|
||||
crossAxisAlignment: CrossAxisAlignment.center,
|
||||
@@ -202,99 +226,110 @@ class WalletDetails extends StatelessWidget {
|
||||
}
|
||||
|
||||
Widget _buildBody() {
|
||||
List<MapEntry<String, String>> entries;
|
||||
if (type == 'Deposit') {
|
||||
entries = data_deposit.entries.toList();
|
||||
} else if (type == 'Withdrawal') {
|
||||
entries = data_withdraw.entries.toList();
|
||||
} else if (type == 'Yield') {
|
||||
// List<MapEntry<String, String>> entries;
|
||||
if (type == 'Yield') {
|
||||
return Container();
|
||||
} else if (type == 'Refund') {
|
||||
return Container();
|
||||
} else {
|
||||
entries = data_invest.entries.toList();
|
||||
return Padding(
|
||||
padding: const EdgeInsets.symmetric(vertical: 15.0),
|
||||
child: Row(
|
||||
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||||
children: [
|
||||
Text(
|
||||
entries[0].key,
|
||||
style: GoogleFonts.dmSans(
|
||||
color: const Color(0xFF535353),
|
||||
fontSize: 14.sp,
|
||||
fontWeight: FontWeight.w500,
|
||||
),
|
||||
} else if (type == 'Investment') {
|
||||
return Container(
|
||||
width: double.infinity,
|
||||
decoration: BoxDecoration(
|
||||
border: Border(
|
||||
bottom: BorderSide(
|
||||
color: Colors.white,
|
||||
width: 1.0,
|
||||
),
|
||||
SizedBox(
|
||||
width: 180.w,
|
||||
child: Text(
|
||||
entries[0].value,
|
||||
textAlign: TextAlign.end,
|
||||
),
|
||||
),
|
||||
child: Padding(
|
||||
padding: const EdgeInsets.symmetric(vertical: 15.0),
|
||||
child: Row(
|
||||
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||||
children: [
|
||||
Text(
|
||||
AppText.paymentMethod,
|
||||
style: GoogleFonts.dmSans(
|
||||
color: const Color(0xFF191B1E),
|
||||
color: const Color(0xFF535353),
|
||||
fontSize: 14.sp,
|
||||
fontWeight: FontWeight.w600,
|
||||
fontWeight: FontWeight.w500,
|
||||
),
|
||||
),
|
||||
),
|
||||
],
|
||||
SizedBox(
|
||||
width: 180.w,
|
||||
child: Text(
|
||||
'Google/Apple Pay',
|
||||
textAlign: TextAlign.end,
|
||||
style: GoogleFonts.dmSans(
|
||||
color: const Color(0xFF191B1E),
|
||||
fontSize: 14.sp,
|
||||
fontWeight: FontWeight.w600,
|
||||
),
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
);
|
||||
} else {
|
||||
return Expanded(
|
||||
child: ListView.builder(
|
||||
physics: const NeverScrollableScrollPhysics(),
|
||||
shrinkWrap: true,
|
||||
itemCount: titles.length,
|
||||
itemBuilder: (context, index) {
|
||||
if (type == 'Deposit' && titles[index] == 'Status') {
|
||||
return Container();
|
||||
} else {
|
||||
return Container(
|
||||
width: double.infinity,
|
||||
decoration: BoxDecoration(
|
||||
border: Border(
|
||||
bottom: BorderSide(
|
||||
color: (index != titles.length - 1)
|
||||
? Colors.black
|
||||
: Colors.white,
|
||||
width: 1.0,
|
||||
),
|
||||
),
|
||||
),
|
||||
child: Padding(
|
||||
padding: const EdgeInsets.symmetric(vertical: 15.0),
|
||||
child: Row(
|
||||
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||||
children: [
|
||||
Text(
|
||||
titles[index],
|
||||
style: GoogleFonts.dmSans(
|
||||
color: const Color(0xFF535353),
|
||||
fontSize: 14.sp,
|
||||
fontWeight: FontWeight.w500,
|
||||
),
|
||||
),
|
||||
SizedBox(
|
||||
width: 180.w,
|
||||
child: Text(
|
||||
values[index],
|
||||
textAlign: TextAlign.end,
|
||||
style: GoogleFonts.dmSans(
|
||||
color: (titles[index] == 'Status')
|
||||
? const Color(0xFF0172CB)
|
||||
: const Color(0xFF191B1E),
|
||||
fontSize: 14.sp,
|
||||
fontWeight: (titles[index] == 'Status')
|
||||
? FontWeight.w700
|
||||
: FontWeight.w600,
|
||||
),
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
);
|
||||
}
|
||||
},
|
||||
),
|
||||
);
|
||||
}
|
||||
return Expanded(
|
||||
child: ListView.builder(
|
||||
physics: const NeverScrollableScrollPhysics(),
|
||||
shrinkWrap: true,
|
||||
itemCount: entries.length,
|
||||
itemBuilder: (context, index) {
|
||||
return Container(
|
||||
width: double.infinity,
|
||||
decoration: BoxDecoration(
|
||||
border: Border(
|
||||
bottom: BorderSide(
|
||||
color: (index != entries.length - 1)
|
||||
? Colors.black
|
||||
: Colors.white,
|
||||
width: 1.0,
|
||||
),
|
||||
),
|
||||
),
|
||||
child: Padding(
|
||||
padding: const EdgeInsets.symmetric(vertical: 15.0),
|
||||
child: Row(
|
||||
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||||
children: [
|
||||
Text(
|
||||
entries[index].key,
|
||||
style: GoogleFonts.dmSans(
|
||||
color: const Color(0xFF535353),
|
||||
fontSize: 14.sp,
|
||||
fontWeight: FontWeight.w500,
|
||||
),
|
||||
),
|
||||
SizedBox(
|
||||
width: 180.w,
|
||||
child: Text(
|
||||
entries[index].value,
|
||||
textAlign: TextAlign.end,
|
||||
style: GoogleFonts.dmSans(
|
||||
color: (entries[index].key == 'Status')
|
||||
? const Color(0xFF0172CB)
|
||||
: const Color(0xFF191B1E),
|
||||
fontSize: 14.sp,
|
||||
fontWeight: (entries[index].key == 'Status')
|
||||
? FontWeight.w700
|
||||
: FontWeight.w600,
|
||||
),
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
);
|
||||
},
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,6 +4,7 @@ import 'package:flutter_screenutil/flutter_screenutil.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';
|
||||
|
||||
class WithdrawalConfirmation extends StatefulWidget {
|
||||
const WithdrawalConfirmation({super.key});
|
||||
@@ -13,249 +14,260 @@ class WithdrawalConfirmation extends StatefulWidget {
|
||||
}
|
||||
|
||||
class _WithdrawalConfirmationState extends State<WithdrawalConfirmation> {
|
||||
final Map<String, String> data = {
|
||||
'Payment method': 'Google/Apple Pay',
|
||||
'Account Name': 'Name Surname',
|
||||
'IBAN': 'DE 1234 5678 9012 3456',
|
||||
'Beneficiary Address': 'Hohenzollernring 58, 95444',
|
||||
'Bank Name': 'Bank Name',
|
||||
'Branch Address': 'Hohenzollernring 58, 95444',
|
||||
'SWIFT/BIC code': 'BC12345',
|
||||
'Reference ID': 'FRYU FHDU 1234',
|
||||
};
|
||||
final List titles = [
|
||||
AppText.paymentMethod,
|
||||
AppText.accountName,
|
||||
AppText.iban,
|
||||
AppText.beneficiaryAddress,
|
||||
AppText.bankName,
|
||||
AppText.branchAddress,
|
||||
AppText.SWIFTcode,
|
||||
AppText.refid,
|
||||
];
|
||||
final List values = [
|
||||
'Google/Apple Pay',
|
||||
'Name Surname',
|
||||
'DE 1234 5678 9012 3456',
|
||||
'Hohenzollernring 58, 95444',
|
||||
'Name Bank',
|
||||
'Hohenzollernring 58, 95444',
|
||||
'BC12345',
|
||||
'FRYU FHDU 1234',
|
||||
];
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
final List<MapEntry<String, String>> entries = data.entries.toList();
|
||||
|
||||
return Scaffold(
|
||||
backgroundColor: Colors.white,
|
||||
appBar: AppBar(
|
||||
automaticallyImplyLeading: false,
|
||||
return WillPopScope(
|
||||
onWillPop: () async => false,
|
||||
child: Scaffold(
|
||||
backgroundColor: Colors.white,
|
||||
elevation: 0,
|
||||
scrolledUnderElevation: 0.0,
|
||||
centerTitle: true,
|
||||
title: Text(
|
||||
'Withdrawal confirmation',
|
||||
style: GoogleFonts.dmSans(
|
||||
color: const Color(0xFF272727),
|
||||
fontSize: 20.sp,
|
||||
fontWeight: FontWeight.w700,
|
||||
),
|
||||
),
|
||||
actions: [
|
||||
IconButton(
|
||||
onPressed: () {
|
||||
goRouter.goNamed(RouteName.mainScreen);
|
||||
},
|
||||
icon: const Icon(
|
||||
Icons.close_sharp,
|
||||
appBar: AppBar(
|
||||
automaticallyImplyLeading: false,
|
||||
backgroundColor: Colors.white,
|
||||
elevation: 0,
|
||||
scrolledUnderElevation: 0.0,
|
||||
centerTitle: true,
|
||||
title: Text(
|
||||
'Withdrawal confirmation',
|
||||
style: GoogleFonts.dmSans(
|
||||
color: const Color(0xFF272727),
|
||||
fontSize: 20.sp,
|
||||
fontWeight: FontWeight.w700,
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
body: SingleChildScrollView(
|
||||
child: Column(
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
children: [
|
||||
Padding(
|
||||
padding: const EdgeInsets.fromLTRB(18.0, 10, 18.0, 0),
|
||||
child: Row(
|
||||
mainAxisSize: MainAxisSize.min,
|
||||
crossAxisAlignment: CrossAxisAlignment.center,
|
||||
children: [
|
||||
Image.asset(
|
||||
'assets/images/wallet_screen/done.png',
|
||||
height: 25.h,
|
||||
),
|
||||
SizedBox(
|
||||
width: 10.w,
|
||||
),
|
||||
SizedBox(
|
||||
width: 320.w,
|
||||
child: Column(
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
children: [
|
||||
Text(
|
||||
'Please confirm the withdrawal amount and verify the accuracy of your bank details.',
|
||||
style: GoogleFonts.dmSans(
|
||||
color: const Color(0xFF015698),
|
||||
fontSize: 14.sp,
|
||||
fontWeight: FontWeight.w700,
|
||||
),
|
||||
),
|
||||
SizedBox(
|
||||
height: 4.h,
|
||||
),
|
||||
Text(
|
||||
'Processing times vary from 3-7 working days',
|
||||
style: GoogleFonts.dmSans(
|
||||
color: const Color(0xFF015698),
|
||||
fontSize: 12.sp,
|
||||
fontWeight: FontWeight.w500,
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
],
|
||||
actions: [
|
||||
IconButton(
|
||||
onPressed: () {
|
||||
goRouter.goNamed(RouteName.mainScreen);
|
||||
},
|
||||
icon: const Icon(
|
||||
Icons.close_sharp,
|
||||
),
|
||||
),
|
||||
SizedBox(
|
||||
height: 20.h,
|
||||
),
|
||||
Padding(
|
||||
padding: const EdgeInsets.symmetric(horizontal: 18.0),
|
||||
child: 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, 8),
|
||||
],
|
||||
),
|
||||
body: SingleChildScrollView(
|
||||
child: Column(
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
children: [
|
||||
Padding(
|
||||
padding: const EdgeInsets.fromLTRB(18.0, 10, 18.0, 0),
|
||||
child: Row(
|
||||
mainAxisSize: MainAxisSize.min,
|
||||
crossAxisAlignment: CrossAxisAlignment.center,
|
||||
children: [
|
||||
Image.asset(
|
||||
'assets/images/wallet_screen/done.png',
|
||||
height: 25.h,
|
||||
),
|
||||
],
|
||||
),
|
||||
child: Padding(
|
||||
padding: const EdgeInsets.fromLTRB(20.0, 30, 20, 10),
|
||||
child: Column(
|
||||
mainAxisSize: MainAxisSize.min,
|
||||
children: [
|
||||
Column(
|
||||
crossAxisAlignment: CrossAxisAlignment.center,
|
||||
SizedBox(
|
||||
width: 10.w,
|
||||
),
|
||||
SizedBox(
|
||||
width: 320.w,
|
||||
child: Column(
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
children: [
|
||||
Container(
|
||||
decoration: const BoxDecoration(
|
||||
shape: BoxShape.circle,
|
||||
color: Color(0xFFE6681F),
|
||||
),
|
||||
child: Padding(
|
||||
padding: const EdgeInsets.all(8.0),
|
||||
child: Image.asset(
|
||||
'assets/images/wallet_screen/withdraw_list.png',
|
||||
height: 25.h,
|
||||
),
|
||||
),
|
||||
),
|
||||
SizedBox(
|
||||
height: 16.h,
|
||||
),
|
||||
Text(
|
||||
'Withdrawal',
|
||||
'Please confirm the withdrawal amount and verify the accuracy of your bank details.',
|
||||
style: GoogleFonts.dmSans(
|
||||
color: const Color(0xFF191B1E),
|
||||
color: const Color(0xFF015698),
|
||||
fontSize: 14.sp,
|
||||
fontWeight: FontWeight.w600,
|
||||
fontWeight: FontWeight.w700,
|
||||
),
|
||||
),
|
||||
SizedBox(
|
||||
height: 4.h,
|
||||
),
|
||||
Text(
|
||||
'10/04/2024 22:04',
|
||||
'Processing times vary from 3-7 working days',
|
||||
style: GoogleFonts.dmSans(
|
||||
color: const Color(0xFF8D8D8D),
|
||||
fontSize: 11.sp,
|
||||
color: const Color(0xFF015698),
|
||||
fontSize: 12.sp,
|
||||
fontWeight: FontWeight.w500,
|
||||
),
|
||||
),
|
||||
SizedBox(
|
||||
height: 16.h,
|
||||
),
|
||||
Text(
|
||||
'- SAR 1000',
|
||||
style: GoogleFonts.dmSans(
|
||||
color: const Color(0xFF191B1E),
|
||||
fontSize: 20.sp,
|
||||
fontWeight: FontWeight.w900,
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
SizedBox(
|
||||
height: 35.h,
|
||||
),
|
||||
ListView.builder(
|
||||
physics: const NeverScrollableScrollPhysics(),
|
||||
shrinkWrap: true,
|
||||
itemCount: entries.length,
|
||||
itemBuilder: (context, index) {
|
||||
return Column(
|
||||
children: [
|
||||
Padding(
|
||||
padding:
|
||||
const EdgeInsets.symmetric(vertical: 12.0),
|
||||
child: Row(
|
||||
mainAxisAlignment:
|
||||
MainAxisAlignment.spaceBetween,
|
||||
children: [
|
||||
Text(
|
||||
entries[index].key,
|
||||
style: GoogleFonts.dmSans(
|
||||
color: const Color(0xFF535353),
|
||||
fontSize: 14.sp,
|
||||
fontWeight: FontWeight.w500,
|
||||
),
|
||||
),
|
||||
SizedBox(
|
||||
width: 175.w,
|
||||
child: Text(
|
||||
entries[index].value,
|
||||
textAlign: TextAlign.end,
|
||||
style: GoogleFonts.dmSans(
|
||||
color: const Color(0xFF191B1E),
|
||||
fontSize: 14.sp,
|
||||
fontWeight: FontWeight.w600,
|
||||
),
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
(index != entries.length - 1)
|
||||
? Divider()
|
||||
: Container()
|
||||
],
|
||||
);
|
||||
},
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
SizedBox(
|
||||
height: 20.h,
|
||||
),
|
||||
Padding(
|
||||
padding: const EdgeInsets.symmetric(horizontal: 18.0),
|
||||
child: 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, 8),
|
||||
),
|
||||
],
|
||||
),
|
||||
child: Padding(
|
||||
padding: const EdgeInsets.fromLTRB(20.0, 30, 20, 10),
|
||||
child: Column(
|
||||
mainAxisSize: MainAxisSize.min,
|
||||
children: [
|
||||
Column(
|
||||
crossAxisAlignment: CrossAxisAlignment.center,
|
||||
children: [
|
||||
Container(
|
||||
decoration: const BoxDecoration(
|
||||
shape: BoxShape.circle,
|
||||
color: Color(0xFFE6681F),
|
||||
),
|
||||
child: Padding(
|
||||
padding: const EdgeInsets.all(8.0),
|
||||
child: Image.asset(
|
||||
'assets/images/wallet_screen/withdraw_list.png',
|
||||
height: 25.h,
|
||||
),
|
||||
),
|
||||
),
|
||||
SizedBox(
|
||||
height: 16.h,
|
||||
),
|
||||
Text(
|
||||
'Withdrawal',
|
||||
style: GoogleFonts.dmSans(
|
||||
color: const Color(0xFF191B1E),
|
||||
fontSize: 14.sp,
|
||||
fontWeight: FontWeight.w600,
|
||||
),
|
||||
),
|
||||
SizedBox(
|
||||
height: 4.h,
|
||||
),
|
||||
Text(
|
||||
'10/04/2024 22:04',
|
||||
style: GoogleFonts.dmSans(
|
||||
color: const Color(0xFF8D8D8D),
|
||||
fontSize: 11.sp,
|
||||
fontWeight: FontWeight.w500,
|
||||
),
|
||||
),
|
||||
SizedBox(
|
||||
height: 16.h,
|
||||
),
|
||||
Text(
|
||||
'- SAR 1000',
|
||||
style: GoogleFonts.dmSans(
|
||||
color: const Color(0xFF191B1E),
|
||||
fontSize: 20.sp,
|
||||
fontWeight: FontWeight.w900,
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
SizedBox(
|
||||
height: 35.h,
|
||||
),
|
||||
ListView.builder(
|
||||
physics: const NeverScrollableScrollPhysics(),
|
||||
shrinkWrap: true,
|
||||
itemCount: titles.length,
|
||||
itemBuilder: (context, index) {
|
||||
return Column(
|
||||
children: [
|
||||
Padding(
|
||||
padding: const EdgeInsets.symmetric(
|
||||
vertical: 12.0),
|
||||
child: Row(
|
||||
mainAxisAlignment:
|
||||
MainAxisAlignment.spaceBetween,
|
||||
children: [
|
||||
Text(
|
||||
titles[index],
|
||||
style: GoogleFonts.dmSans(
|
||||
color: const Color(0xFF535353),
|
||||
fontSize: 14.sp,
|
||||
fontWeight: FontWeight.w500,
|
||||
),
|
||||
),
|
||||
SizedBox(
|
||||
width: 175.w,
|
||||
child: Text(
|
||||
values[index],
|
||||
textAlign: TextAlign.end,
|
||||
style: GoogleFonts.dmSans(
|
||||
color: const Color(0xFF191B1E),
|
||||
fontSize: 14.sp,
|
||||
fontWeight: FontWeight.w600,
|
||||
),
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
(index != titles.length - 1)
|
||||
? Divider()
|
||||
: Container()
|
||||
],
|
||||
);
|
||||
},
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
SizedBox(
|
||||
height: 10.h,
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
bottomNavigationBar: GestureDetector(
|
||||
onTap: () {
|
||||
goRouter.goNamed(RouteName.mainScreen);
|
||||
},
|
||||
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),
|
||||
SizedBox(
|
||||
height: 10.h,
|
||||
),
|
||||
],
|
||||
),
|
||||
child: Padding(
|
||||
padding: const EdgeInsets.symmetric(vertical: 20.0),
|
||||
child: Center(
|
||||
child: Text(
|
||||
'Close',
|
||||
style: GoogleFonts.dmSans(
|
||||
color: Colors.white,
|
||||
fontSize: 14.sp,
|
||||
fontWeight: FontWeight.w700,
|
||||
),
|
||||
bottomNavigationBar: GestureDetector(
|
||||
onTap: () {
|
||||
goRouter.goNamed(RouteName.mainScreen);
|
||||
},
|
||||
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(
|
||||
'Close',
|
||||
style: GoogleFonts.dmSans(
|
||||
color: Colors.white,
|
||||
fontSize: 14.sp,
|
||||
fontWeight: FontWeight.w700,
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
|
||||
@@ -3,6 +3,7 @@ import 'package:flutter_screenutil/flutter_screenutil.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';
|
||||
|
||||
class WithdrawalPreview extends StatefulWidget {
|
||||
const WithdrawalPreview({super.key});
|
||||
@@ -15,12 +16,12 @@ class _WithdrawalPreviewState extends State<WithdrawalPreview> {
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
List titles = [
|
||||
'Account Holder Name/Beneficiary Name',
|
||||
'IBAN',
|
||||
'Beneficiary Address',
|
||||
'Bank Name',
|
||||
'Branch Address',
|
||||
'SWIFT/BIC Code',
|
||||
AppText.accountHolderName,
|
||||
AppText.iban,
|
||||
AppText.beneficiaryAddress,
|
||||
AppText.bankName,
|
||||
AppText.branchAddress,
|
||||
AppText.SWIFTcode,
|
||||
];
|
||||
List values = [
|
||||
'Name Surname',
|
||||
@@ -38,7 +39,7 @@ class _WithdrawalPreviewState extends State<WithdrawalPreview> {
|
||||
scrolledUnderElevation: 0.0,
|
||||
centerTitle: true,
|
||||
title: Text(
|
||||
'Withdrawal confirmation',
|
||||
AppText.previewTitle,
|
||||
style: GoogleFonts.dmSans(
|
||||
color: const Color(0xFF272727),
|
||||
fontSize: 20.sp,
|
||||
@@ -66,7 +67,7 @@ class _WithdrawalPreviewState extends State<WithdrawalPreview> {
|
||||
SizedBox(
|
||||
width: 320.w,
|
||||
child: Text(
|
||||
'Please confirm the withdrawal amount and verify the accuracy of your bank details.',
|
||||
AppText.info1,
|
||||
style: GoogleFonts.dmSans(
|
||||
color: const Color(0xFF015698),
|
||||
fontSize: 12.sp,
|
||||
@@ -83,7 +84,7 @@ class _WithdrawalPreviewState extends State<WithdrawalPreview> {
|
||||
text: TextSpan(
|
||||
children: [
|
||||
TextSpan(
|
||||
text: 'Wallet Balance: ',
|
||||
text: AppText.balance,
|
||||
style: GoogleFonts.dmSans(
|
||||
color: const Color(0xFF888888),
|
||||
fontSize: 12.sp,
|
||||
@@ -140,7 +141,7 @@ class _WithdrawalPreviewState extends State<WithdrawalPreview> {
|
||||
width: 12.w,
|
||||
),
|
||||
Text(
|
||||
'Withdrawal',
|
||||
AppText.withdrawTitle,
|
||||
style: GoogleFonts.dmSans(
|
||||
color: Colors.black,
|
||||
fontSize: 17.sp,
|
||||
@@ -166,7 +167,7 @@ class _WithdrawalPreviewState extends State<WithdrawalPreview> {
|
||||
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||||
children: [
|
||||
Text(
|
||||
'Total Withdrawal amount:',
|
||||
AppText.withdrawAmt,
|
||||
style: GoogleFonts.dmSans(
|
||||
color: const Color(0xFF535353),
|
||||
fontSize: 14.sp,
|
||||
@@ -220,7 +221,7 @@ class _WithdrawalPreviewState extends State<WithdrawalPreview> {
|
||||
width: 10.w,
|
||||
),
|
||||
Text(
|
||||
'Payment can include transfer fee from your bank',
|
||||
AppText.info2,
|
||||
style: GoogleFonts.dmSans(
|
||||
color: const Color(0xFF015698),
|
||||
fontSize: 12.sp,
|
||||
@@ -239,7 +240,7 @@ class _WithdrawalPreviewState extends State<WithdrawalPreview> {
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
children: [
|
||||
Text(
|
||||
'Withdrawal details',
|
||||
AppText.withdrawDetails,
|
||||
style: GoogleFonts.dmSans(
|
||||
color: Colors.black,
|
||||
fontSize: 15.sp,
|
||||
@@ -327,7 +328,7 @@ class _WithdrawalPreviewState extends State<WithdrawalPreview> {
|
||||
padding: const EdgeInsets.symmetric(vertical: 20.0),
|
||||
child: Center(
|
||||
child: Text(
|
||||
'Submit request',
|
||||
AppText.submit,
|
||||
style: GoogleFonts.dmSans(
|
||||
color: Colors.white,
|
||||
fontSize: 14.sp,
|
||||
|
||||
@@ -4,6 +4,7 @@ import 'package:flutter_screenutil/flutter_screenutil.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';
|
||||
|
||||
class WithdrawalScreen extends StatefulWidget {
|
||||
const WithdrawalScreen({super.key});
|
||||
@@ -16,12 +17,12 @@ class _WithdrawalScreenState extends State<WithdrawalScreen> {
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
List titles = [
|
||||
'Account Holder Name/Beneficiary Name *',
|
||||
'IBAN *',
|
||||
'Beneficiary Address',
|
||||
'Bank Name',
|
||||
'Branch Address',
|
||||
'SWIFT/BIC Code',
|
||||
'${AppText.accountHolderName} *',
|
||||
'${AppText.iban} *',
|
||||
AppText.beneficiaryAddress,
|
||||
AppText.bankName,
|
||||
AppText.branchAddress,
|
||||
AppText.SWIFTcode,
|
||||
];
|
||||
return Scaffold(
|
||||
backgroundColor: Colors.white,
|
||||
@@ -31,7 +32,7 @@ class _WithdrawalScreenState extends State<WithdrawalScreen> {
|
||||
scrolledUnderElevation: 0.0,
|
||||
centerTitle: true,
|
||||
title: Text(
|
||||
'Enter bank details',
|
||||
AppText.withdrawalScreenTitle,
|
||||
style: GoogleFonts.dmSans(
|
||||
color: const Color(0xFF272727),
|
||||
fontSize: 20.sp,
|
||||
@@ -49,7 +50,7 @@ class _WithdrawalScreenState extends State<WithdrawalScreen> {
|
||||
text: TextSpan(
|
||||
children: [
|
||||
TextSpan(
|
||||
text: 'Wallet Balance: ',
|
||||
text: AppText.balance,
|
||||
style: GoogleFonts.dmSans(
|
||||
color: const Color(0xFF888888),
|
||||
fontSize: 12.sp,
|
||||
@@ -106,7 +107,7 @@ class _WithdrawalScreenState extends State<WithdrawalScreen> {
|
||||
width: 12.w,
|
||||
),
|
||||
Text(
|
||||
'Withdrawal',
|
||||
AppText.withdrawTitle,
|
||||
style: GoogleFonts.dmSans(
|
||||
color: Colors.black,
|
||||
fontSize: 17.sp,
|
||||
@@ -242,7 +243,7 @@ class _WithdrawalScreenState extends State<WithdrawalScreen> {
|
||||
width: 10.w,
|
||||
),
|
||||
Text(
|
||||
'Payment can include transfer fee from your bank',
|
||||
AppText.info2,
|
||||
style: GoogleFonts.dmSans(
|
||||
color: const Color(0xFF015698),
|
||||
fontSize: 12.sp,
|
||||
@@ -280,7 +281,7 @@ class _WithdrawalScreenState extends State<WithdrawalScreen> {
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
children: [
|
||||
Text(
|
||||
'Withdrawal details',
|
||||
AppText.withdrawDetails,
|
||||
style: GoogleFonts.dmSans(
|
||||
color: Colors.black,
|
||||
fontSize: 15.sp,
|
||||
@@ -291,7 +292,7 @@ class _WithdrawalScreenState extends State<WithdrawalScreen> {
|
||||
height: 3.h,
|
||||
),
|
||||
Text(
|
||||
'Fields with * are required',
|
||||
AppText.required,
|
||||
style: GoogleFonts.dmSans(
|
||||
color: const Color(0xFF8D8D8D),
|
||||
fontSize: 14.sp,
|
||||
@@ -419,7 +420,7 @@ class _WithdrawalScreenState extends State<WithdrawalScreen> {
|
||||
padding: const EdgeInsets.symmetric(vertical: 20.0),
|
||||
child: Center(
|
||||
child: Text(
|
||||
'Next',
|
||||
AppText.next,
|
||||
style: GoogleFonts.dmSans(
|
||||
color: Colors.white,
|
||||
fontSize: 14.sp,
|
||||
|
||||
@@ -8,10 +8,16 @@ class ChangePasswordLayout extends StatelessWidget {
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
<<<<<<< HEAD
|
||||
return const Scaffold(
|
||||
bottomNavigationBar: RestorePasswordBottomSection(),
|
||||
body: RestorePasswordForm());
|
||||
=======
|
||||
|
||||
return const Scaffold(
|
||||
bottomNavigationBar: RestorePasswordBottomSection(),
|
||||
body: RestorePasswordForm());
|
||||
|
||||
>>>>>>> 0521b4ab76ca7b88a179487326f69cededd70e0b
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user