new splash screen, deposit screen
This commit is contained in:
@@ -78,4 +78,7 @@ class RouteName {
|
||||
static const String investDetailScreen = "investDetailScreen";
|
||||
static const String investPaymentScreen = "investPaymentScreen";
|
||||
static const String confirmInvestScreen = "confirmInvestScreen";
|
||||
|
||||
//Bank Details
|
||||
static const String addBankDetailsScreen = "addBankDetailsScreen";
|
||||
}
|
||||
|
||||
@@ -33,6 +33,7 @@ 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/bankDetails/presentation/pages/add_bank_details_screen.dart';
|
||||
import '../../features/forgotPassword/presentation/pages/restore_password_phone_verification_screen.dart';
|
||||
import '../../features/login/presentation/pages/login_screen.dart';
|
||||
import '../../features/register/presentation/pages/register_user_details_screen.dart';
|
||||
@@ -53,7 +54,7 @@ final goRouter = GoRouter(
|
||||
path: RouteName.splashScreen,
|
||||
builder: (context, state) {
|
||||
// context.read<GetCountryBlock>().add(GetCountry());
|
||||
return const SplashScreen();
|
||||
return const SplashScreen(); //const MainScreen();
|
||||
},
|
||||
routes: [
|
||||
GoRoute(
|
||||
@@ -139,6 +140,13 @@ final goRouter = GoRouter(
|
||||
return const AcademyDetailsScreen();
|
||||
},
|
||||
),
|
||||
GoRoute(
|
||||
name: RouteName.addBankDetailsScreen,
|
||||
path: RouteName.addBankDetailsScreen,
|
||||
builder: (context, state) {
|
||||
return const AddBankDetails();
|
||||
},
|
||||
),
|
||||
GoRoute(
|
||||
name: RouteName.pinScreen,
|
||||
path: "${RouteName.pinScreen}/:fromScreen",
|
||||
|
||||
@@ -118,6 +118,8 @@ class AppImages {
|
||||
'assets/images/invest_screen/svg/time_square.svg';
|
||||
static const String applePayIcon =
|
||||
'assets/images/invest_screen/svg/apple_pay.svg';
|
||||
static const String walletSettingsIcon =
|
||||
'assets/images/settings_screen/svg/wallet_settings.svg';
|
||||
|
||||
//No Internet
|
||||
static const String noInternetImage =
|
||||
|
||||
@@ -236,6 +236,8 @@ class AppText {
|
||||
static const String swiftCode = "swiftCode";
|
||||
static const String bankAddress = "bankAddress";
|
||||
static const String clientId = "clientId";
|
||||
static const String updateBankDetails = "updateBankDetails";
|
||||
static const String yourAccountDetails = "yourAccountDetails";
|
||||
|
||||
//Settings
|
||||
static const String settingsText = "settingsText";
|
||||
@@ -266,6 +268,8 @@ class AppText {
|
||||
static const String changePasswordText = "changePasswordText";
|
||||
static const String newPasswordText = "newPasswordText";
|
||||
static const String currentPsswordText = "currentPsswordText";
|
||||
static const String bankDetails = "bankDetails";
|
||||
static const String addBankDetails = "addBankDetails";
|
||||
|
||||
//Contact Admin
|
||||
static const String byPhoneText = "byPhoneText";
|
||||
|
||||
@@ -3,10 +3,12 @@ import 'package:gap/gap.dart';
|
||||
import 'package:tanami_app/core/styles/app_color.dart';
|
||||
import 'package:tanami_app/features/MainScreens/Settings/presentation/widgets/support_settings_section.dart';
|
||||
|
||||
import '../widgets/add_bank_details_section.dart';
|
||||
import '../widgets/general_settings_section.dart';
|
||||
import '../widgets/kyc_card.dart';
|
||||
import '../widgets/privacy_settings_section.dart';
|
||||
import '../widgets/settings_bottom_section.dart';
|
||||
import '../widgets/user_account_section.dart';
|
||||
|
||||
class SettingsLayout extends StatelessWidget {
|
||||
const SettingsLayout({super.key});
|
||||
@@ -19,10 +21,14 @@ class SettingsLayout extends StatelessWidget {
|
||||
child: Column(
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
children: [
|
||||
const UserAccountSection(),
|
||||
const Gap(15),
|
||||
kycCard(context),
|
||||
const Gap(15),
|
||||
const GeneralSettingsSection(),
|
||||
const Gap(15),
|
||||
const BankDetailsSection(),
|
||||
const Gap(15),
|
||||
const PrivacySettingsSection(),
|
||||
const Gap(15),
|
||||
const SupportSettingsSection(),
|
||||
|
||||
@@ -0,0 +1,47 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:gap/gap.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/shared/components/text_widget.dart';
|
||||
|
||||
import '../../../../../core/utils/language/localizations_delegate.dart';
|
||||
import 'settings_list_tile_item.dart';
|
||||
|
||||
class BankDetailsSection extends StatelessWidget {
|
||||
const BankDetailsSection({super.key});
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
var localizations = AppLocalizations.of(context);
|
||||
return Padding(
|
||||
padding: const EdgeInsets.symmetric(
|
||||
horizontal: 16,
|
||||
),
|
||||
child: Column(
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
children: [
|
||||
TextWidget().text14W600(
|
||||
localizations.translate(AppText.addBankDetails),
|
||||
clr: AppColor.hintTextColor,
|
||||
),
|
||||
const Gap(8),
|
||||
SettingsListItem(
|
||||
onTapFunc: () {
|
||||
goRouter.pushNamed(RouteName.addBankDetailsScreen);
|
||||
},
|
||||
icon: AppImages.walletSettingsIcon,
|
||||
title: AppText.bankDetails,
|
||||
trailing: "",
|
||||
),
|
||||
const Gap(10),
|
||||
const Divider(
|
||||
color: AppColor.academyCardTextColor,
|
||||
),
|
||||
],
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,110 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_screenutil/flutter_screenutil.dart';
|
||||
import 'package:gap/gap.dart';
|
||||
import 'package:tanami_app/core/styles/app_text.dart';
|
||||
import 'package:tanami_app/shared/components/text_widget.dart';
|
||||
|
||||
import '../../../../../Globalconst.dart';
|
||||
import '../../../../../core/utils/language/localizations_delegate.dart';
|
||||
|
||||
class UserAccountSection extends StatelessWidget {
|
||||
const UserAccountSection({super.key});
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
var localizations = AppLocalizations.of(context);
|
||||
return Padding(
|
||||
padding: const EdgeInsets.symmetric(
|
||||
horizontal: 16,
|
||||
),
|
||||
child: Column(
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
children: [
|
||||
Container(
|
||||
width: 1.sw,
|
||||
padding: const EdgeInsets.only(
|
||||
left: 12,
|
||||
top: 12,
|
||||
bottom: 12,
|
||||
right: 12,
|
||||
),
|
||||
decoration: ShapeDecoration(
|
||||
color: const Color(0xFFF6F6F6),
|
||||
shape: RoundedRectangleBorder(
|
||||
borderRadius: BorderRadius.circular(22),
|
||||
),
|
||||
),
|
||||
child: Row(
|
||||
mainAxisSize: MainAxisSize.min,
|
||||
mainAxisAlignment: MainAxisAlignment.start,
|
||||
crossAxisAlignment: CrossAxisAlignment.center,
|
||||
children: [
|
||||
Expanded(
|
||||
child: SizedBox(
|
||||
height: 61,
|
||||
child: Row(
|
||||
mainAxisSize: MainAxisSize.min,
|
||||
mainAxisAlignment: MainAxisAlignment.start,
|
||||
crossAxisAlignment: CrossAxisAlignment.center,
|
||||
children: [
|
||||
Container(
|
||||
width: 41,
|
||||
height: 41,
|
||||
padding: const EdgeInsets.all(8),
|
||||
decoration: ShapeDecoration(
|
||||
color: const Color(0xFFDAEEE0),
|
||||
shape: RoundedRectangleBorder(
|
||||
side: const BorderSide(
|
||||
width: 1, color: Color(0xFF709C81)),
|
||||
borderRadius: BorderRadius.circular(22),
|
||||
),
|
||||
),
|
||||
child: Row(
|
||||
mainAxisSize: MainAxisSize.min,
|
||||
mainAxisAlignment: MainAxisAlignment.center,
|
||||
crossAxisAlignment: CrossAxisAlignment.center,
|
||||
children: [
|
||||
TextWidget().text15W500(
|
||||
'AN',
|
||||
clr: const Color(0xFF066123),
|
||||
)
|
||||
],
|
||||
),
|
||||
),
|
||||
const Gap(12),
|
||||
Column(
|
||||
mainAxisSize: MainAxisSize.min,
|
||||
mainAxisAlignment: MainAxisAlignment.start,
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
children: [
|
||||
TextWidget().text14W500(
|
||||
Globalconst.firstName.isEmpty
|
||||
? "User"
|
||||
: Globalconst.firstName,
|
||||
clr: const Color(0xFF191B1E),
|
||||
),
|
||||
const Gap(4),
|
||||
TextWidget().text11W500(
|
||||
localizations
|
||||
.translate(AppText.yourAccountDetails),
|
||||
clr: const Color(0xFF8D8D8D),
|
||||
),
|
||||
],
|
||||
),
|
||||
const Spacer(),
|
||||
const Icon(
|
||||
Icons.arrow_forward_ios_outlined,
|
||||
color: Color(0xFF363636),
|
||||
)
|
||||
],
|
||||
),
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
)
|
||||
],
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -7,6 +7,7 @@ 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 '../../../../../../core/styles/app_color.dart';
|
||||
import '../../../../../../core/utils/language/localizations_delegate.dart';
|
||||
import '../../../../../../core/utils/text_formatter/comma_input_text_formatter.dart';
|
||||
|
||||
@@ -316,13 +317,34 @@ class _WithdrawalScreenState extends State<WithdrawalScreen> {
|
||||
mainAxisSize: MainAxisSize.min,
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
children: [
|
||||
Text(
|
||||
localizations.translate(AppText.withdrawDetails),
|
||||
style: GoogleFonts.dmSans(
|
||||
color: Colors.black,
|
||||
fontSize: 15.sp,
|
||||
fontWeight: FontWeight.w700,
|
||||
),
|
||||
Row(
|
||||
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||||
children: [
|
||||
Text(
|
||||
localizations
|
||||
.translate(AppText.withdrawDetails),
|
||||
style: GoogleFonts.dmSans(
|
||||
color: Colors.black,
|
||||
fontSize: 15.sp,
|
||||
fontWeight: FontWeight.w700,
|
||||
),
|
||||
),
|
||||
InkWell(
|
||||
onTap: () {
|
||||
goRouter.pushNamed(
|
||||
RouteName.addBankDetailsScreen);
|
||||
},
|
||||
child: Text(
|
||||
localizations
|
||||
.translate(AppText.updateBankDetails),
|
||||
style: GoogleFonts.dmSans(
|
||||
color: AppColor.textLabelColor,
|
||||
fontSize: 13.sp,
|
||||
fontWeight: FontWeight.w500,
|
||||
decoration: TextDecoration.underline),
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
SizedBox(
|
||||
height: 3.h,
|
||||
@@ -375,7 +397,7 @@ class _WithdrawalScreenState extends State<WithdrawalScreen> {
|
||||
fontWeight: FontWeight.w400,
|
||||
),
|
||||
decoration: InputDecoration(
|
||||
hintText: 'Value',
|
||||
hintText: titles[index],
|
||||
hintStyle: GoogleFonts.dmSans(
|
||||
color: const Color(0xFFC6C6C6),
|
||||
fontSize: 16.sp,
|
||||
|
||||
@@ -0,0 +1,119 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_screenutil/flutter_screenutil.dart';
|
||||
import 'package:gap/gap.dart';
|
||||
import 'package:google_fonts/google_fonts.dart';
|
||||
|
||||
import '../../../../core/routes/routes.dart';
|
||||
import '../../../../core/styles/app_text.dart';
|
||||
import '../../../../core/utils/language/localizations_delegate.dart';
|
||||
import '../../../../shared/components/form_label_textfield.dart';
|
||||
|
||||
class AddBankDetails extends StatelessWidget {
|
||||
const AddBankDetails({super.key});
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
TextEditingController accountNameText = TextEditingController();
|
||||
TextEditingController accountNoText = TextEditingController();
|
||||
TextEditingController ibanText = TextEditingController();
|
||||
TextEditingController swiftCodeText = TextEditingController();
|
||||
TextEditingController bankNameText = TextEditingController();
|
||||
TextEditingController bankAddressText = TextEditingController();
|
||||
var localizations = AppLocalizations.of(context);
|
||||
return Scaffold(
|
||||
backgroundColor: Colors.white,
|
||||
bottomNavigationBar: Padding(
|
||||
padding: MediaQuery.of(context).viewInsets,
|
||||
child: GestureDetector(
|
||||
onTap: () {
|
||||
goRouter.pop();
|
||||
},
|
||||
child: Container(
|
||||
margin: const EdgeInsets.all(10.0),
|
||||
height: 65.h,
|
||||
width: double.infinity,
|
||||
decoration: BoxDecoration(
|
||||
borderRadius: BorderRadius.circular(22.r),
|
||||
color: const Color(0xFF004717),
|
||||
),
|
||||
child: Center(
|
||||
child: Text(
|
||||
localizations.translate(AppText.submitText),
|
||||
style: GoogleFonts.dmSans(
|
||||
color: Colors.white,
|
||||
fontSize: 14.sp,
|
||||
fontWeight: FontWeight.w700,
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
appBar: AppBar(
|
||||
backgroundColor: Colors.white,
|
||||
elevation: 0,
|
||||
scrolledUnderElevation: 0.0,
|
||||
centerTitle: true,
|
||||
title: Text(
|
||||
localizations.translate(AppText.addBankDetails),
|
||||
style: GoogleFonts.dmSans(
|
||||
color: const Color(0xFF272727),
|
||||
fontSize: 20.sp,
|
||||
fontWeight: FontWeight.w700,
|
||||
),
|
||||
),
|
||||
),
|
||||
body: Padding(
|
||||
padding: const EdgeInsets.all(12.0),
|
||||
child: SingleChildScrollView(
|
||||
child: Column(
|
||||
children: [
|
||||
const Gap(20),
|
||||
FormLabelTextField(
|
||||
hintText: localizations.translate(AppText.accountName),
|
||||
title: localizations.translate(AppText.accountName),
|
||||
type: "first name",
|
||||
textEditingController: accountNameText,
|
||||
),
|
||||
const Gap(20),
|
||||
FormLabelTextField(
|
||||
hintText: localizations.translate(AppText.accountNo),
|
||||
title: localizations.translate(AppText.accountNo),
|
||||
type: "first name",
|
||||
textEditingController: accountNoText,
|
||||
),
|
||||
const Gap(20),
|
||||
FormLabelTextField(
|
||||
hintText: localizations.translate(AppText.iban),
|
||||
title: localizations.translate(AppText.iban),
|
||||
type: "first name",
|
||||
textEditingController: ibanText,
|
||||
),
|
||||
const Gap(20),
|
||||
FormLabelTextField(
|
||||
hintText: localizations.translate(AppText.swiftCode),
|
||||
title: localizations.translate(AppText.swiftCode),
|
||||
type: "first name",
|
||||
textEditingController: swiftCodeText,
|
||||
),
|
||||
const Gap(20),
|
||||
FormLabelTextField(
|
||||
hintText: localizations.translate(AppText.bankName),
|
||||
title: localizations.translate(AppText.bankName),
|
||||
type: "first name",
|
||||
textEditingController: bankNameText,
|
||||
),
|
||||
const Gap(20),
|
||||
FormLabelTextField(
|
||||
hintText: localizations.translate(AppText.bankAddress),
|
||||
title: localizations.translate(AppText.bankAddress),
|
||||
type: "first name",
|
||||
textEditingController: bankAddressText,
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user