new splash screen, deposit screen

This commit is contained in:
jayesh
2024-07-22 18:40:32 +05:30
parent fe73681e09
commit 3d7d6b8368
46 changed files with 572 additions and 421 deletions

View File

@@ -45,6 +45,7 @@ class RouteName {
static const String depositPreview = 'depositPreview';
static const String selectDepositMethodScreen = 'selectDepositMethodScreen';
static const String depositStepScreen = 'depositStepScreen';
static const String depositCompleteScreen = 'depositCompleteScreen';
//Biometric
static const String biometricScreen = 'biometricScreen';

View File

@@ -31,6 +31,7 @@ import 'package:tanami_app/features/securePin/presentation/pages/pin_screen.dart
import 'package:tanami_app/features/welcome/presentation/pages/weclome_screen.dart';
import 'package:tanami_app/shared/components/no_internet.dart';
import '../../features/MainScreens/Wallet/presentation/pages/deposit/deposit_completed_screen.dart';
import '../../features/MainScreens/main_screen.dart';
import '../../features/forgotPassword/presentation/pages/restore_password_phone_verification_screen.dart';
import '../../features/login/presentation/pages/login_screen.dart';
@@ -225,6 +226,13 @@ final goRouter = GoRouter(
return const DepositStepScreen();
},
),
GoRoute(
name: RouteName.depositCompleteScreen,
path: RouteName.depositCompleteScreen,
builder: (context, state) {
return const DepositeCompleteScreen();
},
),
GoRoute(
name: RouteName.depositPreview,
path: RouteName.depositPreview,

View File

@@ -6,6 +6,8 @@ class AppImages {
"assets/images/welcome_screen/svg/Tanami_Capital_Splash_Logo.svg";
//Welcome
static const String welcomeLogo1 =
"assets/images/welcome_screen/Tanami_Capital_Logo.svg";
static const String welcomeLogo =
"assets/images/welcome_screen/svg/Tanami_Capital_Logo.svg";
static const String firstWelcome =
@@ -142,4 +144,12 @@ class AppImages {
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';
static const String dStepCount1Icon =
'assets/images/wallet_screen/deposit_step_complete_1.svg';
static const String dStep2CountIcon =
'assets/images/wallet_screen/deposit_step_complete_2.svg';
static const String dStep3CountIcon =
'assets/images/wallet_screen/deposit_step_complete_3.svg';
static const String depositCheckIcon =
'assets/images/wallet_screen/deposit_check.svg';
}

View File

@@ -212,6 +212,30 @@ class AppText {
static const String byDate = "byDate";
static const String byAction = "byAction";
static const String byStatus = "byStatus";
static const String inOrderForYouToCompleteBankTransfers =
"inOrderForYouToCompleteBankTransfers";
static const String tanamiWillNotifyUponReceiptFunds =
"tanamiWillNotifyUponReceiptFunds";
static const String pleaseCompleteTheBelowSteps =
"pleaseCompleteTheBelowSteps";
static const String insertTheAmountYouWouldLikeToTransfer =
"insertTheAmountYouWouldLikeToTransfer";
static const String copyTheBankDetailsYourTanamiAccountShownNextPage =
"copyTheBankDetailsYourTanamiAccountShownNextPage";
static const String transferTheFundsDirectlyFromYourBankAccount =
"transferTheFundsDirectlyFromYourBankAccount";
static const String copyTheBankDetailsOfYourTanamiAccount =
"copyTheBankDetailsOfYourTanamiAccount";
static const String youAreAllSet = "youAreAllSet";
static const String depositNotificationCreated = "depositNotificationCreated";
static const String amountDeposited = "amountDeposited";
static const String pleaseEnsureTheFundsAreTransferredFromBank =
"pleaseEnsureTheFundsAreTransferredFromBank";
static const String manageDepositNotifications = "manageDepositNotifications";
static const String accountNo = "accountNo";
static const String swiftCode = "swiftCode";
static const String bankAddress = "bankAddress";
static const String clientId = "clientId";
//Settings
static const String settingsText = "settingsText";

View File

@@ -13,7 +13,7 @@ class AcademyLayout extends StatelessWidget {
body: ListView.builder(
itemCount: data.length,
itemBuilder: (context, index) {
return academyCard(data[index]);
return academyCard(data[index], context);
},
),
);

View File

@@ -3,12 +3,16 @@ import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:gap/gap.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/shared/components/text_widget.dart';
import '../../../../../core/routes/route_name.dart';
import '../../../../../core/routes/routes.dart';
import '../../../../../core/utils/language/localizations_delegate.dart';
Widget academyCard(dynamic data, BuildContext context) {
var localizations = AppLocalizations.of(context);
Widget academyCard(dynamic data) {
return Padding(
padding: const EdgeInsets.symmetric(vertical: 10.0, horizontal: 16.0),
child: GestureDetector(
@@ -79,7 +83,7 @@ Widget academyCard(dynamic data) {
5.w,
),
TextWidget().text12W700(
'${data['videos']} videos',
'${data['videos']} ${localizations.translate(AppText.videosTitle)}',
clr: AppColor.academyCardTextColor,
),
],

View File

@@ -65,7 +65,10 @@ class GeneralSettingsSection extends StatelessWidget {
},
icon: AppImages.languageIcon,
title: localizations.translate(AppText.languageText),
trailing: localizations.translate(AppText.englishText),
trailing: "English",
// Globalconst.languageSelected == "en"
// ? "English"
// : "اللغة العربية",
),
const Gap(10),
const Divider(

View File

@@ -0,0 +1,199 @@
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/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 DepositeCompleteScreen extends StatelessWidget {
const DepositeCompleteScreen({super.key});
@override
Widget build(BuildContext context) {
var localizations = AppLocalizations.of(context);
return Scaffold(
backgroundColor: Colors.white,
bottomNavigationBar: Column(
mainAxisSize: MainAxisSize.min,
children: [
Container(
margin: const EdgeInsets.symmetric(
horizontal: 16,
vertical: 16,
),
width: 1.sw,
height: 56.h,
child: ButtonWidget().elevatedBtn(
txtClr: AppColor.plainWhite,
function: () {
goRouter.pop();
goRouter.pop();
goRouter.pop();
goRouter.pop();
goRouter.pop();
},
text: localizations.translate(AppText.closeText),
clr: AppColor.primaryColor2,
),
),
InkWell(
onTap: () {
goRouter.pop();
goRouter.pop();
goRouter.pop();
goRouter.pop();
goRouter.pop();
},
child: Container(
width: 1.sw,
height: 56.h,
margin: const EdgeInsets.only(
bottom: 16,
left: 16,
right: 16,
),
padding: const EdgeInsets.symmetric(horizontal: 10, vertical: 16),
decoration: ShapeDecoration(
shape: RoundedRectangleBorder(
side: const BorderSide(width: 1, color: Color(0xFFE3E3E3)),
borderRadius: BorderRadius.circular(30),
),
),
child: Row(
mainAxisSize: MainAxisSize.min,
mainAxisAlignment: MainAxisAlignment.center,
crossAxisAlignment: CrossAxisAlignment.center,
children: [
TextWidget().text14W700(
localizations
.translate(AppText.manageDepositNotifications),
clr: AppColor.textLabelColor,
textDecoration: TextDecoration.underline),
],
),
),
)
],
),
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: Padding(
padding: const EdgeInsets.all(16.0),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Center(child: SvgPicture.asset(AppImages.dStep3CountIcon)),
const Gap(15),
Center(
child: TextWidget().text14W400(
localizations.translate(AppText.youAreAllSet),
clr: AppColor.textLabelColor,
txtAlign: TextAlign.center),
),
const Gap(50),
Stack(
alignment: Alignment.topCenter,
children: [
Padding(
padding: const EdgeInsets.only(top: 45),
child: Container(
width: 1.sw,
clipBehavior: Clip.antiAlias,
decoration: ShapeDecoration(
color: AppColor.plainWhite,
shape: RoundedRectangleBorder(
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: 4,
)
],
),
child: Padding(
padding: const EdgeInsets.all(12.0),
child: Column(
mainAxisSize: MainAxisSize.min,
children: [
Align(
alignment: Alignment.topRight,
child: TextWidget().text12W400('17th of June, 2024',
clr: const Color(0xFF787878)),
),
const Gap(25),
TextWidget().text20W700(
localizations.translate(
AppText.depositNotificationCreated),
clr: AppColor.plainBlack),
const Gap(18),
TextWidget().text12W400(
localizations.translate(AppText.amountDeposited),
clr: AppColor.plainBlack),
const Gap(8),
Row(
mainAxisAlignment: MainAxisAlignment.center,
crossAxisAlignment: CrossAxisAlignment.center,
children: [
Container(
margin: const EdgeInsets.only(top: 2),
child: TextWidget().text15W400("SAR",
clr: AppColor.investTextColor),
),
const Gap(5),
TextWidget().text32W700("1000",
clr: AppColor.investTextColor),
],
),
const Gap(40),
],
),
),
),
),
Positioned(
child: SvgPicture.asset(AppImages.depositCheckIcon),
),
],
),
const Gap(50),
TextWidget().text14W400(
localizations.translate(
AppText.pleaseEnsureTheFundsAreTransferredFromBank),
clr: AppColor.textLabelColor,
txtAlign: TextAlign.start,
),
],
),
),
);
}
}

View File

@@ -147,45 +147,25 @@ class DepositLayout extends StatelessWidget {
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),
],
),
Center(
child: SvgPicture.asset(AppImages.dStepCount1Icon)),
const Gap(30),
Center(
child: TextWidget().text14W500(
localizations.translate(
AppText.insertTheAmountYouWouldLikeToTransfer),
clr: AppColor.textLabelColor),
),
const Gap(30),
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.w400,
),
),
SizedBox(
width: 12.w,
),
TextWidget().text15W400("SAR",
clr: AppColor.textLabelColor),
Gap(12.w),
SizedBox(
width: 280.w,
child: TextFormField(
@@ -310,21 +290,21 @@ class DepositLayout extends StatelessWidget {
// ),
// ),
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,
),
),
],
),
// 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,
// ),
// ),
// ],
// ),
],
);
},

