deposit new ui

This commit is contained in:
jayesh
2024-07-11 20:16:37 +05:30
parent 5063d1a2dd
commit cd7861f041
15 changed files with 606 additions and 366 deletions

View File

@@ -43,6 +43,8 @@ class RouteName {
static const String withdrawalConfirmation = 'withdrawalConfirmation';
static const String depositScreen = 'depositScreen';
static const String depositPreview = 'depositPreview';
static const String selectDepositMethodScreen = 'selectDepositMethodScreen';
static const String depositStepScreen = 'depositStepScreen';
//Biometric
static const String biometricScreen = 'biometricScreen';

View File

@@ -8,7 +8,9 @@ import 'package:tanami_app/features/MainScreens/Invest/presentation/pages/paymen
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/deposit_screen.dart';
import 'package:tanami_app/features/MainScreens/Wallet/presentation/pages/deposit/deposit_step_screen.dart';
import 'package:tanami_app/features/MainScreens/Wallet/presentation/pages/deposit/preview.dart';
import 'package:tanami_app/features/MainScreens/Wallet/presentation/pages/deposit/select_deposit_method_screen.dart';
import 'package:tanami_app/features/MainScreens/Wallet/presentation/pages/filter_screen.dart';
import 'package:tanami_app/features/MainScreens/Wallet/presentation/pages/walletDetails.dart';
import 'package:tanami_app/features/MainScreens/Wallet/presentation/pages/withdrawal/confirmation.dart';
@@ -208,6 +210,20 @@ final goRouter = GoRouter(
return const DepositScreen();
},
),
GoRoute(
name: RouteName.selectDepositMethodScreen,
path: RouteName.selectDepositMethodScreen,
builder: (context, state) {
return const SelectDepositMethodScreen();
},
),
GoRoute(
name: RouteName.depositStepScreen,
path: RouteName.depositStepScreen,
builder: (context, state) {
return const DepositStepScreen();
},
),
GoRoute(
name: RouteName.depositPreview,
path: RouteName.depositPreview,

View File

@@ -1,7 +1,7 @@
class AppImages {
//Splash
static const String splashBg =
"assets/images/welcome_screen/svg/tanamibg.svg";
"assets/images/welcome_screen/svg/Splash_BG.svg";
static const String splashLogo =
"assets/images/welcome_screen/svg/Tanami_Capital_Splash_Logo.svg";
@@ -129,7 +129,6 @@ class AppImages {
'assets/images/wallet_screen/search.png';
static const String walletFilterIcon =
'assets/images/wallet_screen/filter.png';
static const String depositListIcon =
'assets/images/wallet_screen/deposit_list.png';
static const String withdrawalListIcon =
@@ -140,4 +139,7 @@ class AppImages {
'assets/images/wallet_screen/yield_list.png';
static const String refundListIcon =
'assets/images/wallet_screen/refund_list.png';
static const String dStep1Icon = 'assets/images/wallet_screen/d_step_1.svg';
static const String dStep2Icon = 'assets/images/wallet_screen/d_step_2.svg';
static const String dStep3Icon = 'assets/images/wallet_screen/d_step_3.svg';
}

View File

@@ -14,12 +14,12 @@ import '../../../../../../core/styles/app_images.dart';
import '../../../../../../core/styles/app_text.dart';
import '../../../../../../core/utils/language/localizations_delegate.dart';
import '../../../../../../core/utils/text_formatter/comma_input_text_formatter.dart';
import '../../../../../../shared/components/text_widget.dart';
import '../../../../../countrySelection/bloc/choose_country_bloc.dart';
import '../../../../../countrySelection/bloc/choose_country_state.dart';
import '../../bloc/deposit/deposit_payment_bloc.dart';
import '../../bloc/deposit/deposit_payment_event.dart';
import '../../bloc/deposit/deposit_payment_state.dart';
import '../../widgets/deposit_pay_method_section.dart';
class DepositLayout extends StatelessWidget {
const DepositLayout({super.key});
@@ -28,13 +28,12 @@ class DepositLayout extends StatelessWidget {
Widget build(BuildContext context) {
var localizations = AppLocalizations.of(context);
final depositPaymentBloc = context.read<DepositPaymentBloc>();
int selectedIndex = 0;
return Scaffold(
bottomNavigationBar: BlocBuilder<DepositPaymentBloc, DepositPaymentState>(
builder: (context, state) {
return BlocBuilder<RadioBloc, RadioState>(
builder: (context, radioState) {
int selectedIndex = 0;
if (radioState is RadioSelectionChanged) {
selectedIndex = radioState.selectedIndex;
}
@@ -93,7 +92,7 @@ class DepositLayout extends StatelessWidget {
: AppColor.inactiveBtnColor),
child: Center(
child: Text(
localizations.translate(AppText.depositNoti),
localizations.translate(AppText.next),
style: GoogleFonts.dmSans(
color: state.isFormValid
? AppColor.plainWhite
@@ -117,258 +116,228 @@ class DepositLayout extends StatelessWidget {
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
RichText(
text: TextSpan(
children: [
TextSpan(
text: '${localizations.translate(AppText.balance)}: ',
style: GoogleFonts.dmSans(
color: Colors.grey,
fontSize: 12.sp,
fontWeight: FontWeight.bold,
),
),
TextSpan(
text: 'SAR 178,000',
style: GoogleFonts.dmSans(
color: Colors.black,
fontSize: 14.sp,
fontWeight: FontWeight.bold,
),
),
],
),
),
SizedBox(
height: 20.h,
),
// RichText(
// text: TextSpan(
// children: [
// TextSpan(
// text: '${localizations.translate(AppText.balance)}: ',
// style: GoogleFonts.dmSans(
// color: Colors.grey,
// fontSize: 12.sp,
// fontWeight: FontWeight.bold,
// ),
// ),
// TextSpan(
// text: 'SAR 178,000',
// style: GoogleFonts.dmSans(
// color: Colors.black,
// fontSize: 14.sp,
// fontWeight: FontWeight.bold,
// ),
// ),
// ],
// ),
// ),
// SizedBox(
// height: 20.h,
// ),
BlocBuilder<DepositPaymentBloc, DepositPaymentState>(
builder: (context, state) {
return 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),
return Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Padding(
padding: const EdgeInsets.all(12.0),
child: selectedIndex == 1
? Row(children: [
SvgPicture.asset(AppImages.applePayIcon),
const Gap(5),
TextWidget().text14W700(
localizations
.translate(AppText.applePayText),
clr: AppColor.textLabelColor),
])
: Row(
children: [
SvgPicture.asset(AppImages.walletIcon),
const Gap(5),
TextWidget().text14W700(
localizations
.translate(AppText.bankTransfer),
clr: AppColor.textLabelColor),
],
),
),
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: [
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,
),
Text(
'SAR',
style: GoogleFonts.dmSans(
color: const Color(0xFF363636),
fontSize: 15.sp,
fontWeight: FontWeight.w400,
),
),
SizedBox(
width: 12.w,
),
Text(
localizations.translate(AppText.depositTitle),
style: GoogleFonts.dmSans(
color: Colors.black,
fontSize: 17.sp,
fontWeight: FontWeight.w700,
SizedBox(
width: 280.w,
child: TextFormField(
inputFormatters: [
CommaTextInputFormatter(),
FilteringTextInputFormatter.deny(
RegExp(r'\s')),
LengthLimitingTextInputFormatter(20),
],
validator: (value) {
if (depositPaymentBloc
.amountController.text.isEmpty) {
return localizations.translate(
AppText.pleaseEnterAmountText);
}
return null;
},
onChanged: (value) {
depositPaymentBloc
.add(FormTextChanged(text: value));
},
controller:
depositPaymentBloc.amountController,
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),
),
),
),
),
],
),
),
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(
inputFormatters: [
CommaTextInputFormatter(),
FilteringTextInputFormatter.deny(
RegExp(r'\s')),
LengthLimitingTextInputFormatter(20),
],
validator: (value) {
if (depositPaymentBloc
.amountController.text.isEmpty) {
return localizations.translate(
AppText.pleaseEnterAmountText);
}
return null;
},
onChanged: (value) {
depositPaymentBloc
.add(FormTextChanged(text: value));
},
controller:
depositPaymentBloc.amountController,
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),
),
),
),
),
],
),
// 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(
// localizations
// .translate(AppText.processingFees),
// 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,
// ),
// ),
// ],
// ),
// ],
// ),
// ),
// ),
const Gap(15),
Row(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Text(
localizations
.translate("Total : SAR ${state.amount}"),
style: GoogleFonts.dmSans(
color: const Color(0xFF066123),
fontSize: 16.sp,
fontWeight: FontWeight.w700,
),
),
),
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(
localizations
.translate(AppText.processingFees),
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(
localizations
.translate(AppText.depositAmt),
style: GoogleFonts.dmSans(
color: const Color(0xFF535353),
fontSize: 14.sp,
fontWeight: FontWeight.w500,
),
),
Text(
'SAR ${state.amount}',
style: GoogleFonts.dmSans(
color: Colors.black,
fontSize: 14.sp,
fontWeight: FontWeight.w700,
),
),
],
),
],
),
),
),
],
),
],
),
],
);
},
),
const Gap(30),
const DepositPayMethodSection(),
const Gap(16),
// const Gap(30),
// const DepositPayMethodSection(),
// const Gap(16),
],
),
),

