new splash screen, deposit screen

This commit is contained in:
jayesh
2024-07-23 13:06:35 +05:30
parent 4e823837d0
commit ae5c2fe0f0
12 changed files with 345 additions and 16 deletions

View File

@@ -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";
}

View File

@@ -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",

View File

@@ -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 =

View File

@@ -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";

View File

@@ -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(),

View File

@@ -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,
),
],
),
);
}
}

View File

@@ -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),
)
],
),
),
),
],
),
)
],
),
);
}
}

View File

@@ -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,

View File

@@ -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,
),
],
),
),
),
);
}
}