View File

@@ -1,8 +1,10 @@
import 'package:dotted_line/dotted_line.dart';
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/Globalconst.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';
@@ -51,107 +53,99 @@ class DepositStepScreen extends StatelessWidget {
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),
)
],
),
),
TextWidget().text14W500(
localizations
.translate(AppText.inOrderForYouToCompleteBankTransfers),
clr: AppColor.textLabelColor,
txtAlign: TextAlign.start),
const Gap(16),
TextWidget().text15W700("Please complete the below steps",
TextWidget().text15W700(
localizations.translate(AppText.pleaseCompleteTheBelowSteps),
clr: AppColor.plainBlack),
const Gap(16),
Padding(
padding: const EdgeInsets.all(16.0),
child: ListView(
shrinkWrap: true,
children: [
Row(
Stack(
children: [
Positioned(
left: Globalconst.languageSelected == "en" ? 35.w : 0.w,
right: Globalconst.languageSelected == "en" ? 0.w : 35.w,
top: 40.h,
child: DottedLine(
direction: Axis.vertical,
alignment: WrapAlignment.center,
lineLength: 150,
lineThickness: 1.0,
dashLength: 4.0,
dashColor: const Color(0xFF066123).withOpacity(0.46),
dashRadius: 0.0,
dashGapLength: 4.0,
dashGapRadius: 0.0,
),
),
Padding(
padding: const EdgeInsets.all(16.0),
child: ListView(
shrinkWrap: true,
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,
),
)
Row(
children: [
SvgPicture.asset(AppImages.dStep1Icon),
const Gap(16),
Expanded(
child: TextWidget().text14W400(
localizations.translate(AppText
.insertTheAmountYouWouldLikeToTransfer),
clr: const Color(0xFF363636),
txtAlign: TextAlign.start,
),
)
],
),
const Gap(24),
Row(
children: [
SvgPicture.asset(AppImages.dStep2Icon),
const Gap(16),
Expanded(
child: TextWidget().text14W400(
localizations.translate(AppText
.copyTheBankDetailsYourTanamiAccountShownNextPage),
clr: const Color(0xFF363636),
txtAlign: TextAlign.start,
),
)
],
),
const Gap(24),
Row(
children: [
SvgPicture.asset(AppImages.dStep3Icon),
const Gap(16),
Expanded(
child: TextWidget().text14W400(
localizations.translate(AppText
.insertTheAmountYouWouldLikeToTransfer),
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(),
const Gap(36),
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),
localizations
.translate(AppText.tanamiWillNotifyUponReceiptFunds),
clr: AppColor.plainBlack,
fontStyle: FontStyle.italic),
],
),

View File

@@ -1,11 +1,15 @@
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_color.dart';
import 'package:tanami_app/core/styles/app_text.dart';
import 'package:tanami_app/shared/components/text_widget.dart';
import '../../../../../../core/styles/app_images.dart';
import '../../../../../../core/utils/language/localizations_delegate.dart';
class DepositPreview extends StatefulWidget {
@@ -42,13 +46,13 @@ class _DepositPreviewState extends State<DepositPreview> {
Widget build(BuildContext context) {
var localizations = AppLocalizations.of(context);
List titles = [
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"),
localizations.translate(AppText.accountName),
localizations.translate(AppText.accountNo),
localizations.translate(AppText.iban),
localizations.translate(AppText.swiftCode),
localizations.translate(AppText.bankName),
localizations.translate(AppText.bankAddress),
localizations.translate(AppText.clientId),
];
return Scaffold(
backgroundColor: Colors.white,
@@ -58,7 +62,7 @@ class _DepositPreviewState extends State<DepositPreview> {
scrolledUnderElevation: 0.0,
centerTitle: true,
title: Text(
localizations.translate("Deposit confirmation"),
localizations.translate(AppText.deposit),
style: GoogleFonts.dmSans(
color: const Color(0xFF272727),
fontSize: 20.sp,
@@ -72,215 +76,15 @@ class _DepositPreviewState extends State<DepositPreview> {
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,
// ),
// 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(
// localizations.translate (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(
// 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,
// ),
// Expanded(
// child: 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,
// ),
Center(child: SvgPicture.asset(AppImages.dStep2CountIcon)),
const Gap(30),
TextWidget().text14W400(
localizations
.translate(AppText.copyTheBankDetailsOfYourTanamiAccount),
clr: AppColor.textLabelColor,
txtAlign: TextAlign.start,
),
const Gap(10),
Card(
color: AppColor.plainWhite,
elevation: 5,
@@ -388,10 +192,7 @@ class _DepositPreviewState extends State<DepositPreview> {
children: [
GestureDetector(
onTap: () {
goRouter.pop();
goRouter.pop();
goRouter.pop();
goRouter.pop();
goRouter.pushNamed(RouteName.depositCompleteScreen);
},
child: Container(
margin: const EdgeInsets.all(10.0),

View File

@@ -3,6 +3,7 @@ import 'package:tanami_app/features/contactAdmin/presentation/widgets/bottom_sec
import '../../../../core/styles/app_color.dart';
import '../../../../core/styles/app_text.dart';
import '../../../../core/utils/language/localizations_delegate.dart';
import '../../../../shared/components/appbar_widget.dart';
import '../widgets/top_section.dart';
@@ -11,11 +12,13 @@ class ContactAdminScreen extends StatelessWidget {
@override
Widget build(BuildContext context) {
var localizations = AppLocalizations.of(context);
return Scaffold(
backgroundColor: AppColor.plainWhite,
appBar: const AppBarWidget(
appBar: AppBarWidget(
height: 75,
titleTxt: AppText.contactAdminText,
titleTxt: localizations.translate(AppText.contactAdminText),
),
body: ListView(
children: [

View File

@@ -24,9 +24,9 @@ class _AccountappState extends State<FAQScreen> {
var localizations = AppLocalizations.of(context);
return Scaffold(
backgroundColor: AppColor.plainWhite,
appBar: const AppBarWidget(
appBar: AppBarWidget(
height: 75,
titleTxt: AppText.faqText,
titleTxt: localizations.translate(AppText.faqText),
),
body: SafeArea(
child: SingleChildScrollView(

View File

@@ -4,8 +4,8 @@ import 'package:bloc/bloc.dart';
import 'package:flutter/material.dart';
import 'package:tanami_app/Globalconst.dart';
import '../../../Api_Helper/base_manager.dart';
import '../domain/repository/forgot_password_api.dart';
import '../../../../Api_Helper/base_manager.dart';
import '../../domain/repository/forgot_password_api.dart';
import 'restore_password_event.dart';
import 'restore_password_state.dart';

View File

@@ -2,9 +2,9 @@ import 'package:bloc/bloc.dart';
import 'package:flutter/material.dart';
import 'package:tanami_app/Globalconst.dart';
import '../../../Api_Helper/base_manager.dart';
import '../../../core/utils/secure/secure_storage_service.dart';
import '../domain/repository/forgot_password_api.dart';
import '../../../../Api_Helper/base_manager.dart';
import '../../../../core/utils/secure/secure_storage_service.dart';
import '../../domain/repository/forgot_password_api.dart';
import 'restore_password_phone_verification_event.dart';
import 'restore_password_phone_verification_state.dart';

View File

@@ -5,7 +5,7 @@ import 'package:tanami_app/features/forgotPassword/presentation/pages/restore_pa
import '../../../../core/styles/app_color.dart';
import '../../../countrySelection/bloc/choose_country_bloc.dart';
import '../../bloc/restore_password_phone_verification_bloc.dart';
import '../bloc/restore_password_phone_verification_bloc.dart';
class RestorePasswordPhoneVerificationScreen extends StatelessWidget {
const RestorePasswordPhoneVerificationScreen({super.key});

View File

@@ -2,7 +2,7 @@ import 'package:flutter/material.dart';
import 'package:flutter_bloc/flutter_bloc.dart';
import '../../../../core/styles/app_color.dart';
import '../../bloc/restore_password_bloc.dart';
import '../bloc/restore_password_bloc.dart';
import 'restore_password_layout.dart';
class RestorePasswordScreen extends StatelessWidget {

View File

@@ -13,9 +13,9 @@ import '../../../../core/utils/language/localizations_delegate.dart';
import '../../../../shared/components/button_widget.dart';
import '../../../../shared/components/text_widget.dart';
import '../../../countrySelection/bloc/choose_country_bloc.dart';
import '../../bloc/restore_password_bloc.dart';
import '../../bloc/restore_password_event.dart';
import '../../bloc/restore_password_state.dart';
import '../bloc/restore_password_bloc.dart';
import '../bloc/restore_password_event.dart';
import '../bloc/restore_password_state.dart';
class RestorePasswordBottomSection extends StatelessWidget {
const RestorePasswordBottomSection({

View File

@@ -2,11 +2,11 @@ import 'package:flutter/material.dart';
import 'package:flutter_bloc/flutter_bloc.dart';
import 'package:gap/gap.dart';
import 'package:tanami_app/core/styles/app_text.dart';
import 'package:tanami_app/features/forgotPassword/bloc/restore_password_bloc.dart';
import '../../../../core/utils/language/localizations_delegate.dart';
import '../../../../shared/components/bloc/password_field/password_visibility_bloc.dart';
import '../../../../shared/components/form_label_textfield.dart';
import '../bloc/restore_password_bloc.dart';
class RestorePasswordForm extends StatelessWidget {
const RestorePasswordForm({super.key});

View File

@@ -13,9 +13,9 @@ import '../../../../core/utils/language/localizations_delegate.dart';
import '../../../../shared/components/button_widget.dart';
import '../../../../shared/components/text_widget.dart';
import '../../../countrySelection/bloc/choose_country_bloc.dart';
import '../../bloc/restore_password_phone_verification_bloc.dart';
import '../../bloc/restore_password_phone_verification_event.dart';
import '../../bloc/restore_password_phone_verification_state.dart';
import '../bloc/restore_password_phone_verification_bloc.dart';
import '../bloc/restore_password_phone_verification_event.dart';
import '../bloc/restore_password_phone_verification_state.dart';
class RestorePasswordPhoneVerificationBottomSection extends StatelessWidget {
const RestorePasswordPhoneVerificationBottomSection({

View File

@@ -15,7 +15,7 @@ import '../../../countrySelection/bloc/GetCountry/get_country_bloc.dart';
import '../../../countrySelection/bloc/GetCountry/get_country_state.dart';
import '../../../countrySelection/bloc/choose_country_bloc.dart';
import '../../../countrySelection/bloc/choose_country_state.dart';
import '../../bloc/restore_password_phone_verification_bloc.dart';
import '../bloc/restore_password_phone_verification_bloc.dart';
class RestorePasswordPhoneVerificationForm extends StatelessWidget {
const RestorePasswordPhoneVerificationForm({super.key});

View File

@@ -1,7 +1,6 @@
import 'package:bloc/bloc.dart';
import 'package:equatable/equatable.dart';
import 'package:tanami_app/Api_Helper/base_manager.dart';
import 'package:tanami_app/core/styles/app_text.dart';
import '../../../../Globalconst.dart';
import '../../../../core/routes/routes.dart';
@@ -94,7 +93,9 @@ class PinBloc extends Bloc<PinEvent, PinState> {
goRouter.pop();
emit(state.copyWith(
isVerified: false,
error: AppText.incorrectPinCode,
error: Globalconst.languageSelected == "en"
? "Incorrect PIN. Please try again."
: "رمز التعريف الشخصي غير صحيح",
verifiedOnce: true,
));
}

View File

@@ -1,4 +1,5 @@
import 'package:bloc/bloc.dart';
import 'onboarding_event.dart';
import 'onboarding_state.dart';

View File

@@ -36,31 +36,32 @@ Widget buildOnboardingPage(
)),
)
: const SizedBox(),
index == 0 ? const Gap(20) : const Gap(80),
SvgPicture.asset(AppImages.welcomeLogo),
index == 0 ? const Gap(0) : const Gap(85),
SvgPicture.asset(AppImages.welcomeLogo1),
const Gap(50),
Image.asset(
imageAsset,
width: 1.sw,
height: index == 2 ? 380 : 450,
height: 370,
fit: BoxFit.cover,
),
const Gap(12),
TextWidget().text22W700(
welcomeIndicator(pageController),
const Gap(20),
TextWidget().text15W500(
title,
clr: AppColor.primaryColor,
clr: AppColor.darkGreyColor,
),
const Gap(12),
Padding(
padding: const EdgeInsets.symmetric(
horizontal: 50,
horizontal: 20,
),
child: TextWidget().text15W500(
child: TextWidget().text20W700(
description,
clr: AppColor.darkGreyColor,
clr: AppColor.primaryColor,
txtAlign: TextAlign.center,
),
),
const Gap(20),
welcomeIndicator(pageController),
if (isLastPage) const LoginSignUpButton(),
],
);

View File

@@ -15,7 +15,7 @@ import 'features/biometric/bloc/biometric_bloc.dart';
import 'features/biometric/bloc/biometric_event.dart';
import 'features/countrySelection/bloc/GetCountry/get_country_bloc.dart';
import 'features/countrySelection/bloc/choose_country_bloc.dart';
import 'features/forgotPassword/bloc/restore_password_phone_verification_bloc.dart';
import 'features/forgotPassword/presentation/bloc/restore_password_phone_verification_bloc.dart';
import 'features/otpVerification/bloc/otp_bloc.dart';
import 'features/register/presentation/bloc/register_bloc.dart';
import 'shared/components/bloc/bottom_nav_bar/bottom_navigation_bloc.dart';

View File

@@ -11,7 +11,7 @@ import 'package:tanami_app/shared/components/text_widget.dart';
import '../../core/routes/route_name.dart';
import '../../core/routes/routes.dart';
import '../../core/utils/language/localizations_delegate.dart';
import '../../features/forgotPassword/bloc/restore_password_phone_verification_bloc.dart';
import '../../features/forgotPassword/presentation/bloc/restore_password_phone_verification_bloc.dart';
import '../../features/register/presentation/bloc/register_bloc.dart';
import 'text_from_field_widget.dart';

View File

@@ -216,10 +216,11 @@ class TextWidget {
String text, {
Color? clr,
TextDecoration? textDecoration,
TextAlign? textAlign,
}) {
return Text(
text,
textAlign: TextAlign.center,
textAlign: textAlign ?? TextAlign.center,
style: GoogleFonts.dmSans(
fontSize: 15.sp,
decorationColor: AppColor.hintTextColor,
@@ -323,9 +324,10 @@ class TextWidget {
}
//Text Size 20
Widget text20W700(String text, {Color? clr}) {
Widget text20W700(String text, {Color? clr, TextAlign? txtAlign}) {
return Text(
text,
textAlign: txtAlign ?? TextAlign.start,
style: GoogleFonts.dmSans(
fontSize: 20.sp,
fontWeight: FontWeight.w700,
@@ -356,4 +358,16 @@ class TextWidget {
),
);
}
//Text Size 32
Widget text32W700(String text, {Color? clr}) {
return Text(
text,
style: GoogleFonts.dmSans(
fontSize: 32.sp,
fontWeight: FontWeight.w700,
color: clr ?? AppColor.plainWhite,
),
);
}
}