View File

@@ -8,15 +8,9 @@ import 'package:tanami_app/features/MainScreens/Wallet/presentation/pages/deposi
import '../../../../../../core/utils/language/localizations_delegate.dart';
class DepositScreen extends StatefulWidget {
class DepositScreen extends StatelessWidget {
const DepositScreen({super.key});
@override
State<DepositScreen> createState() => _DepositScreenState();
}
class _DepositScreenState extends State<DepositScreen> {
int selectedIndex = 0;
@override
Widget build(BuildContext context) {
var localizations = AppLocalizations.of(context);
@@ -28,7 +22,7 @@ class _DepositScreenState extends State<DepositScreen> {
scrolledUnderElevation: 0.0,
centerTitle: true,
title: Text(
localizations.translate(AppText.depositScreenTitle),
localizations.translate(AppText.deposit),
style: GoogleFonts.dmSans(
color: const Color(0xFF272727),
fontSize: 20.sp,

View File

@@ -0,0 +1,161 @@
import 'package:flutter/material.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:flutter_svg/flutter_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_images.dart';
import 'package:tanami_app/shared/components/text_widget.dart';
import '../../../../../../core/styles/app_color.dart';
import '../../../../../../core/styles/app_text.dart';
import '../../../../../../core/utils/language/localizations_delegate.dart';
import '../../../../../../shared/components/button_widget.dart';
class DepositStepScreen extends StatelessWidget {
const DepositStepScreen({super.key});
@override
Widget build(BuildContext context) {
var localizations = AppLocalizations.of(context);
return Scaffold(
backgroundColor: Colors.white,
bottomNavigationBar: Container(
margin: const EdgeInsets.symmetric(
horizontal: 16,
vertical: 16,
),
width: 1.sw,
height: 56.h,
child: ButtonWidget().elevatedBtn(
txtClr: AppColor.plainWhite,
function: () {
goRouter.pushNamed(RouteName.depositScreen);
},
text: localizations.translate(AppText.next),
clr: AppColor.primaryColor2,
),
),
appBar: AppBar(
backgroundColor: Colors.white,
elevation: 0,
scrolledUnderElevation: 0.0,
centerTitle: true,
title: Text(
localizations.translate(AppText.bankTransfer),
style: GoogleFonts.dmSans(
color: const Color(0xFF272727),
fontSize: 20.sp,
fontWeight: FontWeight.w700,
),
),
actions: const [
Icon(
Icons.info,
color: Color(0xFF363636),
),
Gap(10)
],
),
body: Padding(
padding: const EdgeInsets.all(16.0),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Container(
padding: const EdgeInsets.symmetric(horizontal: 8, vertical: 20),
decoration: ShapeDecoration(
color: const Color(0xFFF6F6F6),
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(22),
),
),
child: Row(
crossAxisAlignment: CrossAxisAlignment.start,
mainAxisAlignment: MainAxisAlignment.start,
children: [
SizedBox(
width: 0.8.sw,
child: Text(
'In order for you to complete a bank transfer, you need will need to create a deposit notification and transfer funds from your wallet, directly into your bank account.',
style: GoogleFonts.dmSans(
color: const Color(0xFF363636),
fontSize: 14,
fontWeight: FontWeight.w500,
),
),
),
const Spacer(),
const Icon(
Icons.close,
color: Color(0xFF363636),
)
],
),
),
const Gap(16),
TextWidget().text15W700("Please complete the below steps",
clr: AppColor.plainBlack),
const Gap(16),
Padding(
padding: const EdgeInsets.all(16.0),
child: ListView(
shrinkWrap: true,
children: [
Row(
children: [
SvgPicture.asset(AppImages.dStep1Icon),
const Gap(16),
Expanded(
child: TextWidget().text14W400(
"Insert the amount you would like to transfer.",
clr: const Color(0xFF363636),
txtAlign: TextAlign.start,
),
)
],
),
const Gap(24),
Row(
children: [
SvgPicture.asset(AppImages.dStep2Icon),
const Gap(16),
Expanded(
child: TextWidget().text14W400(
"Copy the bank details of your Tanami account shown on the next page. Make sure to keep note of the reference ID.",
clr: const Color(0xFF363636),
txtAlign: TextAlign.start,
),
)
],
),
const Gap(24),
Row(
children: [
SvgPicture.asset(AppImages.dStep3Icon),
const Gap(16),
Expanded(
child: TextWidget().text14W400(
"Insert the amount you would like to transfer.",
clr: const Color(0xFF363636),
txtAlign: TextAlign.start,
),
)
],
),
],
),
),
const Spacer(),
TextWidget().text13W500(
"Tanami will notify you upon receipt of your funds and it will appear in your wallet balance 3-4 business days after initiating the transfer.",
clr: const Color(0xFF888888),
fontStyle: FontStyle.italic),
],
),
),
);
}
}

View File

@@ -3,8 +3,8 @@ 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/routes.dart';
import 'package:tanami_app/core/styles/app_color.dart';
import 'package:tanami_app/core/styles/app_text.dart';
import 'package:tanami_app/shared/components/text_widget.dart';
import '../../../../../../core/utils/language/localizations_delegate.dart';
@@ -17,13 +17,13 @@ class DepositPreview extends StatefulWidget {
class _DepositPreviewState extends State<DepositPreview> {
List values = [
'Name Surname',
'DE 1234 5678 9012 3456',
'Hohenzollernring 58, 95444',
'Name Bank',
'Hohenzollernring 58, 95444',
'BC12345',
'FRYU FHDU 1234',
'Tanami Capital W.L.L',
'100000480779',
'BH 23 BBKU 00100 00048 0779',
'BBKUBHBM',
'Bank of Bahrain and Kuwait B.S.C',
'43 Government Avenue, Manama, Kingdom of Bahrain',
'BH00600000',
];
List titles2 = [
@@ -42,13 +42,13 @@ class _DepositPreviewState extends State<DepositPreview> {
Widget build(BuildContext context) {
var localizations = AppLocalizations.of(context);
List titles = [
localizations.translate(AppText.accountHolderName),
localizations.translate(AppText.iban),
localizations.translate(AppText.beneficiaryAddress),
localizations.translate(AppText.bankName),
localizations.translate(AppText.branchAddress),
localizations.translate(AppText.SWIFTcode),
localizations.translate(AppText.refid),
localizations.translate("Account Name"),
localizations.translate("Account No."),
localizations.translate("IBAN"),
localizations.translate("SWIFT Code"),
localizations.translate("Bank Name"),
localizations.translate("Bank Address"),
localizations.translate("Client ID"),
];
return Scaffold(
backgroundColor: Colors.white,
@@ -58,7 +58,7 @@ class _DepositPreviewState extends State<DepositPreview> {
scrolledUnderElevation: 0.0,
centerTitle: true,
title: Text(
localizations.translate(AppText.depositScreenTitle),
localizations.translate("Deposit confirmation"),
style: GoogleFonts.dmSans(
color: const Color(0xFF272727),
fontSize: 20.sp,
@@ -281,90 +281,102 @@ class _DepositPreviewState extends State<DepositPreview> {
// SizedBox(
// height: 20.h,
// ),
Column(
mainAxisSize: MainAxisSize.min,
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text(
localizations.translate(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,
Card(
color: AppColor.plainWhite,
elevation: 5,
child: Padding(
padding: const EdgeInsets.all(12.0),
child: Column(
mainAxisSize: MainAxisSize.min,
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text(
localizations.translate(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: [
Column(
crossAxisAlignment: CrossAxisAlignment.start,
Row(
mainAxisAlignment:
MainAxisAlignment.spaceBetween,
crossAxisAlignment: CrossAxisAlignment.center,
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,
),
Column(
crossAxisAlignment:
CrossAxisAlignment.start,
children: [
Text(
titles[index],
style: GoogleFonts.dmSans(
color: Colors.black,
fontSize: 14.sp,
fontWeight: FontWeight.w700,
),
),
SizedBox(
height: 8.h,
),
SizedBox(
width: 0.8.sw,
child: 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,
// )
],
),
Image.asset(
'assets/images/wallet_screen/copy.png',
height: 25.h,
)
(index != titles.length - 1)
? Column(
children: [
SizedBox(
height: 12.h,
),
Divider(
color: const Color(0xFFE3E3E3),
height: 2.h),
SizedBox(
height: 12.h,
),
],
)
: SizedBox(
height: 10.h,
),
],
),
(index != titles.length - 1)
? Column(
children: [
SizedBox(
height: 12.h,
),
Divider(
color: const Color(0xFFE3E3E3),
height: 2.h),
SizedBox(
height: 12.h,
),
],
)
: SizedBox(
height: 10.h,
),
],
);
},
)
],
);
},
)
],
),
),
),
],
),
@@ -378,6 +390,8 @@ class _DepositPreviewState extends State<DepositPreview> {
onTap: () {
goRouter.pop();
goRouter.pop();
goRouter.pop();
goRouter.pop();
},
child: Container(
margin: const EdgeInsets.all(10.0),
@@ -391,7 +405,7 @@ class _DepositPreviewState extends State<DepositPreview> {
padding: const EdgeInsets.symmetric(vertical: 20.0),
child: Center(
child: Text(
localizations.translate(AppText.submitDeposit),
localizations.translate(AppText.depositNoti),
style: GoogleFonts.dmSans(
color: Colors.white,
fontSize: 14.sp,
@@ -403,19 +417,19 @@ class _DepositPreviewState extends State<DepositPreview> {
),
),
const Gap(10),
GestureDetector(
onTap: () {
goRouter.pop();
},
child: Center(
child: TextWidget().text14W700(
localizations.translate(AppText.back),
clr: const Color(0xFF363636),
textDecoration: TextDecoration.underline,
),
),
),
const Gap(20),
// GestureDetector(
// onTap: () {
// goRouter.pop();
// },
// child: Center(
// child: TextWidget().text14W700(
// localizations.translate(AppText.back),
// clr: const Color(0xFF363636),
// textDecoration: TextDecoration.underline,
// ),
// ),
// ),
// const Gap(20),
],
),
);

View File

@@ -0,0 +1,68 @@
import 'package:flutter/material.dart';
import 'package:flutter_bloc/flutter_bloc.dart';
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 '../../../../../../core/styles/app_color.dart';
import '../../../../../../core/styles/app_text.dart';
import '../../../../../../core/utils/language/localizations_delegate.dart';
import '../../../../../../shared/components/button_widget.dart';
import '../../../../../countrySelection/bloc/choose_country_bloc.dart';
import '../../widgets/deposit_pay_method_section.dart';
class SelectDepositMethodScreen extends StatelessWidget {
const SelectDepositMethodScreen({super.key});
@override
Widget build(BuildContext context) {
var localizations = AppLocalizations.of(context);
final radioBloc = context.read<RadioBloc>();
return Scaffold(
backgroundColor: Colors.white,
bottomNavigationBar: Container(
margin: const EdgeInsets.symmetric(
horizontal: 16,
vertical: 16,
),
width: 1.sw,
height: 56.h,
child: ButtonWidget().elevatedBtn(
txtClr: AppColor.plainWhite,
function: () {
if (radioBloc.selectedCountry == 0) {
goRouter.pushNamed(RouteName.depositStepScreen);
} else {
goRouter.pushNamed(RouteName.depositScreen);
}
},
text: localizations.translate(AppText.next),
clr: AppColor.primaryColor2,
),
),
appBar: AppBar(
backgroundColor: Colors.white,
elevation: 0,
scrolledUnderElevation: 0.0,
centerTitle: true,
title: Text(
localizations.translate(AppText.deposit),
style: GoogleFonts.dmSans(
color: const Color(0xFF272727),
fontSize: 20.sp,
fontWeight: FontWeight.w700,
),
),
),
body: const Padding(
padding: EdgeInsets.all(16.0),
child: Column(
children: [
DepositPayMethodSection(),
],
),
),
);
}
}

View File

@@ -88,7 +88,8 @@ class _WalletScreenState extends State<WalletScreen> {
children: [
GestureDetector(
onTap: () {
goRouter.pushNamed(RouteName.depositScreen);
goRouter.pushNamed(
RouteName.selectDepositMethodScreen);
},
child: Column(
mainAxisSize: MainAxisSize.min,

View File

@@ -25,7 +25,7 @@ class SplashLayout extends StatelessWidget {
fit: BoxFit.cover,
),
),
/* Positioned.fill(
Positioned.fill(
child: Align(
alignment: Alignment.center,
child: SvgPicture.asset(
@@ -39,7 +39,7 @@ class SplashLayout extends StatelessWidget {
alignment: Alignment.bottomCenter,
child: BottomVersionWidget(),
),
), */
),
],
),
),

View File

@@ -88,10 +88,11 @@ class TextWidget {
);
}
Widget text13W500(String text, {Color? clr}) {
Widget text13W500(String text, {Color? clr, FontStyle? fontStyle}) {
return Text(
text,
style: GoogleFonts.dmSans(
fontStyle: fontStyle ?? FontStyle.normal,
fontSize: 13,
fontWeight: FontWeight.w500,
color: clr ?? AppColor.plainWhite,