Merge pull request #90 from WDI-Ideas/jayeshjain25

language localization
This commit is contained in:
Jayesh jain
2024-07-10 20:35:46 +05:30
committed by GitHub
45 changed files with 723 additions and 533 deletions

View File

@@ -100,7 +100,7 @@
"submitText": "إرسال",
"walletTitle": "رصيد المحفظة",
"walletText": "محفظة",
"day": "اليوم",
"day": "اليوم",
"filterTitle": "مرشحات",
"onHold": "قيد الانتظار",
"deposit": "إيداع",
@@ -108,7 +108,7 @@
"withdrawal": "انسحاب",
"yield": "عائد",
"refund": "استرداد",
"investment": "استثمار",
"investment": " ",
"walletDetailsTitle": "تفاصيل",
"withdrawalScreenTitle": "أدخل تفاصيل البنك",
"depositScreenTitle": "إخطار الإيداع",

View File

@@ -4,6 +4,7 @@ import 'package:tanami_app/features/MainScreens/Academy/presentation/pages/acade
import 'package:tanami_app/shared/components/text_widget.dart';
import '../../../../../core/styles/app_text.dart';
import '../../../../../core/utils/language/localizations_delegate.dart';
class AcademyScreen extends StatefulWidget {
const AcademyScreen({super.key});
@@ -15,6 +16,7 @@ class AcademyScreen extends StatefulWidget {
class _AcademyScreenState extends State<AcademyScreen> {
@override
Widget build(BuildContext context) {
var localizations = AppLocalizations.of(context);
return Scaffold(
backgroundColor: AppColor.plainWhite,
appBar: AppBar(
@@ -24,7 +26,7 @@ class _AcademyScreenState extends State<AcademyScreen> {
scrolledUnderElevation: 0,
automaticallyImplyLeading: false,
title: TextWidget().text22W700(
AppText.academyText,
localizations.translate(AppText.academyText),
clr: AppColor.charcoalColor,
),
titleSpacing: 16,

View File

@@ -6,11 +6,14 @@ 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';
class AcademyDetailSection extends StatelessWidget {
const AcademyDetailSection({super.key});
@override
Widget build(BuildContext context) {
var localizations = AppLocalizations.of(context);
return Container(
decoration: BoxDecoration(
color: AppColor.plainWhite,
@@ -59,7 +62,7 @@ class AcademyDetailSection extends StatelessWidget {
),
Gap(5.w),
TextWidget().text12W700(
'3 ${AppText.videosTitle}',
'3 ${localizations.translate(AppText.videosTitle)}',
clr: AppColor.academyCardTextColor,
),
],

View File

@@ -4,12 +4,14 @@ import 'package:google_fonts/google_fonts.dart';
import 'package:tanami_app/core/styles/app_images.dart';
import '../../../../../core/styles/app_text.dart';
import '../../../../../core/utils/language/localizations_delegate.dart';
class AcademyVideoSection extends StatelessWidget {
const AcademyVideoSection({super.key});
@override
Widget build(BuildContext context) {
var localizations = AppLocalizations.of(context);
return Container(
decoration: BoxDecoration(
color: Colors.white,
@@ -29,7 +31,7 @@ class AcademyVideoSection extends StatelessWidget {
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text(
AppText.videosTitle,
localizations.translate(AppText.videosTitle),
style: GoogleFonts.dmSans(
color: Colors.black,
fontSize: 15.sp,

View File

@@ -7,6 +7,7 @@ import 'package:tanami_app/core/styles/app_color.dart';
import 'package:tanami_app/core/styles/app_text.dart';
import 'package:tanami_app/shared/components/button_widget.dart';
import '../../../../../core/utils/language/localizations_delegate.dart';
import '../../../../../shared/components/appbar_widget.dart';
import '../../../Portfolio/presentation/bloc/carousel/carousel_bloc.dart';
import 'invest_details_layout.dart';
@@ -17,6 +18,7 @@ class InvestDetailsScreen extends StatelessWidget {
@override
Widget build(BuildContext context) {
var localizations = AppLocalizations.of(context);
return Scaffold(
backgroundColor: AppColor.plainWhite,
bottomNavigationBar: type == "closed"
@@ -26,7 +28,7 @@ class InvestDetailsScreen extends StatelessWidget {
width: 1.sw,
height: 65.h,
child: ButtonWidget().elevatedBtn(
text: AppText.investText,
text: localizations.translate(AppText.investText),
clr: AppColor.primaryColor2,
function: () {
goRouter.pushNamed(RouteName.investPaymentScreen);

View File

@@ -7,6 +7,7 @@ import 'package:tanami_app/core/styles/app_color.dart';
import 'package:tanami_app/core/styles/app_text.dart';
import 'package:tanami_app/features/MainScreens/Invest/presentation/widgets/kyc_card.dart';
import '../../../../../core/utils/language/localizations_delegate.dart';
import '../bloc/tab_bloc.dart';
import '../bloc/tab_event.dart';
import '../bloc/tab_state.dart';
@@ -19,6 +20,7 @@ class InvestLayout extends StatelessWidget {
@override
Widget build(BuildContext context) {
var localizations = AppLocalizations.of(context);
return DefaultTabController(
length: 2,
child: Scaffold(
@@ -26,9 +28,9 @@ class InvestLayout extends StatelessWidget {
body: Column(
children: [
TabBar(
tabs: const [
Tab(text: AppText.availableText),
Tab(text: AppText.closedText),
tabs: [
Tab(text: localizations.translate(AppText.availableText)),
Tab(text: localizations.translate(AppText.closedText)),
],
labelStyle: GoogleFonts.dmSans(
fontWeight: FontWeight.bold,
@@ -82,7 +84,7 @@ class AvailableItemsScreen extends StatelessWidget {
horizontal: 16,
vertical: 18,
),
child: kycCard())
child: kycCard(context))
: GestureDetector(
onTap: () {
goRouter.pushNamed(RouteName.investDetailScreen,

View File

@@ -5,6 +5,7 @@ import 'package:tanami_app/features/MainScreens/Portfolio/presentation/bloc/caro
import '../../../../../core/styles/app_color.dart';
import '../../../../../core/styles/app_text.dart';
import '../../../../../core/utils/language/localizations_delegate.dart';
import '../../../../../shared/components/text_widget.dart';
import 'invest_layout.dart';
@@ -18,6 +19,7 @@ class InvestScreen extends StatefulWidget {
class _InvestScreenState extends State<InvestScreen> {
@override
Widget build(BuildContext context) {
var localizations = AppLocalizations.of(context);
return Scaffold(
backgroundColor: AppColor.plainWhite,
appBar: AppBar(
@@ -27,7 +29,7 @@ class _InvestScreenState extends State<InvestScreen> {
scrolledUnderElevation: 0,
automaticallyImplyLeading: false,
title: TextWidget().text22W700(
AppText.investText,
localizations.translate(AppText.investText),
clr: AppColor.charcoalColor,
),
titleSpacing: 16,

View File

@@ -6,6 +6,7 @@ import 'package:tanami_app/features/MainScreens/Invest/presentation/bloc/payment
import '../../../../../../core/styles/app_color.dart';
import '../../../../../../core/styles/app_text.dart';
import '../../../../../../core/utils/language/localizations_delegate.dart';
import 'invest_payment_layout.dart';
class InvestPaymentScreen extends StatelessWidget {
@@ -13,6 +14,7 @@ class InvestPaymentScreen extends StatelessWidget {
@override
Widget build(BuildContext context) {
var localizations = AppLocalizations.of(context);
return Scaffold(
backgroundColor: AppColor.plainWhite,
appBar: AppBar(
@@ -21,7 +23,7 @@ class InvestPaymentScreen extends StatelessWidget {
scrolledUnderElevation: 0.0,
centerTitle: true,
title: Text(
AppText.investmentDetailsText,
localizations.translate(AppText.investmentDetailsText),
style: GoogleFonts.dmSans(
color: const Color(0xFF272727),
fontSize: 20.sp,

View File

@@ -5,6 +5,7 @@ import 'package:tanami_app/core/styles/app_color.dart';
import '../../../../../core/styles/app_images.dart';
import '../../../../../core/styles/app_text.dart';
import '../../../../../core/utils/language/localizations_delegate.dart';
import '../../../../../shared/components/text_widget.dart';
class InvestClosedDetailsSection extends StatelessWidget {
@@ -12,6 +13,7 @@ class InvestClosedDetailsSection extends StatelessWidget {
@override
Widget build(BuildContext context) {
var localizations = AppLocalizations.of(context);
return Column(
children: [
Container(
@@ -71,7 +73,7 @@ class InvestClosedDetailsSection extends StatelessWidget {
5.w,
),
TextWidget().text12W700(
"${AppText.closedDateText}: ",
"${localizations.translate(AppText.closedDateText)}: ",
clr: AppColor.plainBlack,
),
TextWidget().text12W500(
@@ -127,7 +129,7 @@ class InvestClosedDetailsSection extends StatelessWidget {
SizedBox(
width: 150.w,
child: TextWidget().text14W500(
"${AppText.sponsorNameText}:",
"${localizations.translate(AppText.sponsorNameText)}:",
clr: AppColor.portoflioCardTextColor,
txtAlign: TextAlign.start,
),
@@ -149,7 +151,7 @@ class InvestClosedDetailsSection extends StatelessWidget {
SizedBox(
width: 150.w,
child: TextWidget().text14W500(
"${AppText.actualReturnToDate}:",
"${localizations.translate(AppText.actualReturnToDate)}:",
clr: AppColor.portoflioCardTextColor,
txtAlign: TextAlign.start,
),
@@ -171,7 +173,7 @@ class InvestClosedDetailsSection extends StatelessWidget {
SizedBox(
width: 150.w,
child: TextWidget().text14W500(
"${AppText.holdingPeriodText}:",
"${localizations.translate(AppText.holdingPeriodText)}:",
clr: AppColor.portoflioCardTextColor,
txtAlign: TextAlign.start,
),
@@ -191,7 +193,7 @@ class InvestClosedDetailsSection extends StatelessWidget {
crossAxisAlignment: CrossAxisAlignment.start,
children: [
TextWidget().text14W500(
"${AppText.expectedExitDate}:",
"${localizations.translate(AppText.expectedExitDate)}:",
clr: AppColor.portoflioCardTextColor,
txtAlign: TextAlign.start,
),

View File

@@ -4,6 +4,7 @@ import 'package:gap/gap.dart';
import 'package:tanami_app/core/styles/app_color.dart';
import '../../../../../core/styles/app_text.dart';
import '../../../../../core/utils/language/localizations_delegate.dart';
import '../../../../../shared/components/text_widget.dart';
class InvestDetailDetailsSection extends StatelessWidget {
@@ -12,6 +13,7 @@ class InvestDetailDetailsSection extends StatelessWidget {
@override
Widget build(BuildContext context) {
var localizations = AppLocalizations.of(context);
return Column(
children: [
Container(
@@ -48,8 +50,8 @@ class InvestDetailDetailsSection extends StatelessWidget {
? const SizedBox()
: TextWidget().text11W700(
type == "closed"
? "100% ${AppText.fundedText}"
: "60% ${AppText.fundedText}",
? "100% ${localizations.translate(AppText.fundedText)}"
: "60% ${localizations.translate(AppText.fundedText)}",
clr: AppColor.portoflioCardTextColor),
type == "closed" ? const SizedBox() : const Gap(8.0),
TextWidget().text14W400(
@@ -81,7 +83,7 @@ class InvestDetailDetailsSection extends StatelessWidget {
SizedBox(
width: 150.w,
child: TextWidget().text14W500(
"${AppText.sponsorNameText}:",
"${localizations.translate(AppText.sponsorNameText)}:",
clr: AppColor.portoflioCardTextColor,
txtAlign: TextAlign.start,
),
@@ -103,7 +105,7 @@ class InvestDetailDetailsSection extends StatelessWidget {
SizedBox(
width: 150.w,
child: TextWidget().text14W500(
"${AppText.estimatedReturnText}:",
"${localizations.translate(AppText.estimatedReturnText)}:",
clr: AppColor.portoflioCardTextColor,
txtAlign: TextAlign.start,
),
@@ -129,8 +131,8 @@ class InvestDetailDetailsSection extends StatelessWidget {
width: 150.w,
child: TextWidget().text14W500(
type == "closed"
? "${AppText.actualReturnToDate}:"
: "${AppText.actualEstimatedReturnText}:",
? "${localizations.translate(AppText.actualReturnToDate)}:"
: "${localizations.translate(AppText.actualEstimatedReturnText)}:",
clr: AppColor.portoflioCardTextColor,
txtAlign: TextAlign.start,
),
@@ -158,7 +160,7 @@ class InvestDetailDetailsSection extends StatelessWidget {
SizedBox(
width: 150.w,
child: TextWidget().text14W500(
"${AppText.holdingPeriodText}:",
"${localizations.translate(AppText.holdingPeriodText)}:",
clr: AppColor.portoflioCardTextColor,
txtAlign: TextAlign.start,
),
@@ -180,8 +182,8 @@ class InvestDetailDetailsSection extends StatelessWidget {
children: [
TextWidget().text14W500(
type == "closed"
? "${AppText.expectedExitDate}:"
: "${AppText.payoutDateText}:",
? "${localizations.translate(AppText.expectedExitDate)}:"
: "${localizations.translate(AppText.payoutDateText)}:",
clr: AppColor.portoflioCardTextColor,
txtAlign: TextAlign.start,
),
@@ -197,7 +199,7 @@ class InvestDetailDetailsSection extends StatelessWidget {
crossAxisAlignment: CrossAxisAlignment.start,
children: [
TextWidget().text14W500(
"${AppText.minimumInvestmentText}:",
"${localizations.translate(AppText.minimumInvestmentText)}:",
clr: AppColor.portoflioCardTextColor,
txtAlign: TextAlign.start,
),

View File

@@ -7,6 +7,7 @@ import 'package:tanami_app/core/styles/app_color.dart';
import '../../../../../core/styles/app_images.dart';
import '../../../../../core/styles/app_text.dart';
import '../../../../../core/utils/language/localizations_delegate.dart';
import '../../../../../shared/components/text_widget.dart';
import '../../../Portfolio/presentation/bloc/carousel/carousel_bloc.dart';
import '../../../Portfolio/presentation/bloc/carousel/carousel_event.dart';
@@ -29,6 +30,7 @@ class InvestDetailCarouselView extends StatelessWidget {
@override
Widget build(BuildContext context) {
var localizations = AppLocalizations.of(context);
return Container(
height: 190.h,
decoration: const BoxDecoration(
@@ -138,8 +140,8 @@ class InvestDetailCarouselView extends StatelessWidget {
),
TextWidget().text11W500(
type == "closed"
? '${AppText.closedDateText} Jul 10 2025'
: '${AppText.closingDateText} Jul 10 2025',
? '${localizations.translate(AppText.closedDateText)} Jul 10 2025'
: '${localizations.translate(AppText.closingDateText)} Jul 10 2025',
clr: AppColor.plainBlack,
),
],

View File

@@ -5,6 +5,7 @@ import 'package:tanami_app/core/styles/app_color.dart';
import '../../../../../core/styles/app_images.dart';
import '../../../../../core/styles/app_text.dart';
import '../../../../../core/utils/language/localizations_delegate.dart';
import '../../../../../shared/components/text_widget.dart';
class InvestDetailsSection extends StatelessWidget {
@@ -12,6 +13,7 @@ class InvestDetailsSection extends StatelessWidget {
@override
Widget build(BuildContext context) {
var localizations = AppLocalizations.of(context);
return Column(
children: [
Container(
@@ -71,7 +73,7 @@ class InvestDetailsSection extends StatelessWidget {
5.w,
),
TextWidget().text12W700(
"${AppText.closingDateText}: ",
"${localizations.translate(AppText.closingDateText)}: ",
clr: AppColor.plainBlack,
),
TextWidget().text12W500(
@@ -96,7 +98,8 @@ class InvestDetailsSection extends StatelessWidget {
AppColor.investTextColor),
),
const Gap(8.0),
TextWidget().text11W700("60% ${AppText.fundedText}",
TextWidget().text11W700(
"60% ${localizations.translate(AppText.fundedText)}",
clr: AppColor.portoflioCardTextColor),
const Gap(8.0),
TextWidget().text14W400(
@@ -127,7 +130,7 @@ class InvestDetailsSection extends StatelessWidget {
SizedBox(
width: 150.w,
child: TextWidget().text14W500(
"${AppText.sponsorNameText}:",
"${localizations.translate(AppText.sponsorNameText)}:",
clr: AppColor.portoflioCardTextColor,
txtAlign: TextAlign.start,
),
@@ -149,7 +152,7 @@ class InvestDetailsSection extends StatelessWidget {
SizedBox(
width: 150.w,
child: TextWidget().text14W500(
"${AppText.estimatedReturnText}:",
"${localizations.translate(AppText.estimatedReturnText)}:",
clr: AppColor.portoflioCardTextColor,
txtAlign: TextAlign.start,
),
@@ -171,7 +174,7 @@ class InvestDetailsSection extends StatelessWidget {
SizedBox(
width: 150.w,
child: TextWidget().text14W500(
"${AppText.holdingPeriodText}:",
"${localizations.translate(AppText.holdingPeriodText)}:",
clr: AppColor.portoflioCardTextColor,
txtAlign: TextAlign.start,
),
@@ -191,7 +194,7 @@ class InvestDetailsSection extends StatelessWidget {
crossAxisAlignment: CrossAxisAlignment.start,
children: [
TextWidget().text14W500(
"${AppText.minimumInvestmentText}:",
"${localizations.translate(AppText.minimumInvestmentText)}:",
clr: AppColor.portoflioCardTextColor,
txtAlign: TextAlign.start,
),

View File

@@ -6,12 +6,14 @@ import 'package:tanami_app/core/styles/app_images.dart';
import 'package:tanami_app/shared/components/text_widget.dart';
import '../../../../../core/styles/app_text.dart';
import '../../../../../core/utils/language/localizations_delegate.dart';
class InvestIncludedDocumentsSection extends StatelessWidget {
const InvestIncludedDocumentsSection({super.key});
@override
Widget build(BuildContext context) {
var localizations = AppLocalizations.of(context);
return Container(
width: double.infinity,
decoration: BoxDecoration(
@@ -32,7 +34,7 @@ class InvestIncludedDocumentsSection extends StatelessWidget {
crossAxisAlignment: CrossAxisAlignment.start,
children: [
TextWidget().text15W700(
AppText.includeddocs,
localizations.translate(AppText.includeddocs),
clr: AppColor.plainBlack,
),
Gap(

View File

@@ -4,12 +4,14 @@ import 'package:google_fonts/google_fonts.dart';
import 'package:tanami_app/core/styles/app_images.dart';
import '../../../../../core/styles/app_text.dart';
import '../../../../../core/utils/language/localizations_delegate.dart';
class InvestVideoSection extends StatelessWidget {
const InvestVideoSection({super.key});
@override
Widget build(BuildContext context) {
var localizations = AppLocalizations.of(context);
return Container(
decoration: BoxDecoration(
color: Colors.white,
@@ -29,7 +31,7 @@ class InvestVideoSection extends StatelessWidget {
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text(
AppText.videosTitle,
localizations.translate(AppText.videosTitle),
style: GoogleFonts.dmSans(
color: Colors.black,
fontSize: 15.sp,

View File

@@ -7,12 +7,14 @@ import 'package:tanami_app/core/styles/app_images.dart';
import 'package:tanami_app/shared/components/text_widget.dart';
import '../../../../../core/styles/app_text.dart';
import '../../../../../core/utils/language/localizations_delegate.dart';
class KeyInvestmentSection extends StatelessWidget {
const KeyInvestmentSection({super.key});
@override
Widget build(BuildContext context) {
var localizations = AppLocalizations.of(context);
return Container(
width: double.infinity,
padding: const EdgeInsets.symmetric(horizontal: 5),
@@ -34,7 +36,7 @@ class KeyInvestmentSection extends StatelessWidget {
crossAxisAlignment: CrossAxisAlignment.start,
children: [
TextWidget().text15W700(
AppText.keyMeritsOfInvestmentText,
localizations.translate(AppText.keyMeritsOfInvestmentText),
clr: AppColor.plainBlack,
),
Gap(

View File

@@ -6,7 +6,10 @@ 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';
Widget kycCard() {
import '../../../../../core/utils/language/localizations_delegate.dart';
Widget kycCard(BuildContext context) {
var localizations = AppLocalizations.of(context);
return Container(
clipBehavior: Clip.antiAlias,
padding: const EdgeInsets.symmetric(horizontal: 12, vertical: 8),
@@ -42,11 +45,12 @@ Widget kycCard() {
crossAxisAlignment: CrossAxisAlignment.start,
children: [
TextWidget().text14W600(
AppText.completeYourVerification,
localizations.translate(AppText.completeYourVerification),
clr: AppColor.languageTextColor,
),
TextWidget().text11W500(
AppText.verifyYourAccountInUnderMinutesToStartInvestingToday,
localizations.translate(AppText
.verifyYourAccountInUnderMinutesToStartInvestingToday),
clr: AppColor.languageTextColor,
),
],

View File

@@ -5,6 +5,7 @@ import '../../../../../../core/routes/route_name.dart';
import '../../../../../../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';
class ConfirmInvestBottomSection extends StatelessWidget {
@@ -14,6 +15,7 @@ class ConfirmInvestBottomSection extends StatelessWidget {
@override
Widget build(BuildContext context) {
var localizations = AppLocalizations.of(context);
return Container(
margin: const EdgeInsets.symmetric(
horizontal: 16,
@@ -27,7 +29,7 @@ class ConfirmInvestBottomSection extends StatelessWidget {
goRouter.pushNamed(RouteName.otpScreen,
pathParameters: {"fromScreen": "confirm-investment"});
},
text: AppText.investText,
text: localizations.translate(AppText.investText),
clr: AppColor.primaryColor2,
),
);

View File

@@ -5,11 +5,14 @@ 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';
class ConfirmInvestTopSection extends StatelessWidget {
const ConfirmInvestTopSection({super.key});
@override
Widget build(BuildContext context) {
var localizations = AppLocalizations.of(context);
return Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
@@ -67,32 +70,36 @@ class ConfirmInvestTopSection extends StatelessWidget {
),
),
),
child: const Column(
child: Column(
children: [
Padding(
padding: EdgeInsets.all(12.0),
padding: const EdgeInsets.all(12.0),
child: Column(
children: [
InvestmentDetailRow(
label: AppText.investmentamount,
label: localizations
.translate(AppText.investmentamount),
value: 'SAR 1,000',
subTitle: "\$ 267,00",
),
SizedBox(height: 8.0),
const SizedBox(height: 8.0),
InvestmentDetailRow(
label: AppText.paymentMethod,
label:
localizations.translate(AppText.paymentMethod),
value: 'Wallet',
subTitle: "",
),
SizedBox(height: 8.0),
const SizedBox(height: 8.0),
InvestmentDetailRow(
label: AppText.currentExchangeText,
label: localizations
.translate(AppText.currentExchangeText),
value: 'SAR 1 = USD 0.27',
subTitle: "",
),
SizedBox(height: 8.0),
const SizedBox(height: 8.0),
InvestmentDetailRow(
label: '${AppText.totalDebitedAmountText}:',
label:
'${localizations.translate(AppText.totalDebitedAmountText)}:',
value: 'SAR 1,000',
subTitle: "",
),

View File

@@ -10,6 +10,7 @@ import '../../../../../../core/routes/routes.dart';
import '../../../../../../core/styles/app_color.dart';
import '../../../../../../core/styles/app_images.dart';
import '../../../../../../core/styles/app_text.dart';
import '../../../../../../core/utils/language/localizations_delegate.dart';
import '../../../../../../shared/components/button_widget.dart';
import '../../../../../countrySelection/presentation/bloc/choose_country_bloc.dart';
import '../../../../../countrySelection/presentation/bloc/choose_country_state.dart';
@@ -21,6 +22,7 @@ class InvestPayBottomSection extends StatelessWidget {
@override
Widget build(BuildContext context) {
var localizations = AppLocalizations.of(context);
return Column(
mainAxisSize: MainAxisSize.min,
children: [
@@ -61,7 +63,8 @@ class InvestPayBottomSection extends StatelessWidget {
),
const Gap(5),
Text(
AppText.payWithAppleText,
localizations
.translate(AppText.payWithAppleText),
style: GoogleFonts.dmSans(
color: state.isFormValid
? AppColor.plainWhite
@@ -93,7 +96,8 @@ class InvestPayBottomSection extends StatelessWidget {
});
}
},
text: AppText.confirmInvestmentText,
text: localizations
.translate(AppText.confirmInvestmentText),
clr: state.isFormValid
? AppColor.primaryColor2
: AppColor.inactiveBtnColor),

View File

@@ -8,6 +8,7 @@ import 'package:tanami_app/core/styles/app_text.dart';
import 'package:tanami_app/shared/components/text_widget.dart';
import '../../../../../../core/styles/app_color.dart';
import '../../../../../../core/utils/language/localizations_delegate.dart';
import '../../../../../countrySelection/presentation/bloc/choose_country_bloc.dart';
import '../../../../../countrySelection/presentation/bloc/choose_country_event.dart';
import '../../../../../countrySelection/presentation/bloc/choose_country_state.dart';
@@ -17,6 +18,7 @@ class InvestPayMethodSection extends StatelessWidget {
@override
Widget build(BuildContext context) {
var localizations = AppLocalizations.of(context);
final radioBloc = context.read<RadioBloc>();
return Padding(
padding: const EdgeInsets.fromLTRB(16.0, 0.0, 16.0, 0.0),
@@ -30,7 +32,8 @@ class InvestPayMethodSection extends StatelessWidget {
return Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
TextWidget().text15W700(AppText.choosePaymentMethodText,
TextWidget().text15W700(
localizations.translate(AppText.choosePaymentMethodText),
clr: AppColor.plainBlack),
const Gap(16),
GestureDetector(
@@ -88,7 +91,9 @@ class InvestPayMethodSection extends StatelessWidget {
const Gap(5),
SvgPicture.asset(AppImages.walletIcon),
const Gap(5),
TextWidget().text14W700(AppText.walletText,
TextWidget().text14W700(
localizations
.translate(AppText.walletText),
clr: AppColor.textLabelColor),
],
),
@@ -98,7 +103,8 @@ class InvestPayMethodSection extends StatelessWidget {
text: TextSpan(
children: [
TextSpan(
text: '${AppText.balanceText}: ',
text:
'${localizations.translate(AppText.balanceText)}: ',
style: GoogleFonts.dmSans(
color: Colors.grey,
fontSize: 12.0,
@@ -196,7 +202,9 @@ class InvestPayMethodSection extends StatelessWidget {
const Gap(5),
SvgPicture.asset(AppImages.applePayIcon),
const Gap(5),
TextWidget().text14W700(AppText.applePayText,
TextWidget().text14W700(
localizations
.translate(AppText.applePayText),
clr: AppColor.textLabelColor),
],
),
@@ -206,7 +214,8 @@ class InvestPayMethodSection extends StatelessWidget {
Padding(
padding: const EdgeInsets.all(12),
child: TextWidget().text14W500(
AppText.instantTransferFundsApplePayText,
localizations.translate(
AppText.instantTransferFundsApplePayText),
clr: AppColor.textLabelColor,
txtAlign: TextAlign.start,
),

View File

@@ -7,6 +7,7 @@ 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 '../../../../../../core/utils/text_formatter/comma_input_text_formatter.dart';
import '../../../../../../shared/components/text_from_field_widget.dart';
import '../../../../../countrySelection/presentation/bloc/choose_country_bloc.dart';
@@ -20,6 +21,7 @@ class InvestPayTopSection extends StatelessWidget {
@override
Widget build(BuildContext context) {
var localizations = AppLocalizations.of(context);
final investPaymentBloc = context.read<InvestPaymentBloc>();
return Padding(
@@ -27,7 +29,8 @@ class InvestPayTopSection extends StatelessWidget {
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
TextWidget().text15W700(AppText.enterInvestmentAmountText,
TextWidget().text15W700(
localizations.translate(AppText.enterInvestmentAmountText),
clr: AppColor.plainBlack),
const Gap(16.0),
Container(
@@ -111,8 +114,9 @@ class InvestPayTopSection extends StatelessWidget {
.amountController
.text
.isEmpty) {
return AppText
.pleaseEnterAmountText;
return localizations.translate(
AppText
.pleaseEnterAmountText);
}
return null;
},
@@ -129,7 +133,8 @@ class InvestPayTopSection extends StatelessWidget {
textEditingController:
investPaymentBloc
.amountController,
hintText: AppText.enterAmountText,
hintText: localizations.translate(
AppText.enterAmountText),
suffixIcon: const SizedBox(),
),
],
@@ -149,8 +154,8 @@ class InvestPayTopSection extends StatelessWidget {
}
return selectedIndex == 0
? const SizedBox()
: const Padding(
padding: EdgeInsets.all(12.0),
: Padding(
padding: const EdgeInsets.all(12.0),
child: Column(
children: [
// InvestmentDetailRow(
@@ -159,13 +164,14 @@ class InvestPayTopSection extends StatelessWidget {
// ),
// SizedBox(height: 8.0),
InvestmentDetailRow(
label: AppText.processingFees,
label: localizations
.translate(AppText.processingFees),
value: '3%',
),
SizedBox(height: 8.0),
const SizedBox(height: 8.0),
InvestmentDetailRow(
label:
'${AppText.totalInvestmentAmountText}:',
'${localizations.translate(AppText.totalInvestmentAmountText)}:',
value: 'SAR 1000',
),
],
@@ -197,14 +203,16 @@ class InvestPayTopSection extends StatelessWidget {
SizedBox(
width: 0.8.sw,
child: TextWidget().text12W500(
AppText.retailInvestirCanInvestMaxText,
localizations.translate(
AppText.retailInvestirCanInvestMaxText),
clr: AppColor.infoTextColor,
),
),
SizedBox(
width: 0.8.sw,
child: TextWidget().text12W700(
AppText.upgradeYourInvestorStatusToIncreaseText,
localizations.translate(
AppText.upgradeYourInvestorStatusToIncreaseText),
clr: AppColor.infoTextColor,
txtDec: TextDecoration.underline,
decClr: AppColor.infoTextColor,
@@ -231,7 +239,8 @@ class InvestPayTopSection extends StatelessWidget {
SizedBox(
width: 0.8.sw,
child: TextWidget().text12W500(
AppText.thisIsUsdInvestmentOpportunityText,
localizations
.translate(AppText.thisIsUsdInvestmentOpportunityText),
clr: AppColor.languageTextColor,
),
),

View File

@@ -4,6 +4,7 @@ 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 '../../../../../../core/utils/language/localizations_delegate.dart';
import '../../../../../../shared/components/text_widget.dart';
class InvestmentOverSubscribedDialog extends StatelessWidget {
@@ -11,6 +12,7 @@ class InvestmentOverSubscribedDialog extends StatelessWidget {
@override
Widget build(BuildContext context) {
var localizations = AppLocalizations.of(context);
return AlertDialog(
backgroundColor: AppColor.plainWhite,
shape: RoundedRectangleBorder(
@@ -29,7 +31,7 @@ class InvestmentOverSubscribedDialog extends StatelessWidget {
},
),
TextWidget().text17W700(
AppText.unableToProcessTransactionText,
localizations.translate(AppText.unableToProcessTransactionText),
clr: AppColor.textLabelColor,
),
],
@@ -38,7 +40,8 @@ class InvestmentOverSubscribedDialog extends StatelessWidget {
mainAxisSize: MainAxisSize.min,
children: [
TextWidget().text15W500(
AppText.investmentOpportunityHasReachedMaxcapText,
localizations
.translate(AppText.investmentOpportunityHasReachedMaxcapText),
clr: AppColor.hintTextColor,
),
const Gap(20),
@@ -48,7 +51,8 @@ class InvestmentOverSubscribedDialog extends StatelessWidget {
goRouter.pop();
goRouter.pop();
},
child: TextWidget().text14W500(AppText.backToInvestmentText,
child: TextWidget().text14W500(
localizations.translate(AppText.backToInvestmentText),
textDecoration: TextDecoration.underline,
clr: AppColor.otpTextColor),
),

View File

@@ -9,12 +9,14 @@ import 'package:tanami_app/features/MainScreens/Portfolio/presentation/widgets/p
import 'package:tanami_app/shared/components/text_widget.dart';
import '../../../../../core/styles/app_text.dart';
import '../../../../../core/utils/language/localizations_delegate.dart';
class PortfolioLayout extends StatelessWidget {
const PortfolioLayout({super.key});
@override
Widget build(BuildContext context) {
var localizations = AppLocalizations.of(context);
return Scaffold(
backgroundColor: AppColor.plainWhite,
body: CustomScrollView(
@@ -43,7 +45,7 @@ class PortfolioLayout extends StatelessWidget {
child: Row(
children: [
TextWidget().text12W700(
AppText.portfolio,
localizations.translate(AppText.portfolio),
clr: const Color(0xFF888888),
),
TextWidget().text14W700(
@@ -70,7 +72,7 @@ class PortfolioLayout extends StatelessWidget {
crossAxisAlignment: CrossAxisAlignment.start,
children: [
TextWidget().text14W700(
AppText.portfolioText,
localizations.translate(AppText.portfolioText),
clr: const Color(0xFFC9D9CB),
),
Gap(8.h),

View File

@@ -4,6 +4,7 @@ import 'package:gap/gap.dart';
import 'package:tanami_app/core/styles/app_color.dart';
import '../../../../../core/styles/app_text.dart';
import '../../../../../core/utils/language/localizations_delegate.dart';
import '../../../../../shared/components/text_widget.dart';
class DetailsSection extends StatelessWidget {
@@ -11,6 +12,7 @@ class DetailsSection extends StatelessWidget {
@override
Widget build(BuildContext context) {
var localizations = AppLocalizations.of(context);
return Column(
children: [
Container(
@@ -56,7 +58,7 @@ class DetailsSection extends StatelessWidget {
SizedBox(
width: 150.w,
child: TextWidget().text14W500(
AppText.investmentamount,
localizations.translate(AppText.investmentamount),
clr: AppColor.portoflioCardTextColor,
txtAlign: TextAlign.start,
),
@@ -87,7 +89,7 @@ class DetailsSection extends StatelessWidget {
SizedBox(
width: 150.w,
child: TextWidget().text14W500(
AppText.currentval,
localizations.translate(AppText.currentval),
clr: AppColor.portoflioCardTextColor,
txtAlign: TextAlign.start,
),
@@ -118,7 +120,7 @@ class DetailsSection extends StatelessWidget {
SizedBox(
width: 150.w,
child: TextWidget().text14W500(
AppText.disttodate,
localizations.translate(AppText.disttodate),
clr: AppColor.portoflioCardTextColor,
txtAlign: TextAlign.start,
),
@@ -138,7 +140,7 @@ class DetailsSection extends StatelessWidget {
crossAxisAlignment: CrossAxisAlignment.start,
children: [
TextWidget().text14W500(
AppText.totalreturn,
localizations.translate(AppText.totalreturn),
clr: AppColor.portoflioCardTextColor,
txtAlign: TextAlign.start,
),

View File

@@ -8,6 +8,7 @@ import '../../../../../core/routes/routes.dart';
import '../../../../../core/styles/app_color.dart';
import '../../../../../core/styles/app_images.dart';
import '../../../../../core/styles/app_text.dart';
import '../../../../../core/utils/language/localizations_delegate.dart';
import '../../../../../shared/components/text_widget.dart';
class ExitedCard extends StatelessWidget {
@@ -19,6 +20,7 @@ class ExitedCard extends StatelessWidget {
@override
Widget build(BuildContext context) {
var localizations = AppLocalizations.of(context);
return Padding(
padding: const EdgeInsets.all(10.0),
child: GestureDetector(
@@ -112,7 +114,7 @@ class ExitedCard extends StatelessWidget {
crossAxisAlignment: CrossAxisAlignment.start,
children: [
TextWidget().text14W500(
AppText.investmentamount,
localizations.translate(AppText.investmentamount),
clr: AppColor.portoflioCardTextColor,
),
Column(
@@ -138,7 +140,7 @@ class ExitedCard extends StatelessWidget {
crossAxisAlignment: CrossAxisAlignment.start,
children: [
TextWidget().text14W500(
AppText.currentval,
localizations.translate(AppText.currentval),
clr: AppColor.portoflioCardTextColor,
),
Column(
@@ -164,7 +166,7 @@ class ExitedCard extends StatelessWidget {
crossAxisAlignment: CrossAxisAlignment.start,
children: [
TextWidget().text14W500(
AppText.totalreturn,
localizations.translate(AppText.totalreturn),
clr: AppColor.portoflioCardTextColor,
),
TextWidget().text14W700(

View File

@@ -6,12 +6,14 @@ import 'package:tanami_app/core/styles/app_images.dart';
import 'package:tanami_app/shared/components/text_widget.dart';
import '../../../../../core/styles/app_text.dart';
import '../../../../../core/utils/language/localizations_delegate.dart';
class IncludedDocumentsSection extends StatelessWidget {
const IncludedDocumentsSection({super.key});
@override
Widget build(BuildContext context) {
var localizations = AppLocalizations.of(context);
return Container(
width: double.infinity,
decoration: BoxDecoration(
@@ -32,7 +34,7 @@ class IncludedDocumentsSection extends StatelessWidget {
crossAxisAlignment: CrossAxisAlignment.start,
children: [
TextWidget().text15W700(
AppText.includeddocs,
localizations.translate(AppText.includeddocs),
clr: AppColor.plainBlack,
),
Gap(

View File

@@ -8,6 +8,7 @@ import '../../../../../core/routes/routes.dart';
import '../../../../../core/styles/app_color.dart';
import '../../../../../core/styles/app_images.dart';
import '../../../../../core/styles/app_text.dart';
import '../../../../../core/utils/language/localizations_delegate.dart';
import '../../../../../shared/components/text_widget.dart';
class PendingCard extends StatelessWidget {
@@ -19,6 +20,7 @@ class PendingCard extends StatelessWidget {
@override
Widget build(BuildContext context) {
var localizations = AppLocalizations.of(context);
return Padding(
padding: const EdgeInsets.all(10.0),
child: GestureDetector(
@@ -112,7 +114,7 @@ class PendingCard extends StatelessWidget {
crossAxisAlignment: CrossAxisAlignment.start,
children: [
TextWidget().text14W500(
AppText.investmentamount,
localizations.translate(AppText.investmentamount),
clr: AppColor.portoflioCardTextColor,
),
Column(
@@ -138,7 +140,7 @@ class PendingCard extends StatelessWidget {
crossAxisAlignment: CrossAxisAlignment.start,
children: [
TextWidget().text14W500(
AppText.currentval,
localizations.translate(AppText.currentval),
clr: AppColor.portoflioCardTextColor,
),
Column(
@@ -164,7 +166,7 @@ class PendingCard extends StatelessWidget {
crossAxisAlignment: CrossAxisAlignment.start,
children: [
TextWidget().text14W500(
AppText.totalreturn,
localizations.translate(AppText.totalreturn),
clr: const Color(0xFF535353),
),
TextWidget().text14W700(

View File

@@ -3,6 +3,7 @@ import 'package:tanami_app/features/MainScreens/Settings/presentation/pages/sett
import '../../../../../core/styles/app_color.dart';
import '../../../../../core/styles/app_text.dart';
import '../../../../../core/utils/language/localizations_delegate.dart';
import '../../../../../shared/components/text_widget.dart';
class SettingsScreen extends StatefulWidget {
@@ -15,6 +16,7 @@ class SettingsScreen extends StatefulWidget {
class _SettingsScreenState extends State<SettingsScreen> {
@override
Widget build(BuildContext context) {
var localizations = AppLocalizations.of(context);
return Scaffold(
backgroundColor: AppColor.plainWhite,
appBar: AppBar(
@@ -24,7 +26,7 @@ class _SettingsScreenState extends State<SettingsScreen> {
automaticallyImplyLeading: false,
centerTitle: true,
title: TextWidget().text22W700(
AppText.settingsText,
localizations.translate(AppText.settingsText),
clr: AppColor.charcoalColor,
),
titleSpacing: 16,

View File

@@ -12,6 +12,7 @@ import '../../../../../../core/routes/routes.dart';
import '../../../../../../core/styles/app_color.dart';
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 '../../../../../countrySelection/presentation/bloc/choose_country_bloc.dart';
import '../../../../../countrySelection/presentation/bloc/choose_country_state.dart';
@@ -25,6 +26,7 @@ class DepositLayout extends StatelessWidget {
@override
Widget build(BuildContext context) {
var localizations = AppLocalizations.of(context);
final depositPaymentBloc = context.read<DepositPaymentBloc>();
return Scaffold(
@@ -66,7 +68,8 @@ class DepositLayout extends StatelessWidget {
),
const Gap(5),
Text(
AppText.payWithAppleText,
localizations
.translate(AppText.payWithAppleText),
style: GoogleFonts.dmSans(
color: state.isFormValid
? AppColor.plainWhite
@@ -90,7 +93,7 @@ class DepositLayout extends StatelessWidget {
: AppColor.inactiveBtnColor),
child: Center(
child: Text(
AppText.depositNoti,
localizations.translate(AppText.depositNoti),
style: GoogleFonts.dmSans(
color: state.isFormValid
? AppColor.plainWhite
@@ -118,7 +121,7 @@ class DepositLayout extends StatelessWidget {
text: TextSpan(
children: [
TextSpan(
text: '${AppText.balance}: ',
text: '${localizations.translate(AppText.balance)}: ',
style: GoogleFonts.dmSans(
color: Colors.grey,
fontSize: 12.sp,
@@ -178,7 +181,7 @@ class DepositLayout extends StatelessWidget {
width: 12.w,
),
Text(
AppText.depositTitle,
localizations.translate(AppText.depositTitle),
style: GoogleFonts.dmSans(
color: Colors.black,
fontSize: 17.sp,
@@ -221,7 +224,8 @@ class DepositLayout extends StatelessWidget {
validator: (value) {
if (depositPaymentBloc
.amountController.text.isEmpty) {
return AppText.pleaseEnterAmountText;
return localizations.translate(
AppText.pleaseEnterAmountText);
}
return null;
},
@@ -312,7 +316,8 @@ class DepositLayout extends StatelessWidget {
MainAxisAlignment.spaceBetween,
children: [
Text(
AppText.processingFees,
localizations
.translate(AppText.processingFees),
style: GoogleFonts.dmSans(
color: const Color(0xFF535353),
fontSize: 14.sp,
@@ -334,7 +339,8 @@ class DepositLayout extends StatelessWidget {
MainAxisAlignment.spaceBetween,
children: [
Text(
AppText.depositAmt,
localizations
.translate(AppText.depositAmt),
style: GoogleFonts.dmSans(
color: const Color(0xFF535353),
fontSize: 14.sp,

View File

@@ -6,6 +6,8 @@ import 'package:tanami_app/core/styles/app_text.dart';
import 'package:tanami_app/features/MainScreens/Wallet/presentation/bloc/deposit/deposit_payment_bloc.dart';
import 'package:tanami_app/features/MainScreens/Wallet/presentation/pages/deposit/deposit_layout.dart';
import '../../../../../../core/utils/language/localizations_delegate.dart';
class DepositScreen extends StatefulWidget {
const DepositScreen({super.key});
@@ -17,6 +19,7 @@ class _DepositScreenState extends State<DepositScreen> {
int selectedIndex = 0;
@override
Widget build(BuildContext context) {
var localizations = AppLocalizations.of(context);
return Scaffold(
backgroundColor: Colors.white,
appBar: AppBar(
@@ -25,7 +28,7 @@ class _DepositScreenState extends State<DepositScreen> {
scrolledUnderElevation: 0.0,
centerTitle: true,
title: Text(
AppText.depositScreenTitle,
localizations.translate(AppText.depositScreenTitle),
style: GoogleFonts.dmSans(
color: const Color(0xFF272727),
fontSize: 20.sp,

View File

@@ -6,6 +6,8 @@ import 'package:tanami_app/core/routes/routes.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';
class DepositPreview extends StatefulWidget {
const DepositPreview({super.key});
@@ -14,15 +16,6 @@ class DepositPreview extends StatefulWidget {
}
class _DepositPreviewState extends State<DepositPreview> {
List titles = [
AppText.accountHolderName,
AppText.iban,
AppText.beneficiaryAddress,
AppText.bankName,
AppText.branchAddress,
AppText.SWIFTcode,
AppText.refid,
];
List values = [
'Name Surname',
'DE 1234 5678 9012 3456',
@@ -47,6 +40,16 @@ class _DepositPreviewState extends State<DepositPreview> {
];
@override
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),
];
return Scaffold(
backgroundColor: Colors.white,
appBar: AppBar(
@@ -55,7 +58,7 @@ class _DepositPreviewState extends State<DepositPreview> {
scrolledUnderElevation: 0.0,
centerTitle: true,
title: Text(
AppText.depositScreenTitle,
localizations.translate(AppText.depositScreenTitle),
style: GoogleFonts.dmSans(
color: const Color(0xFF272727),
fontSize: 20.sp,
@@ -69,220 +72,221 @@ class _DepositPreviewState extends State<DepositPreview> {
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
RichText(
text: TextSpan(
children: [
TextSpan(
text: '${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(
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,
),
// 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,
// ),
Column(
mainAxisSize: MainAxisSize.min,
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text(
AppText.depositDetails,
localizations.translate(AppText.depositDetails),
style: GoogleFonts.dmSans(
color: Colors.black,
fontSize: 15.sp,
@@ -387,7 +391,7 @@ class _DepositPreviewState extends State<DepositPreview> {
padding: const EdgeInsets.symmetric(vertical: 20.0),
child: Center(
child: Text(
AppText.submitDeposit,
localizations.translate(AppText.submitDeposit),
style: GoogleFonts.dmSans(
color: Colors.white,
fontSize: 14.sp,
@@ -405,7 +409,7 @@ class _DepositPreviewState extends State<DepositPreview> {
},
child: Center(
child: TextWidget().text14W700(
AppText.back,
localizations.translate(AppText.back),
clr: const Color(0xFF363636),
textDecoration: TextDecoration.underline,
),

View File

@@ -6,6 +6,8 @@ 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';
class FilterScreen extends StatefulWidget {
const FilterScreen({super.key});
@@ -14,13 +16,6 @@ class FilterScreen extends StatefulWidget {
}
class _FilterScreenState extends State<FilterScreen> {
List actions = [
AppText.deposit,
AppText.withdrawal,
AppText.yield,
AppText.refund,
AppText.investment,
];
List selected = [
false,
false,
@@ -32,6 +27,14 @@ class _FilterScreenState extends State<FilterScreen> {
int statusIndex = 0;
@override
Widget build(BuildContext context) {
var localizations = AppLocalizations.of(context);
List actions = [
localizations.translate(AppText.deposit),
localizations.translate(AppText.withdrawal),
localizations.translate(AppText.yield),
localizations.translate(AppText.refund),
localizations.translate(AppText.investment),
];
return Scaffold(
backgroundColor: Colors.white,
appBar: AppBar(
@@ -40,7 +43,7 @@ class _FilterScreenState extends State<FilterScreen> {
scrolledUnderElevation: 0.0,
centerTitle: true,
title: Text(
AppText.filterTitle,
localizations.translate(AppText.filterTitle),
style: GoogleFonts.dmSans(
color: const Color(0xFF272727),
fontSize: 20.sp,
@@ -54,7 +57,7 @@ class _FilterScreenState extends State<FilterScreen> {
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text(
AppText.byDate,
localizations.translate(AppText.byDate),
style: GoogleFonts.dmSans(
color: const Color(0xFF8D8D8D),
fontSize: 12.sp,
@@ -76,7 +79,7 @@ class _FilterScreenState extends State<FilterScreen> {
),
const Gap(3),
Text(
AppText.date1,
localizations.translate(AppText.date1),
style: GoogleFonts.dmSans(
color: const Color(0xFF272727),
fontSize: 14.sp,
@@ -100,7 +103,7 @@ class _FilterScreenState extends State<FilterScreen> {
),
const Gap(3),
Text(
AppText.date2,
localizations.translate(AppText.date2),
style: GoogleFonts.dmSans(
color: const Color(0xFF272727),
fontSize: 14.sp,
@@ -111,7 +114,7 @@ class _FilterScreenState extends State<FilterScreen> {
),
const Gap(10),
Text(
AppText.byAction,
localizations.translate(AppText.byAction),
style: GoogleFonts.dmSans(
color: const Color(0xFF8D8D8D),
fontSize: 12.sp,
@@ -166,7 +169,7 @@ class _FilterScreenState extends State<FilterScreen> {
),
const Gap(10),
Text(
AppText.byStatus,
localizations.translate(AppText.byStatus),
style: GoogleFonts.dmSans(
color: const Color(0xFF8D8D8D),
fontSize: 12.sp,
@@ -188,7 +191,7 @@ class _FilterScreenState extends State<FilterScreen> {
),
const Gap(3),
Text(
AppText.all,
localizations.translate(AppText.all),
style: GoogleFonts.dmSans(
color: const Color(0xFF272727),
fontSize: 14.sp,
@@ -212,7 +215,7 @@ class _FilterScreenState extends State<FilterScreen> {
),
const Gap(3),
Text(
AppText.onHold,
localizations.translate(AppText.onHold),
style: GoogleFonts.dmSans(
color: const Color(0xFF272727),
fontSize: 14.sp,
@@ -233,7 +236,7 @@ class _FilterScreenState extends State<FilterScreen> {
});
},
child: TextWidget().text14W700(
AppText.clear,
localizations.translate(AppText.clear),
clr: const Color(0xFF363636),
textDecoration: TextDecoration.underline,
),
@@ -257,7 +260,7 @@ class _FilterScreenState extends State<FilterScreen> {
padding: const EdgeInsets.symmetric(vertical: 20.0),
child: Center(
child: Text(
AppText.Submit,
localizations.translate(AppText.Submit),
style: GoogleFonts.dmSans(
color: Colors.white,
fontSize: 14.sp,

View File

@@ -6,6 +6,8 @@ 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';
class KYCScreen extends StatefulWidget {
const KYCScreen({super.key});
@@ -22,6 +24,7 @@ class _KYCScreenState extends State<KYCScreen> {
];
@override
Widget build(BuildContext context) {
var localizations = AppLocalizations.of(context);
return Scaffold(
backgroundColor: Colors.white,
appBar: AppBar(
@@ -47,7 +50,7 @@ class _KYCScreenState extends State<KYCScreen> {
height: 24.h,
),
Text(
AppText.almostHere,
localizations.translate(AppText.almostHere),
style: GoogleFonts.dmSans(
color: const Color(0xFF363636),
fontSize: 17.sp,
@@ -60,7 +63,7 @@ class _KYCScreenState extends State<KYCScreen> {
SizedBox(
width: 280.w,
child: Text(
AppText.completeAcc,
localizations.translate(AppText.completeAcc),
textAlign: TextAlign.center,
style: GoogleFonts.dmSans(
color: const Color(0xFF8D8D8D),
@@ -128,8 +131,7 @@ class _KYCScreenState extends State<KYCScreen> {
height: 70.h,
),
GestureDetector(
onTap: () {
},
onTap: () {},
child: Container(
margin: const EdgeInsets.all(12.0),
height: 56.h,
@@ -142,7 +144,7 @@ class _KYCScreenState extends State<KYCScreen> {
padding: const EdgeInsets.symmetric(vertical: 20.0),
child: Center(
child: Text(
AppText.cont,
localizations.translate(AppText.cont),
style: GoogleFonts.dmSans(
color: Colors.white,
fontSize: 14.sp,
@@ -157,7 +159,7 @@ class _KYCScreenState extends State<KYCScreen> {
height: 10.h,
),
TextWidget().text14W700(
AppText.later,
localizations.translate(AppText.later),
clr: const Color(0xFF363636),
textDecoration: TextDecoration.underline,
)

View File

@@ -8,20 +8,12 @@ import 'package:tanami_app/core/styles/app_text.dart';
import 'package:tanami_app/shared/components/button_widget.dart';
import 'package:ticket_widget/ticket_widget.dart';
import '../../../../../core/utils/language/localizations_delegate.dart';
class WalletDetails extends StatelessWidget {
final String type;
WalletDetails({super.key, required this.type});
final List titles = [
AppText.status,
AppText.paymentMethod,
AppText.accountName,
AppText.iban,
AppText.beneficiaryAddress,
AppText.bankName,
AppText.branchAddress,
AppText.SWIFTcode,
AppText.refid,
];
final List values = [
'On hold',
'Google/Apple Pay',
@@ -36,6 +28,7 @@ class WalletDetails extends StatelessWidget {
@override
Widget build(BuildContext context) {
var localizations = AppLocalizations.of(context);
return (type == 'confirm-investment')
? WillPopScope(
onWillPop: () async => false,
@@ -54,10 +47,10 @@ class WalletDetails extends StatelessWidget {
goRouter.pop();
goRouter.pop();
goRouter.pop();
// goRouter.pop();
goRouter.pop();
// goRouter.pop();
},
text: AppText.closeText,
text: localizations.translate(AppText.closeText),
clr: AppColor.primaryColor2,
),
),
@@ -71,7 +64,7 @@ class WalletDetails extends StatelessWidget {
goRouter.pop();
goRouter.pop();
goRouter.pop();
// goRouter.pop();
goRouter.pop();
// goRouter.pop();
},
icon: const Icon(
@@ -83,7 +76,7 @@ class WalletDetails extends StatelessWidget {
scrolledUnderElevation: 0.0,
centerTitle: true,
title: Text(
AppText.investmentConfirmationText,
localizations.translate(AppText.investmentConfirmationText),
style: GoogleFonts.dmSans(
color: const Color(0xFF272727),
fontSize: 20.sp,
@@ -125,7 +118,7 @@ class WalletDetails extends StatelessWidget {
height: 16.h,
),
Text(
AppText.investment,
localizations.translate(AppText.investment),
style: GoogleFonts.dmSans(
color: const Color(0xFF191B1E),
fontSize: 14.sp,
@@ -178,7 +171,7 @@ class WalletDetails extends StatelessWidget {
SizedBox(
height: 33.h,
),
_buildBody(),
_buildBody(localizations),
],
),
),
@@ -195,7 +188,7 @@ class WalletDetails extends StatelessWidget {
scrolledUnderElevation: 0.0,
centerTitle: true,
title: Text(
AppText.walletDetailsTitle,
localizations.translate(AppText.walletDetailsTitle),
style: GoogleFonts.dmSans(
color: const Color(0xFF272727),
fontSize: 20.sp,
@@ -208,7 +201,10 @@ class WalletDetails extends StatelessWidget {
child: Container(
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(22.r),
color: (type == 'Yield' || type == 'Refund')
color: (type == 'Yield' ||
type == 'Refund' ||
type == 'عائد' ||
type == 'استرداد')
? Colors.white
: Colors.transparent,
boxShadow: [
@@ -220,7 +216,10 @@ class WalletDetails extends StatelessWidget {
),
],
),
child: (type == 'Yield' || type == 'Refund')
child: (type == 'Yield' ||
type == 'Refund' ||
type == 'عائد' ||
type == 'استرداد')
? Padding(
padding: const EdgeInsets.fromLTRB(20.0, 30, 20, 10),
child: Column(
@@ -289,7 +288,7 @@ class WalletDetails extends StatelessWidget {
SizedBox(
height: 35.h,
),
_buildBody(),
_buildBody(localizations),
],
),
)
@@ -382,7 +381,7 @@ class WalletDetails extends StatelessWidget {
SizedBox(
height: 33.h,
),
_buildBody(),
_buildBody(localizations),
],
),
),
@@ -454,12 +453,25 @@ class WalletDetails extends StatelessWidget {
}
}
Widget _buildBody() {
if (type == 'Yield') {
Widget _buildBody(AppLocalizations localizations) {
final List titles = [
localizations.translate(AppText.status),
localizations.translate(AppText.paymentMethod),
localizations.translate(AppText.accountName),
localizations.translate(AppText.iban),
localizations.translate(AppText.beneficiaryAddress),
localizations.translate(AppText.bankName),
localizations.translate(AppText.branchAddress),
localizations.translate(AppText.SWIFTcode),
localizations.translate(AppText.refid),
];
if (type == 'Yield' || type == "عائد") {
return Container();
} else if (type == 'Refund') {
} else if (type == 'Refund' || type == 'استرداد') {
return Container();
} else if (type == 'Investment' || type == "confirm-investment") {
} else if (type == 'Investment' ||
type == "confirm-investment" ||
type == "استثمار") {
return Container(
width: double.infinity,
decoration: const BoxDecoration(
@@ -476,7 +488,7 @@ class WalletDetails extends StatelessWidget {
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
Text(
AppText.paymentMethodText,
localizations.translate(AppText.paymentMethodText),
style: GoogleFonts.dmSans(
color: const Color(0xFF535353),
fontSize: 14.sp,

View File

@@ -6,55 +6,56 @@ import 'package:tanami_app/core/styles/app_color.dart';
import '../../../../../core/routes/route_name.dart';
import '../../../../../core/routes/routes.dart';
import '../../../../../core/styles/app_text.dart';
List data = [
{
'title': AppText.deposit,
'subTitle': '',
'dateTime': '10/04/2024 22:04',
'value': '+ SAR 100,000',
'subValue': '',
'onHold': false,
},
{
'title': AppText.withdrawal,
'subTitle': '',
'dateTime': '10/04/2024 22:04',
'value': '- SAR 100,000',
'subValue': '',
'onHold': true,
},
{
'title': AppText.investment,
'subTitle': 'Name of Investment',
'dateTime': '10/04/2024 22:04',
'value': '- SAR 100,000',
'subValue': '',
'onHold': false,
},
{
'title': AppText.yield,
'subTitle': 'Name of Investment',
'dateTime': '10/04/2024 22:04',
'value': '+ SAR 100,000',
'subValue': '+ \$100,00',
'onHold': false,
},
{
'title': AppText.refund,
'subTitle': '',
'dateTime': '10/04/2024 22:04',
'value': '- SAR 100,000',
'subValue': '',
'onHold': true,
},
];
import '../../../../../core/utils/language/localizations_delegate.dart';
class WalletLayout extends StatelessWidget {
const WalletLayout({super.key});
@override
Widget build(BuildContext context) {
var localizations = AppLocalizations.of(context);
List data = [
{
'title': localizations.translate(AppText.deposit),
'subTitle': '',
'dateTime': '10/04/2024 22:04',
'value': '+ SAR 100,000',
'subValue': '',
'onHold': false,
},
{
'title': localizations.translate(AppText.withdrawal),
'subTitle': '',
'dateTime': '10/04/2024 22:04',
'value': '- SAR 100,000',
'subValue': '',
'onHold': true,
},
{
'title': localizations.translate(AppText.investment),
'subTitle': 'Name of Investment',
'dateTime': '10/04/2024 22:04',
'value': '- SAR 100,000',
'subValue': '',
'onHold': false,
},
{
'title': localizations.translate(AppText.yield),
'subTitle': 'Name of Investment',
'dateTime': '10/04/2024 22:04',
'value': '+ SAR 100,000',
'subValue': '+ \$100,00',
'onHold': false,
},
{
'title': localizations.translate(AppText.refund),
'subTitle': '',
'dateTime': '10/04/2024 22:04',
'value': '- SAR 100,000',
'subValue': '',
'onHold': true,
},
];
return Scaffold(
backgroundColor: AppColor.plainWhite,
body: Padding(
@@ -66,7 +67,7 @@ class WalletLayout extends StatelessWidget {
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
Text(
AppText.day,
localizations.translate(AppText.day),
style: GoogleFonts.dmSans(
color: const Color(0xFF8D8D8D),
fontSize: 11.sp,
@@ -193,7 +194,8 @@ class WalletLayout extends StatelessWidget {
CrossAxisAlignment.start,
children: [
Text(
AppText.onHold,
localizations
.translate(AppText.onHold),
style: GoogleFonts.dmSans(
color: const Color(0xFF0172CB),
fontSize: 14.sp,
@@ -242,7 +244,7 @@ class WalletLayout extends StatelessWidget {
}
Widget getIcon(String title) {
if (title == 'Deposit') {
if (title == 'Deposit' || title == 'إيداع') {
return Container(
decoration:
const BoxDecoration(shape: BoxShape.circle, color: Color(0xFF0FA4A4)),
@@ -254,7 +256,7 @@ Widget getIcon(String title) {
),
),
);
} else if (title == 'Withdrawal') {
} else if (title == 'Withdrawal' || title == 'انسحاب') {
return Container(
decoration:
const BoxDecoration(shape: BoxShape.circle, color: Color(0xFFE6681F)),
@@ -264,7 +266,7 @@ Widget getIcon(String title) {
height: 25.h),
),
);
} else if (title == 'Investment') {
} else if (title == 'Investment' || title == 'استثمار') {
return Container(
decoration:
const BoxDecoration(shape: BoxShape.circle, color: Color(0xFF0172CB)),
@@ -274,7 +276,7 @@ Widget getIcon(String title) {
height: 25.h),
),
);
} else if (title == 'Yield') {
} else if (title == 'Yield' || title == 'عائد') {
return Container(
decoration:
const BoxDecoration(shape: BoxShape.circle, color: Color(0xFF4C4AEF)),

View File

@@ -6,6 +6,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/utils/language/localizations_delegate.dart';
import 'wallet_layout.dart';
class WalletScreen extends StatefulWidget {
@@ -24,6 +25,7 @@ class _WalletScreenState extends State<WalletScreen> {
@override
Widget build(BuildContext context) {
var localizations = AppLocalizations.of(context);
return Scaffold(
backgroundColor: Colors.white,
appBar: AppBar(
@@ -38,7 +40,7 @@ class _WalletScreenState extends State<WalletScreen> {
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text(
AppText.walletTitle,
localizations.translate(AppText.walletTitle),
style: GoogleFonts.dmSans(
color: const Color(0xFF343434),
fontSize: 14.sp,
@@ -105,7 +107,7 @@ class _WalletScreenState extends State<WalletScreen> {
),
),
Text(
'Deposit',
localizations.translate(AppText.deposit),
style: GoogleFonts.dmSans(
color: const Color(0xFF363636),
fontSize: 12.sp,
@@ -140,7 +142,7 @@ class _WalletScreenState extends State<WalletScreen> {
),
),
Text(
'Withdraw',
localizations.translate(AppText.withdraw),
style: GoogleFonts.dmSans(
color: const Color(0xFF363636),
fontSize: 12.sp,

View File

@@ -5,6 +5,8 @@ import 'package:tanami_app/core/routes/routes.dart';
import 'package:tanami_app/core/styles/app_text.dart';
import 'package:ticket_widget/ticket_widget.dart';
import '../../../../../../core/utils/language/localizations_delegate.dart';
class WithdrawalConfirmation extends StatefulWidget {
const WithdrawalConfirmation({super.key});
@@ -13,16 +15,6 @@ class WithdrawalConfirmation extends StatefulWidget {
}
class _WithdrawalConfirmationState extends State<WithdrawalConfirmation> {
final List titles = [
AppText.paymentMethod,
AppText.accountName,
AppText.iban,
AppText.beneficiaryAddress,
AppText.bankName,
AppText.branchAddress,
AppText.SWIFTcode,
AppText.refid,
];
final List values = [
'Google/Apple Pay',
'Name Surname',
@@ -36,6 +28,17 @@ class _WithdrawalConfirmationState extends State<WithdrawalConfirmation> {
@override
Widget build(BuildContext context) {
var localizations = AppLocalizations.of(context);
final List titles = [
localizations.translate(AppText.paymentMethod),
localizations.translate(AppText.accountName),
localizations.translate(AppText.iban),
localizations.translate(AppText.beneficiaryAddress),
localizations.translate(AppText.bankName),
localizations.translate(AppText.branchAddress),
localizations.translate(AppText.SWIFTcode),
localizations.translate(AppText.refid),
];
return WillPopScope(
onWillPop: () async => false,
child: Scaffold(
@@ -47,7 +50,7 @@ class _WithdrawalConfirmationState extends State<WithdrawalConfirmation> {
scrolledUnderElevation: 0.0,
centerTitle: true,
title: Text(
AppText.previewTitle,
localizations.translate(AppText.previewTitle),
style: GoogleFonts.dmSans(
color: const Color(0xFF272727),
fontSize: 20.sp,
@@ -90,7 +93,7 @@ class _WithdrawalConfirmationState extends State<WithdrawalConfirmation> {
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text(
AppText.info,
localizations.translate(AppText.info),
style: GoogleFonts.dmSans(
color: const Color(0xFF015698),
fontSize: 14.sp,
@@ -101,7 +104,7 @@ class _WithdrawalConfirmationState extends State<WithdrawalConfirmation> {
height: 4.h,
),
Text(
AppText.workingDays,
localizations.translate(AppText.workingDays),
style: GoogleFonts.dmSans(
color: const Color(0xFF015698),
fontSize: 12.sp,
@@ -162,7 +165,7 @@ class _WithdrawalConfirmationState extends State<WithdrawalConfirmation> {
height: 16.h,
),
Text(
AppText.withdrawal,
localizations.translate(AppText.withdrawal),
style: GoogleFonts.dmSans(
color: const Color(0xFF191B1E),
fontSize: 14.sp,
@@ -273,7 +276,7 @@ class _WithdrawalConfirmationState extends State<WithdrawalConfirmation> {
padding: const EdgeInsets.symmetric(vertical: 20.0),
child: Center(
child: Text(
AppText.closeText,
localizations.translate(AppText.closeText),
style: GoogleFonts.dmSans(
color: Colors.white,
fontSize: 14.sp,

View File

@@ -6,6 +6,8 @@ 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/utils/language/localizations_delegate.dart';
class WithdrawalPreview extends StatefulWidget {
const WithdrawalPreview({super.key});
@@ -16,13 +18,14 @@ class WithdrawalPreview extends StatefulWidget {
class _WithdrawalPreviewState extends State<WithdrawalPreview> {
@override
Widget build(BuildContext context) {
var localizations = AppLocalizations.of(context);
List titles = [
AppText.accountHolderName,
AppText.iban,
AppText.beneficiaryAddress,
AppText.bankName,
AppText.branchAddress,
AppText.SWIFTcode,
localizations.translate(AppText.accountHolderName),
localizations.translate(AppText.iban),
localizations.translate(AppText.beneficiaryAddress),
localizations.translate(AppText.bankName),
localizations.translate(AppText.branchAddress),
localizations.translate(AppText.SWIFTcode),
];
List values = [
'Name Surname',
@@ -40,7 +43,7 @@ class _WithdrawalPreviewState extends State<WithdrawalPreview> {
scrolledUnderElevation: 0.0,
centerTitle: true,
title: Text(
AppText.previewTitle,
localizations.translate(AppText.previewTitle),
style: GoogleFonts.dmSans(
color: const Color(0xFF272727),
fontSize: 20.sp,
@@ -67,7 +70,7 @@ class _WithdrawalPreviewState extends State<WithdrawalPreview> {
),
Expanded(
child: Text(
AppText.info1,
localizations.translate(AppText.info1),
style: GoogleFonts.dmSans(
color: const Color(0xFF015698),
fontSize: 12.sp,
@@ -84,7 +87,7 @@ class _WithdrawalPreviewState extends State<WithdrawalPreview> {
text: TextSpan(
children: [
TextSpan(
text: '${AppText.balance}: ',
text: '${localizations.translate(AppText.balance)}: ',
style: GoogleFonts.dmSans(
color: Colors.grey,
fontSize: 12.sp,
@@ -141,7 +144,7 @@ class _WithdrawalPreviewState extends State<WithdrawalPreview> {
width: 12.w,
),
Text(
AppText.withdrawTitle,
localizations.translate(AppText.withdrawTitle),
style: GoogleFonts.dmSans(
color: Colors.black,
fontSize: 17.sp,
@@ -167,7 +170,7 @@ class _WithdrawalPreviewState extends State<WithdrawalPreview> {
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
Text(
AppText.withdrawAmt,
localizations.translate(AppText.withdrawAmt),
style: GoogleFonts.dmSans(
color: const Color(0xFF535353),
fontSize: 14.sp,
@@ -222,7 +225,7 @@ class _WithdrawalPreviewState extends State<WithdrawalPreview> {
),
Expanded(
child: Text(
AppText.info2,
localizations.translate(AppText.info2),
style: GoogleFonts.dmSans(
color: const Color(0xFF015698),
fontSize: 12.sp,
@@ -242,7 +245,7 @@ class _WithdrawalPreviewState extends State<WithdrawalPreview> {
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text(
AppText.withdrawDetails,
localizations.translate(AppText.withdrawDetails),
style: GoogleFonts.dmSans(
color: Colors.black,
fontSize: 15.sp,
@@ -330,7 +333,7 @@ class _WithdrawalPreviewState extends State<WithdrawalPreview> {
padding: const EdgeInsets.symmetric(vertical: 20.0),
child: Center(
child: Text(
AppText.submit,
localizations.translate(AppText.submit),
style: GoogleFonts.dmSans(
color: Colors.white,
fontSize: 14.sp,

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/utils/language/localizations_delegate.dart';
import '../../../../../../core/utils/text_formatter/comma_input_text_formatter.dart';
class WithdrawalScreen extends StatefulWidget {
@@ -19,13 +20,14 @@ class WithdrawalScreen extends StatefulWidget {
class _WithdrawalScreenState extends State<WithdrawalScreen> {
@override
Widget build(BuildContext context) {
var localizations = AppLocalizations.of(context);
List titles = [
'${AppText.accountHolderName} *',
'${AppText.iban} *',
AppText.beneficiaryAddress,
AppText.bankName,
AppText.branchAddress,
AppText.SWIFTcode,
'${localizations.translate(AppText.accountHolderName)} *',
'${localizations.translate(AppText.iban)} *',
localizations.translate(AppText.beneficiaryAddress),
localizations.translate(AppText.bankName),
localizations.translate(AppText.branchAddress),
localizations.translate(AppText.SWIFTcode),
];
return Scaffold(
backgroundColor: Colors.white,
@@ -35,7 +37,7 @@ class _WithdrawalScreenState extends State<WithdrawalScreen> {
scrolledUnderElevation: 0.0,
centerTitle: true,
title: Text(
AppText.withdrawalScreenTitle,
localizations.translate(AppText.withdrawalScreenTitle),
style: GoogleFonts.dmSans(
color: const Color(0xFF272727),
fontSize: 20.sp,
@@ -53,7 +55,7 @@ class _WithdrawalScreenState extends State<WithdrawalScreen> {
text: TextSpan(
children: [
TextSpan(
text: '${AppText.balance}: ',
text: '${localizations.translate(AppText.balance)}: ',
style: GoogleFonts.dmSans(
color: Colors.grey,
fontSize: 12.sp,
@@ -110,7 +112,7 @@ class _WithdrawalScreenState extends State<WithdrawalScreen> {
width: 12.w,
),
Text(
AppText.withdrawTitle,
localizations.translate(AppText.withdrawTitle),
style: GoogleFonts.dmSans(
color: Colors.black,
fontSize: 17.sp,
@@ -218,7 +220,8 @@ class _WithdrawalScreenState extends State<WithdrawalScreen> {
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
Text(
AppText.processingFees,
localizations
.translate(AppText.processingFees),
style: GoogleFonts.dmSans(
color: const Color(0xFF535353),
fontSize: 14.sp,
@@ -314,7 +317,7 @@ class _WithdrawalScreenState extends State<WithdrawalScreen> {
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text(
AppText.withdrawDetails,
localizations.translate(AppText.withdrawDetails),
style: GoogleFonts.dmSans(
color: Colors.black,
fontSize: 15.sp,
@@ -325,7 +328,7 @@ class _WithdrawalScreenState extends State<WithdrawalScreen> {
height: 3.h,
),
Text(
AppText.required,
localizations.translate(AppText.required),
style: GoogleFonts.dmSans(
color: const Color(0xFF8D8D8D),
fontSize: 14.sp,
@@ -453,7 +456,7 @@ class _WithdrawalScreenState extends State<WithdrawalScreen> {
),
child: Center(
child: Text(
AppText.next,
localizations.translate(AppText.next),
style: GoogleFonts.dmSans(
color: Colors.white,
fontSize: 14.sp,

View File

@@ -7,6 +7,7 @@ import 'package:tanami_app/core/styles/app_text.dart';
import 'package:tanami_app/shared/components/text_widget.dart';
import '../../../../../../core/styles/app_color.dart';
import '../../../../../core/utils/language/localizations_delegate.dart';
import '../../../../countrySelection/presentation/bloc/choose_country_bloc.dart';
import '../../../../countrySelection/presentation/bloc/choose_country_event.dart';
import '../../../../countrySelection/presentation/bloc/choose_country_state.dart';
@@ -16,6 +17,7 @@ class DepositPayMethodSection extends StatelessWidget {
@override
Widget build(BuildContext context) {
var localizations = AppLocalizations.of(context);
final radioBloc = context.read<RadioBloc>();
return BlocBuilder<RadioBloc, RadioState>(
builder: (context, state) {
@@ -25,7 +27,8 @@ class DepositPayMethodSection extends StatelessWidget {
}
return Column(crossAxisAlignment: CrossAxisAlignment.start, children: [
TextWidget().text15W700(AppText.choosePaymentMethodText,
TextWidget().text15W700(
localizations.translate(AppText.choosePaymentMethodText),
clr: AppColor.plainBlack),
const Gap(16),
GestureDetector(
@@ -83,7 +86,8 @@ class DepositPayMethodSection extends StatelessWidget {
const Gap(5),
SvgPicture.asset(AppImages.walletIcon),
const Gap(5),
TextWidget().text14W700(AppText.bankTransfer,
TextWidget().text14W700(
localizations.translate(AppText.bankTransfer),
clr: AppColor.textLabelColor),
],
),
@@ -93,7 +97,7 @@ class DepositPayMethodSection extends StatelessWidget {
Padding(
padding: const EdgeInsets.all(12),
child: TextWidget().text14W500(
AppText.bankTransferText,
localizations.translate(AppText.bankTransferText),
clr: AppColor.textLabelColor,
txtAlign: TextAlign.start,
),
@@ -160,7 +164,8 @@ class DepositPayMethodSection extends StatelessWidget {
const Gap(5),
SvgPicture.asset(AppImages.applePayIcon),
const Gap(5),
TextWidget().text14W700(AppText.applePayText,
TextWidget().text14W700(
localizations.translate(AppText.applePayText),
clr: AppColor.textLabelColor),
],
),
@@ -170,7 +175,8 @@ class DepositPayMethodSection extends StatelessWidget {
Padding(
padding: const EdgeInsets.all(12.0),
child: TextWidget().text14W500(
AppText.instantTransferFundsApplePayText,
localizations
.translate(AppText.instantTransferFundsApplePayText),
clr: AppColor.textLabelColor,
txtAlign: TextAlign.start,
),

View File

@@ -9,6 +9,7 @@ import '../../../../../core/routes/routes.dart';
import '../../../../../core/styles/app_color.dart';
import '../../../../../core/styles/app_images.dart';
import '../../../../../core/styles/app_text.dart';
import '../../../../../core/utils/language/localizations_delegate.dart';
import '../../../../../shared/components/text_widget.dart';
class WalletListSection extends StatelessWidget {
@@ -16,6 +17,50 @@ class WalletListSection extends StatelessWidget {
@override
Widget build(BuildContext context) {
var localizations = AppLocalizations.of(context);
List data = [
{
'title': localizations.translate(AppText.deposit),
'subTitle': '',
'dateTime': '10/04/2024 22:04',
'value': '+ SAR 100,000',
'subValue': '',
'onHold': false,
},
{
'title': localizations.translate(AppText.withdrawal),
'subTitle': '',
'dateTime': '10/04/2024 22:04',
'value': '- SAR 100,000',
'subValue': '',
'onHold': true,
},
{
'title': localizations.translate(AppText.investment),
'subTitle': 'Name of Investment',
'dateTime': '10/04/2024 22:04',
'value': '- SAR 100,000',
'subValue': '',
'onHold': false,
},
{
'title': localizations.translate(AppText.yield),
'subTitle': 'Name of Investment',
'dateTime': '10/04/2024 22:04',
'value': '+ SAR 100,000',
'subValue': '+ \$100,00',
'onHold': false,
},
{
'title': localizations.translate(AppText.refund),
'subTitle': '',
'dateTime': '10/04/2024 22:04',
'value': '- SAR 100,000',
'subValue': '',
'onHold': true,
},
];
return Expanded(
child: ListView.builder(
shrinkWrap: true,
@@ -75,7 +120,10 @@ class WalletListSection extends StatelessWidget {
? Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
TextWidget().text14W700(AppText.onHold,
TextWidget().text14W700(
localizations.translate(
AppText.onHold,
),
clr: AppColor.onHoldTextColor),
Gap(4.h),
],
@@ -154,46 +202,3 @@ Widget getIcon(String title) {
);
}
}
List data = [
{
'title': AppText.deposit,
'subTitle': '',
'dateTime': '10/04/2024 22:04',
'value': '+ SAR 100,000',
'subValue': '',
'onHold': false,
},
{
'title': AppText.withdrawal,
'subTitle': '',
'dateTime': '10/04/2024 22:04',
'value': '- SAR 100,000',
'subValue': '',
'onHold': true,
},
{
'title': AppText.investment,
'subTitle': 'Name of Investment',
'dateTime': '10/04/2024 22:04',
'value': '- SAR 100,000',
'subValue': '',
'onHold': false,
},
{
'title': AppText.yield,
'subTitle': 'Name of Investment',
'dateTime': '10/04/2024 22:04',
'value': '+ SAR 100,000',
'subValue': '+ \$100,00',
'onHold': false,
},
{
'title': AppText.refund,
'subTitle': '',
'dateTime': '10/04/2024 22:04',
'value': '- SAR 100,000',
'subValue': '',
'onHold': true,
},
];

View File

@@ -7,13 +7,17 @@ import '../../../../core/routes/routes.dart';
import '../../../../core/styles/app_color.dart';
import '../../../../core/styles/app_text.dart';
import '../../../../core/utils/language/localizations_delegate.dart';
import '../../../../core/utils/secure/secure_storage_service.dart';
import '../../../../shared/components/bloc/language/lng_bloc.dart';
import '../../../../shared/components/bloc/language/lng_event.dart';
import '../../../../shared/components/button_widget.dart';
import '../../../../shared/components/text_widget.dart';
import '../bloc/choose_language_bloc.dart';
Widget bottomSection(BuildContext context) {
var localizations = AppLocalizations.of(context);
final radioBloc = context.read<ChooseLanguageBloc>();
SecureStorageService secureStorageService = SecureStorageService();
return Column(
mainAxisSize: MainAxisSize.min,
children: [
@@ -26,13 +30,16 @@ Widget bottomSection(BuildContext context) {
height: 56.h,
child: ButtonWidget().elevatedBtn(
txtClr: AppColor.plainWhite,
function: () {
var newLocale =
context.read<LocalizationBloc>().state.locale.languageCode ==
'en'
? const Locale('ar')
: const Locale('en');
function: () async {
var newLocale = radioBloc.selectedCountry == 1
? const Locale('ar')
: const Locale('en');
context.read<LocalizationBloc>().add(ChangeLanguage(newLocale));
if (radioBloc.selectedCountry == 1) {
await secureStorageService.write('languageSelected', "ar");
} else {
await secureStorageService.write('languageSelected', "en");
}
goRouter.pop();
},
text: localizations.translate(AppText.submitText),

View File

@@ -4,6 +4,7 @@ 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/secure/secure_storage_service.dart';
import '../bloc/choose_language_bloc.dart';
import '../bloc/choose_language_event.dart';
import '../bloc/choose_language_state.dart';
@@ -13,10 +14,14 @@ class CountrySelectionList extends StatelessWidget {
@override
Widget build(BuildContext context) {
SecureStorageService secureStorageService = SecureStorageService();
final radioBloc = context.read<ChooseLanguageBloc>();
_initializeLanguageSelection(radioBloc, secureStorageService);
return BlocBuilder<ChooseLanguageBloc, ChooseLanguageState>(
builder: (context, state) {
int selectedIndex = 0;
if (state is ChooseLanguageSelectionChanged) {
selectedIndex = state.selectedIndex;
}
@@ -44,6 +49,20 @@ class CountrySelectionList extends StatelessWidget {
},
);
}
void _initializeLanguageSelection(ChooseLanguageBloc radioBloc,
SecureStorageService secureStorageService) async {
String languageSelected =
(await secureStorageService.read("languageSelected")) ?? "";
if (languageSelected.isEmpty) {
radioBloc.add(const ChooseLanguageSelected(0));
} else if (languageSelected == "en") {
radioBloc.add(const ChooseLanguageSelected(0));
} else {
radioBloc.add(const ChooseLanguageSelected(1));
}
}
}
List<String> languageList = [

View File

@@ -8,11 +8,13 @@ import 'package:local_auth/local_auth.dart';
import 'core/routes/routes.dart';
import 'core/utils/connectivity/network_connectivity.dart';
import 'core/utils/language/localizations_delegate.dart';
import 'core/utils/secure/secure_storage_service.dart';
import 'features/biometric/presentation/bloc/biometric_bloc.dart';
import 'features/biometric/presentation/bloc/biometric_event.dart';
import 'features/countrySelection/presentation/bloc/choose_country_bloc.dart';
import 'shared/components/bloc/bottom_nav_bar/bottom_navigation_bloc.dart';
import 'shared/components/bloc/language/lng_bloc.dart';
import 'shared/components/bloc/language/lng_event.dart';
import 'shared/components/bloc/language/lng_state.dart';
/* CREATED BY - JAYESH JAIN
@@ -34,15 +36,15 @@ Future<void> main() async {
DeviceOrientation.portraitUp,
]).then((value) => runApp(const MyApp()
// StatsFl(
// isEnabled: true, //Toggle on/off
// width: 200, //Set size
// height: 50, //
// maxFps: 60, // Support custom FPS target (default is 60)
// showText: true, // Hide text label
// sampleTime: .5, //Interval between fps calculations, in seconds.
// totalTime: 15, //Total length of timeline, in seconds.
// align: Alignment.center, //Alignment of statsbox
// child: const MyApp())
// isEnabled: true, //Toggle on/off
// width: 200, //Set size
// height: 50, //
// maxFps: 60, // Support custom FPS target (default is 60)
// showText: true, // Hide text label
// sampleTime: .5, //Interval between fps calculations, in seconds.
// totalTime: 15, //Total length of timeline, in seconds.
// align: Alignment.center, //Alignment of statsbox
// child: const MyApp()
));
}
@@ -54,13 +56,15 @@ class MyApp extends StatefulWidget {
}
class _MyAppState extends State<MyApp> with WidgetsBindingObserver {
SecureStorageService secureStorageService = SecureStorageService();
final NetworkConnectivity _networkConnectivity =
NetworkConnectivity(onStatusChange: (_) {});
String languageSelected = "";
@override
void initState() {
super.initState();
WidgetsBinding.instance.addObserver(this);
changeLanguage();
// Initialize the NetworkConnectivity instance.
_networkConnectivity.initialize();
}
@@ -72,10 +76,18 @@ class _MyAppState extends State<MyApp> with WidgetsBindingObserver {
super.dispose();
}
Future changeLanguage() async {
languageSelected =
(await secureStorageService.read("languageSelected")) ?? "";
}
@override
Widget build(BuildContext context) {
return MultiBlocProvider(
providers: [
BlocProvider(
create: (_) => LocalizationBloc(),
),
BlocProvider(
create: (context) => RadioBloc(),
),
@@ -86,14 +98,29 @@ class _MyAppState extends State<MyApp> with WidgetsBindingObserver {
create: (_) =>
BiometricBloc(LocalAuthentication())..add(CheckBiometricEvent()),
),
BlocProvider(
create: (_) => LocalizationBloc(),
),
],
child: ScreenUtilInit(
builder: (BuildContext context, Widget? child) =>
BlocBuilder<LocalizationBloc, LocalizationState>(
builder: (context, state) {
changeLanguage().then(
(value) {
if (languageSelected.isEmpty) {
context
.read<LocalizationBloc>()
.add(const ChangeLanguage(Locale('en')));
} else if (languageSelected == "en") {
context
.read<LocalizationBloc>()
.add(const ChangeLanguage(Locale('en')));
} else {
context
.read<LocalizationBloc>()
.add(const ChangeLanguage(Locale('ar')));
}
},
);
return MaterialApp.router(
title: 'Tanami Capital',
locale: state.locale,

View File

@@ -4,11 +4,13 @@ import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:google_fonts/google_fonts.dart';
import 'package:tanami_app/core/styles/app_color.dart';
import '../../core/utils/language/localizations_delegate.dart';
import 'bloc/bottom_nav_bar/bottom_navigation_bloc.dart';
import 'bloc/bottom_nav_bar/bottom_navigation_event.dart';
Widget bottomnavigationbar(
BuildContext context, selectedIndex, PageController pageController) {
var localizations = AppLocalizations.of(context);
return BottomNavigationBar(
backgroundColor: AppColor.plainWhite,
type: BottomNavigationBarType.fixed,
@@ -43,7 +45,7 @@ Widget bottomnavigationbar(
height: 30.h,
width: 30.w,
),
label: 'Wallet',
label: localizations.translate('Wallet'),
),
BottomNavigationBarItem(
icon: Image.asset(
@@ -56,7 +58,7 @@ Widget bottomnavigationbar(
height: 30.h,
width: 30.w,
),
label: 'Portfolio',
label: localizations.translate('Portfolio'),
),
BottomNavigationBarItem(
icon: Image.asset(
@@ -69,7 +71,7 @@ Widget bottomnavigationbar(
height: 28.h,
width: 28.w,
),
label: 'Invest',
label: localizations.translate('Invest'),
),
BottomNavigationBarItem(
icon: Image.asset(
@@ -82,7 +84,7 @@ Widget bottomnavigationbar(
height: 30.h,
width: 30.w,
),
label: 'Academy',
label: localizations.translate('Academy'),
),
BottomNavigationBarItem(
icon: Image.asset(
@@ -95,7 +97,7 @@ Widget bottomnavigationbar(
height: 30.h,
width: 30.w,
),
label: 'Settings',
label: localizations.translate('Settings'),
),
],
);