Merge pull request #122 from WDI-Ideas/jayeshjain25

Jayeshjain25
This commit is contained in:
Jayesh jain
2024-07-23 13:16:16 +05:30
committed by GitHub
12 changed files with 345 additions and 16 deletions

View File

@@ -0,0 +1,3 @@
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M7.81204 2.5H16.188C19.3978 2.5 22 5.16116 22 8.44374V9.18592L22.0002 9.20241L22 9.21891V14.5201L22.0002 14.5366L22 14.5531V15.5563C22 18.8388 19.3978 21.5 16.188 21.5H7.81204C4.60219 21.5 2 18.8388 2 15.5563V8.44374C2 5.16116 4.60219 2.5 7.81204 2.5ZM20.5464 8.44374V8.45916H17.3504L17.1673 8.46431C15.4101 8.56244 14.0147 10.0491 14.0147 11.8695C14.0159 13.7531 15.5084 15.2787 17.3499 15.2798H20.5464V15.5563C20.5464 18.0179 18.595 20.0135 16.188 20.0135H7.81204C5.40498 20.0135 3.45358 18.0179 3.45358 15.5563V8.44374C3.45358 5.98214 5.40498 3.98651 7.81204 3.98651H16.188C18.595 3.98651 20.5464 5.98214 20.5464 8.44374ZM17.3508 9.94567L20.5464 9.94567V13.7933H17.3504L17.2033 13.7874C16.2329 13.7102 15.4689 12.8811 15.4683 11.869C15.4683 10.8074 16.3109 9.94632 17.3508 9.94567ZM18.521 11.8084C18.521 11.3979 18.1956 11.0652 17.7942 11.0652H17.4921L17.3935 11.072C17.0388 11.1212 16.7653 11.4322 16.7653 11.8084C16.7653 12.2189 17.0907 12.5517 17.4921 12.5517H17.7942L17.8928 12.5449C18.2475 12.4957 18.521 12.1847 18.521 11.8084ZM13.0807 7.74062C13.0807 7.33013 12.7553 6.99736 12.3539 6.99736H7.12203L7.0234 7.00415C6.66866 7.05337 6.39524 7.36434 6.39524 7.74062C6.39524 8.15111 6.72063 8.48388 7.12203 8.48388H12.3539L12.4525 8.47709C12.8073 8.42788 13.0807 8.1169 13.0807 7.74062Z" fill="#363636"/>
</svg>

After

Width:  |  Height:  |  Size: 1.4 KiB

View File

@@ -112,7 +112,7 @@
"walletDetailsTitle": "تفاصيل",
"withdrawalScreenTitle": "أدخل تفاصيل البنك",
"depositScreenTitle": "إخطار الإيداع",
"status": "الحالة",
"status": "الحالة",
"paymentMethod": "طريقة الدفع",
"accountName": "اسم الحساب",
"accountHolderName": "اسم صاحب الحساب/المستفيد",
@@ -269,10 +269,11 @@
"accountNo" : "رقم الحساب",
"swiftCode" :"رمز السرعة",
"bankAddress" : "عنوان البنك",
"clientId" : "معرف العميل"
"clientId" : "معرف العميل",
"bankDetails" : "التفاصيل المصرفية",
"addBankDetails" : "إضافة تفاصيل البنك",
"updateBankDetails" : "تحديث تفاصيل البنك",
"yourAccountDetails" : "تفاصيل حسابك"
}

View File

@@ -110,7 +110,7 @@
"refund": "Refund",
"investment": "Investment",
"walletDetailsTitle": "Details",
"withdrawalScreenTitle": "Enter bank details",
"withdrawalScreenTitle": "Enter bank details",
"depositScreenTitle": "Deposit notification",
"status": "Status",
"paymentMethod": "Payment Method",
@@ -269,7 +269,11 @@
"accountNo" : "Account No.",
"swiftCode" :"SWIFT Code",
"bankAddress" : "Bank Address",
"clientId" : "Client ID"
"clientId" : "Client ID",
"bankDetails" : "Bank details",
"addBankDetails" : "Add bank details",
"updateBankDetails" : "Update bank details",
"yourAccountDetails" : "Your account Details"

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