diff --git a/lib/features/MainScreens/Invest/presentation/pages/invest_layout.dart b/lib/features/MainScreens/Invest/presentation/pages/invest_layout.dart index 39ef508..03a1f31 100644 --- a/lib/features/MainScreens/Invest/presentation/pages/invest_layout.dart +++ b/lib/features/MainScreens/Invest/presentation/pages/invest_layout.dart @@ -37,7 +37,7 @@ class InvestLayout extends StatelessWidget { fontWeight: FontWeight.normal, fontSize: 14.0, ), - overlayColor: WidgetStateProperty.all(Colors.transparent), + overlayColor: MaterialStateProperty.all(Colors.transparent), labelColor: AppColor.plainBlack, unselectedLabelColor: AppColor.charcoalColor, indicatorColor: AppColor.plainBlack, diff --git a/lib/features/MainScreens/Invest/presentation/widgets/payment/invest_pay_method_section.dart b/lib/features/MainScreens/Invest/presentation/widgets/payment/invest_pay_method_section.dart index a6344e3..6229359 100644 --- a/lib/features/MainScreens/Invest/presentation/widgets/payment/invest_pay_method_section.dart +++ b/lib/features/MainScreens/Invest/presentation/widgets/payment/invest_pay_method_section.dart @@ -135,8 +135,10 @@ class InvestPayMethodSection extends StatelessWidget { Padding( padding: const EdgeInsets.all(12), child: TextWidget().text14W500( - "condimentum ac, vestibulum eu nisl.torquent per conubia nostra, per inceptos himenaeos.", - clr: AppColor.textLabelColor), + "condimentum ac, vestibulum eu nisl.torquent per conubia nostra, per inceptos himenaeos.", + clr: AppColor.textLabelColor, + txtAlign: TextAlign.start, + ), ), const Gap(12), ], diff --git a/lib/features/MainScreens/Portfolio/presentation/pages/portfolio_details_screen.dart b/lib/features/MainScreens/Portfolio/presentation/pages/portfolio_details_screen.dart index 34f320c..8e922cc 100644 --- a/lib/features/MainScreens/Portfolio/presentation/pages/portfolio_details_screen.dart +++ b/lib/features/MainScreens/Portfolio/presentation/pages/portfolio_details_screen.dart @@ -3,7 +3,6 @@ import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:tanami_app/features/MainScreens/Portfolio/presentation/pages/portfolio_details_layout.dart'; import '../../../../../core/styles/app_color.dart'; -import '../../../../../shared/components/appbar_widget.dart'; import '../bloc/carousel/carousel_bloc.dart'; class DetailsScreen extends StatelessWidget { @@ -12,19 +11,21 @@ class DetailsScreen extends StatelessWidget { @override Widget build(BuildContext context) { return Scaffold( - backgroundColor: AppColor.plainWhite, - appBar: const AppBarWidget( - height: 45, - titleTxt: "", - ), - body: MultiBlocProvider( - providers: [ - BlocProvider( - // Create an instance of the OnboardingBloc - create: (context) => CarouselBloc(), - ), - ], - child: const PortfolioDetailsLayout(), - )); + backgroundColor: AppColor.plainWhite, + appBar: AppBar( + elevation: 0, + scrolledUnderElevation: 0, + backgroundColor: Colors.white, + ), + body: MultiBlocProvider( + providers: [ + BlocProvider( + // Create an instance of the OnboardingBloc + create: (context) => CarouselBloc(), + ), + ], + child: const PortfolioDetailsLayout(), + ), + ); } } diff --git a/lib/features/MainScreens/Portfolio/presentation/pages/portfolio_layout.dart b/lib/features/MainScreens/Portfolio/presentation/pages/portfolio_layout.dart index 124a860..f6191b1 100644 --- a/lib/features/MainScreens/Portfolio/presentation/pages/portfolio_layout.dart +++ b/lib/features/MainScreens/Portfolio/presentation/pages/portfolio_layout.dart @@ -21,7 +21,7 @@ class PortfolioLayout extends StatelessWidget { SliverAppBar( elevation: 0, scrolledUnderElevation: 0, - expandedHeight: 230.0, + expandedHeight: 230.h, automaticallyImplyLeading: false, snap: false, pinned: true, @@ -53,11 +53,12 @@ class PortfolioLayout extends StatelessWidget { ), ), background: Stack( - fit: StackFit.expand, + // fit: StackFit.expand, children: [ Image.asset( AppImages.portfolioBg, fit: BoxFit.cover, + alignment: Alignment.topCenter, ), Padding( padding: const EdgeInsets.only(left: 40.0), diff --git a/lib/features/MainScreens/Settings/presentation/widgets/settings_bottom_section.dart b/lib/features/MainScreens/Settings/presentation/widgets/settings_bottom_section.dart index 096ac6f..b540a74 100644 --- a/lib/features/MainScreens/Settings/presentation/widgets/settings_bottom_section.dart +++ b/lib/features/MainScreens/Settings/presentation/widgets/settings_bottom_section.dart @@ -9,7 +9,6 @@ import '../../../../../core/styles/app_color.dart'; import '../../../../../core/styles/app_text.dart'; import '../../../../../shared/components/button_widget.dart'; import '../../../../../shared/components/log_out_dialog.dart'; -import '../../../../../shared/components/text_widget.dart'; class SettingsBottomSection extends StatelessWidget { const SettingsBottomSection({super.key}); @@ -29,22 +28,34 @@ class SettingsBottomSection extends StatelessWidget { txtClr: AppColor.plainWhite, function: () { buildprofilelogoutdialog(context); - }, text: AppText.logoutText, clr: AppColor.primaryColor2, ), ), const Gap(5), - ButtonWidget().textBtn( + // ButtonWidget().textBtn( + // function: () { + // goRouter.pushNamed(RouteName.deleteAccountScreen); + // }, + // text: TextWidget().text14W700( + // AppText.deleteAccountText, + // clr: AppColor.hintTextColor, + // textDecoration: TextDecoration.underline, + // )), + Container( + width: 1.sw, + height: 56.h, + child: ButtonWidget().textBorderBtn( + borderClr: AppColor.txtBorderColor, + txtClr: AppColor.hintTextColor, function: () { goRouter.pushNamed(RouteName.deleteAccountScreen); }, - text: TextWidget().text14W700( - AppText.deleteAccountText, - clr: AppColor.hintTextColor, - textDecoration: TextDecoration.underline, - )), + text: AppText.deleteAccountText, + clr: AppColor.plainWhite, + ), + ), ], ); } diff --git a/lib/features/MainScreens/Wallet/presentation/pages/deposit/depositScreen.dart b/lib/features/MainScreens/Wallet/presentation/pages/deposit/depositScreen.dart index 4319b80..b92af1e 100644 --- a/lib/features/MainScreens/Wallet/presentation/pages/deposit/depositScreen.dart +++ b/lib/features/MainScreens/Wallet/presentation/pages/deposit/depositScreen.dart @@ -42,361 +42,365 @@ class _DepositScreenState extends State { ), ), ), - body: Padding( - padding: const EdgeInsets.all(18.0), - child: Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - RichText( - text: TextSpan( - children: [ - TextSpan( - text: AppText.balance, - style: GoogleFonts.dmSans( - color: const Color(0xFF888888), - fontSize: 12.sp, - fontWeight: FontWeight.w700, + body: SingleChildScrollView( + child: Padding( + padding: const EdgeInsets.all(18.0), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + RichText( + text: TextSpan( + children: [ + TextSpan( + text: AppText.balance, + style: GoogleFonts.dmSans( + color: const Color(0xFF888888), + fontSize: 12.sp, + fontWeight: FontWeight.w700, + ), ), - ), - TextSpan( - text: 'SAR 178,000 ', - style: GoogleFonts.dmSans( - color: const Color(0xFF191B1E), - fontSize: 14.sp, - fontWeight: FontWeight.w700, + TextSpan( + text: 'SAR 178,000 ', + style: GoogleFonts.dmSans( + color: const Color(0xFF191B1E), + fontSize: 14.sp, + fontWeight: FontWeight.w700, + ), ), - ), - ], + ], + ), ), - ), - 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), - ), - ], + SizedBox( + height: 20.h, ), - child: Column( - crossAxisAlignment: CrossAxisAlignment.start, - 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( + 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), ), - ), - Container( - decoration: BoxDecoration( - color: const Color(0xFFD8D8D8).withOpacity(0.4), - ), - child: Padding( - padding: const EdgeInsets.symmetric( - vertical: 16.0, horizontal: 12.0), + ], + ), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Padding( + padding: const EdgeInsets.all(12.0), child: Row( - crossAxisAlignment: CrossAxisAlignment.center, children: [ - Text( - 'SAR', - style: GoogleFonts.dmSans( - color: const Color(0xFF363636), - fontSize: 15.sp, - fontWeight: FontWeight.w700, + 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, ), - SizedBox( - width: 280.w, - child: TextFormField( - cursorColor: Colors.black, - keyboardType: TextInputType.number, - textAlign: TextAlign.center, + Text( + AppText.depositTitle, + style: GoogleFonts.dmSans( + color: Colors.black, + fontSize: 17.sp, + fontWeight: FontWeight.w700, + ), + ), + ], + ), + ), + Container( + decoration: BoxDecoration( + color: const Color(0xFFD8D8D8).withOpacity(0.4), + ), + child: Padding( + padding: const EdgeInsets.symmetric( + vertical: 16.0, horizontal: 12.0), + child: Row( + crossAxisAlignment: CrossAxisAlignment.center, + children: [ + Text( + 'SAR', style: GoogleFonts.dmSans( - color: Colors.black, - fontSize: 16.sp, - fontWeight: FontWeight.w400, + color: const Color(0xFF363636), + fontSize: 15.sp, + fontWeight: FontWeight.w700, ), - decoration: InputDecoration( - hintText: '1000', - hintStyle: GoogleFonts.dmSans( - color: const Color(0xFFC6C6C6), + ), + SizedBox( + width: 12.w, + ), + SizedBox( + width: 280.w, + child: TextFormField( + cursorColor: Colors.black, + keyboardType: TextInputType.number, + textAlign: TextAlign.center, + style: GoogleFonts.dmSans( + color: Colors.black, fontSize: 16.sp, fontWeight: FontWeight.w400, ), - labelStyle: - const TextStyle(color: Colors.black), - contentPadding: const EdgeInsets.symmetric( - vertical: 15, horizontal: 10), - filled: true, - fillColor: Colors.white, - border: OutlineInputBorder( - borderRadius: BorderRadius.circular(12), - borderSide: const BorderSide( - color: Colors.white, width: 1), - ), - enabledBorder: OutlineInputBorder( - borderRadius: BorderRadius.circular(12), - borderSide: const BorderSide( - color: Colors.white, width: 1), - ), - disabledBorder: OutlineInputBorder( - borderRadius: BorderRadius.circular(12), - borderSide: const BorderSide( - color: Colors.white, width: 1), - ), - focusedBorder: OutlineInputBorder( - borderRadius: BorderRadius.circular(12), - borderSide: const BorderSide( - color: Colors.white, width: 1), - ), - errorBorder: OutlineInputBorder( - borderRadius: BorderRadius.circular(12), - borderSide: const BorderSide( - color: Colors.red, width: 1), - ), - focusedErrorBorder: OutlineInputBorder( - borderRadius: BorderRadius.circular(12), - borderSide: const BorderSide( - color: Colors.red, width: 1), + decoration: InputDecoration( + hintText: '1000', + hintStyle: GoogleFonts.dmSans( + color: const Color(0xFFC6C6C6), + fontSize: 16.sp, + fontWeight: FontWeight.w400, + ), + labelStyle: + const TextStyle(color: Colors.black), + contentPadding: const EdgeInsets.symmetric( + vertical: 15, horizontal: 10), + filled: true, + fillColor: Colors.white, + border: OutlineInputBorder( + borderRadius: BorderRadius.circular(12), + borderSide: const BorderSide( + color: Colors.white, width: 1), + ), + enabledBorder: OutlineInputBorder( + borderRadius: BorderRadius.circular(12), + borderSide: const BorderSide( + color: Colors.white, width: 1), + ), + disabledBorder: OutlineInputBorder( + borderRadius: BorderRadius.circular(12), + borderSide: const BorderSide( + color: Colors.white, width: 1), + ), + focusedBorder: OutlineInputBorder( + borderRadius: BorderRadius.circular(12), + borderSide: const BorderSide( + color: Colors.white, width: 1), + ), + errorBorder: OutlineInputBorder( + borderRadius: BorderRadius.circular(12), + borderSide: const BorderSide( + color: Colors.red, width: 1), + ), + focusedErrorBorder: OutlineInputBorder( + borderRadius: BorderRadius.circular(12), + borderSide: const BorderSide( + color: Colors.red, width: 1), + ), ), + inputFormatters: [ + FilteringTextInputFormatter.deny( + RegExp(r'\s')), + LengthLimitingTextInputFormatter(20), + ], ), - inputFormatters: [ - FilteringTextInputFormatter.deny(RegExp(r'\s')), - LengthLimitingTextInputFormatter(20), - ], ), - ), - ], - ), - ), - ), - Container( - decoration: BoxDecoration( - color: const Color(0xFFD8D8D8).withOpacity(0.4), - borderRadius: BorderRadius.only( - bottomLeft: Radius.circular(22.r), - bottomRight: Radius.circular(22.r), - ), - border: const Border( - top: BorderSide(color: Color(0xFFD8D8D8), width: 2.0), - ), - ), - child: Padding( - padding: const EdgeInsets.symmetric( - vertical: 16.0, horizontal: 12.0), - child: Column( - children: [ - Row( - mainAxisAlignment: MainAxisAlignment.spaceBetween, - children: [ - Text( - 'Fee', - style: GoogleFonts.dmSans( - color: const Color(0xFF535353), - fontSize: 14.sp, - fontWeight: FontWeight.w500, - ), - ), - Text( - '3%', - style: GoogleFonts.dmSans( - color: Colors.black, - fontSize: 14.sp, - fontWeight: FontWeight.w700, - ), - ), - ], - ), - Row( - mainAxisAlignment: MainAxisAlignment.spaceBetween, - children: [ - Text( - 'Total Deposit amount:', - style: GoogleFonts.dmSans( - color: const Color(0xFF535353), - fontSize: 14.sp, - fontWeight: FontWeight.w500, - ), - ), - Text( - 'SAR 253', - style: GoogleFonts.dmSans( - color: Colors.black, - fontSize: 14.sp, - fontWeight: FontWeight.w700, - ), - ), - ], - ), - ], - ), - ), - ), - ], - ), - ), - const Gap(30), - TextWidget().text15W700(AppText.choosePaymentMethodText, - clr: AppColor.plainBlack), - const Gap(16), - InkWell( - onTap: () { - radioBloc.add(const RadioSelected(0)); - }, - child: Container( - padding: const EdgeInsets.all(12), - decoration: ShapeDecoration( - color: Colors.white, - shape: RoundedRectangleBorder( - side: const BorderSide(color: Color(0xFFD8D8D8)), - borderRadius: BorderRadius.circular(22), - ), - shadows: const [ - BoxShadow( - color: Color(0x14000000), - blurRadius: 8, - offset: Offset(-2, -2), - spreadRadius: 0.50, - ), - BoxShadow( - color: Color(0x3391978E), - blurRadius: 8, - offset: Offset(2, 2), - spreadRadius: 1, - ) - ], - ), - child: Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Row( - children: [ - Radio( - activeColor: AppColor.radioActiveColor, - value: 0, - groupValue: selectedIndex, - onChanged: (int? value) { - if (value != null) { - radioBloc.add(RadioSelected(value)); - } - }, - ), - SvgPicture.asset(AppImages.walletIcon), - const Gap(5), - TextWidget().text14W700(AppText.bankTransfer, - clr: AppColor.textLabelColor), - ], - ), - TextWidget().text14W500( - "Directly transfer funds from your bank account into your Tanami wallet.", - clr: AppColor.textLabelColor, - txtAlign: TextAlign.left, - ), - const Gap(12), - ], - ), - ), - ), - const Gap(12), - InkWell( - onTap: () { - radioBloc.add(const RadioSelected(1)); - }, - child: Container( - padding: const EdgeInsets.all(12), - decoration: ShapeDecoration( - color: Colors.white, - shape: RoundedRectangleBorder( - side: const BorderSide(color: Color(0xFFD8D8D8)), - borderRadius: BorderRadius.circular(22), - ), - shadows: const [ - BoxShadow( - color: Color(0x14000000), - blurRadius: 8, - offset: Offset(-2, -2), - spreadRadius: 0.2, - ), - BoxShadow( - color: Color(0x3391978E), - blurRadius: 8, - offset: Offset(2, 2), - spreadRadius: 1, - ) - ], - ), - child: Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Row( - mainAxisAlignment: MainAxisAlignment.spaceBetween, - children: [ - Row( - children: [ - Radio( - activeColor: AppColor.radioActiveColor, - value: 1, - groupValue: selectedIndex, - onChanged: (int? value) { - if (value != null) { - radioBloc.add(RadioSelected(value)); - } - }, - ), - SvgPicture.asset(AppImages.applePayIcon), - const Gap(5), - TextWidget().text14W700(AppText.applePayText, - clr: AppColor.textLabelColor), ], ), - ], + ), ), - TextWidget().text14W500( - AppText.instantTransferFundsApplePayText, - clr: AppColor.textLabelColor, - txtAlign: TextAlign.left, + Container( + decoration: BoxDecoration( + color: const Color(0xFFD8D8D8).withOpacity(0.4), + borderRadius: BorderRadius.only( + bottomLeft: Radius.circular(22.r), + bottomRight: Radius.circular(22.r), + ), + border: const Border( + top: BorderSide(color: Color(0xFFD8D8D8), width: 2.0), + ), + ), + child: Padding( + padding: const EdgeInsets.symmetric( + vertical: 16.0, horizontal: 12.0), + child: Column( + children: [ + Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Text( + 'Fee', + style: GoogleFonts.dmSans( + color: const Color(0xFF535353), + fontSize: 14.sp, + fontWeight: FontWeight.w500, + ), + ), + Text( + '3%', + style: GoogleFonts.dmSans( + color: Colors.black, + fontSize: 14.sp, + fontWeight: FontWeight.w700, + ), + ), + ], + ), + Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Text( + 'Total Deposit amount:', + style: GoogleFonts.dmSans( + color: const Color(0xFF535353), + fontSize: 14.sp, + fontWeight: FontWeight.w500, + ), + ), + Text( + 'SAR 253', + style: GoogleFonts.dmSans( + color: Colors.black, + fontSize: 14.sp, + fontWeight: FontWeight.w700, + ), + ), + ], + ), + ], + ), + ), ), - const Gap(12), ], ), ), - ), - const Gap(16), - ], + const Gap(30), + TextWidget().text15W700(AppText.choosePaymentMethodText, + clr: AppColor.plainBlack), + const Gap(16), + InkWell( + onTap: () { + radioBloc.add(const RadioSelected(0)); + }, + child: Container( + padding: const EdgeInsets.all(12), + decoration: ShapeDecoration( + color: Colors.white, + shape: RoundedRectangleBorder( + side: const BorderSide(color: Color(0xFFD8D8D8)), + borderRadius: BorderRadius.circular(22), + ), + shadows: const [ + BoxShadow( + color: Color(0x14000000), + blurRadius: 8, + offset: Offset(-2, -2), + spreadRadius: 0.50, + ), + BoxShadow( + color: Color(0x3391978E), + blurRadius: 8, + offset: Offset(2, 2), + spreadRadius: 1, + ) + ], + ), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Row( + children: [ + Radio( + activeColor: AppColor.radioActiveColor, + value: 0, + groupValue: selectedIndex, + onChanged: (int? value) { + if (value != null) { + radioBloc.add(RadioSelected(value)); + } + }, + ), + SvgPicture.asset(AppImages.walletIcon), + const Gap(5), + TextWidget().text14W700(AppText.bankTransfer, + clr: AppColor.textLabelColor), + ], + ), + TextWidget().text14W500( + "Directly transfer funds from your bank account into your Tanami wallet.", + clr: AppColor.textLabelColor, + txtAlign: TextAlign.left, + ), + const Gap(12), + ], + ), + ), + ), + const Gap(12), + InkWell( + onTap: () { + radioBloc.add(const RadioSelected(1)); + }, + child: Container( + padding: const EdgeInsets.all(12), + decoration: ShapeDecoration( + color: Colors.white, + shape: RoundedRectangleBorder( + side: const BorderSide(color: Color(0xFFD8D8D8)), + borderRadius: BorderRadius.circular(22), + ), + shadows: const [ + BoxShadow( + color: Color(0x14000000), + blurRadius: 8, + offset: Offset(-2, -2), + spreadRadius: 0.2, + ), + BoxShadow( + color: Color(0x3391978E), + blurRadius: 8, + offset: Offset(2, 2), + spreadRadius: 1, + ) + ], + ), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Row( + children: [ + Radio( + activeColor: AppColor.radioActiveColor, + value: 1, + groupValue: selectedIndex, + onChanged: (int? value) { + if (value != null) { + radioBloc.add(RadioSelected(value)); + } + }, + ), + SvgPicture.asset(AppImages.applePayIcon), + const Gap(5), + TextWidget().text14W700(AppText.applePayText, + clr: AppColor.textLabelColor), + ], + ), + ], + ), + TextWidget().text14W500( + AppText.instantTransferFundsApplePayText, + clr: AppColor.textLabelColor, + txtAlign: TextAlign.left, + ), + const Gap(12), + ], + ), + ), + ), + const Gap(16), + ], + ), ), ), bottomNavigationBar: GestureDetector( @@ -404,8 +408,8 @@ class _DepositScreenState extends State { goRouter.pushNamed(RouteName.depositPreview); }, child: Container( - margin: const EdgeInsets.all(12.0), - height: 56.h, + margin: const EdgeInsets.all(10.0), + height: 65.h, width: double.infinity, decoration: BoxDecoration( borderRadius: BorderRadius.circular(22.r), diff --git a/lib/features/MainScreens/Wallet/presentation/pages/deposit/preview.dart b/lib/features/MainScreens/Wallet/presentation/pages/deposit/preview.dart index e3d7d12..d35d9f9 100644 --- a/lib/features/MainScreens/Wallet/presentation/pages/deposit/preview.dart +++ b/lib/features/MainScreens/Wallet/presentation/pages/deposit/preview.dart @@ -376,8 +376,8 @@ class _DepositPreviewState extends State { ); }, child: Container( - margin: const EdgeInsets.all(12.0), - height: 56.h, + margin: const EdgeInsets.all(10.0), + height: 65.h, width: double.infinity, decoration: BoxDecoration( borderRadius: BorderRadius.circular(22.r), diff --git a/lib/features/MainScreens/Wallet/presentation/pages/filter_screen.dart b/lib/features/MainScreens/Wallet/presentation/pages/filter_screen.dart index f78634c..4282c98 100644 --- a/lib/features/MainScreens/Wallet/presentation/pages/filter_screen.dart +++ b/lib/features/MainScreens/Wallet/presentation/pages/filter_screen.dart @@ -135,7 +135,7 @@ class _FilterScreenState extends State { }); }, child: Container( - height: 36.h, + height: 40.h, padding: const EdgeInsets.symmetric( vertical: 8, horizontal: 16), decoration: BoxDecoration( @@ -246,8 +246,8 @@ class _FilterScreenState extends State { Navigator.pop(context); }, child: Container( - margin: const EdgeInsets.all(12.0), - height: 56.h, + margin: const EdgeInsets.all(10.0), + height: 65.h, width: double.infinity, decoration: BoxDecoration( borderRadius: BorderRadius.circular(22.r), diff --git a/lib/features/MainScreens/Wallet/presentation/pages/walletDetails.dart b/lib/features/MainScreens/Wallet/presentation/pages/walletDetails.dart new file mode 100644 index 0000000..a3722b6 --- /dev/null +++ b/lib/features/MainScreens/Wallet/presentation/pages/walletDetails.dart @@ -0,0 +1,541 @@ +import 'package:flutter/material.dart'; +import 'package:flutter/widgets.dart'; +import 'package:flutter_screenutil/flutter_screenutil.dart'; +import 'package:google_fonts/google_fonts.dart'; +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/styles/app_color.dart'; +import '../../../../../shared/components/button_widget.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', + 'Name Surname', + 'DE 1234 5678 9012 3456', + 'Hohenzollernring 58, 95444', + 'Name Bank', + 'Hohenzollernring 58, 95444', + 'BC12345', + 'FRYU FHDU 1234', + ]; + + @override + Widget build(BuildContext context) { + return (type == 'confirm-investment') + ? WillPopScope( + onWillPop: () async => false, + child: Scaffold( + backgroundColor: Colors.white, + bottomNavigationBar: Container( + margin: const EdgeInsets.symmetric( + horizontal: 16, + vertical: 15, + ), + width: 1.sw, + height: 60.h, + child: ButtonWidget().elevatedBtn( + txtClr: AppColor.plainWhite, + function: () { + goRouter.pop(); + goRouter.pop(); + goRouter.pop(); + goRouter.pop(); + goRouter.pop(); + }, + text: AppText.closeText, + clr: AppColor.primaryColor2, + ), + ), + appBar: AppBar( + backgroundColor: Colors.white, + elevation: 0, + automaticallyImplyLeading: false, + actions: [ + IconButton( + onPressed: () { + goRouter.pop(); + goRouter.pop(); + goRouter.pop(); + goRouter.pop(); + goRouter.pop(); + }, + icon: const Icon( + Icons.close_sharp, + color: Color(0xFF363636), + ), + ), + ], + scrolledUnderElevation: 0.0, + centerTitle: true, + title: Text( + AppText.investmentConfirmationText, + style: GoogleFonts.dmSans( + color: const Color(0xFF272727), + fontSize: 20.sp, + fontWeight: FontWeight.w700, + ), + ), + ), + body: Padding( + padding: const EdgeInsets.all(18.0), + child: Container( + decoration: BoxDecoration( + borderRadius: BorderRadius.circular(22.r), + color: Colors.transparent, + boxShadow: [ + BoxShadow( + color: Colors.black.withOpacity(0.15), + spreadRadius: 2, + blurRadius: 10, + offset: + const Offset(0, 8), // changes position of shadow + ), + ], + ), + child: TicketWidget( + height: 320.h, + isCornerRounded: true, + width: double.infinity, + color: Colors.white, + child: Padding( + padding: const EdgeInsets.fromLTRB(20.0, 30, 20, 10), + child: Column( + mainAxisSize: MainAxisSize.min, + children: [ + Column( + crossAxisAlignment: CrossAxisAlignment.center, + children: [ + getIcon(type), + SizedBox( + height: 16.h, + ), + Text( + AppText.investment, + style: GoogleFonts.dmSans( + color: const Color(0xFF191B1E), + fontSize: 14.sp, + fontWeight: FontWeight.w600, + ), + ), + SizedBox( + height: 4.h, + ), + Text( + "Name of investment", + style: GoogleFonts.dmSans( + color: const Color(0xFF191B1E), + fontSize: 17.sp, + fontWeight: FontWeight.w700, + ), + ), + SizedBox( + height: 4.h, + ), + Text( + '10/04/2024 22:04', + style: GoogleFonts.dmSans( + color: const Color(0xFF8D8D8D), + fontSize: 11.sp, + fontWeight: FontWeight.w500, + ), + ), + SizedBox( + height: 16.h, + ), + Text( + '+ SAR 100,000', + style: GoogleFonts.dmSans( + color: const Color(0xFF191B1E), + fontSize: 20.sp, + fontWeight: FontWeight.w900, + ), + ), + Text( + "+ \$100.00", + style: GoogleFonts.dmSans( + color: const Color(0xFF363636), + fontSize: 12.sp, + fontWeight: FontWeight.w500, + ), + ), + ], + ), + SizedBox( + height: 35.h, + ), + _buildBody(), + ], + ), + ), + ), + ), + ), + ), + ) + : Scaffold( + backgroundColor: Colors.white, + appBar: AppBar( + backgroundColor: Colors.white, + elevation: 0, + scrolledUnderElevation: 0.0, + centerTitle: true, + title: Text( + AppText.walletDetailsTitle, + style: GoogleFonts.dmSans( + color: const Color(0xFF272727), + fontSize: 20.sp, + fontWeight: FontWeight.w700, + ), + ), + ), + body: Padding( + padding: const EdgeInsets.all(18.0), + child: Container( + decoration: BoxDecoration( + borderRadius: BorderRadius.circular(22.r), + color: (type == 'Yield' || type == 'Refund') + ? Colors.white + : Colors.transparent, + boxShadow: [ + BoxShadow( + color: Colors.black.withOpacity(0.15), + spreadRadius: 2, + blurRadius: 10, + offset: const Offset(0, 8), // changes position of shadow + ), + ], + ), + child: (type == 'Yield' || type == 'Refund') + ? Padding( + padding: const EdgeInsets.fromLTRB(20.0, 30, 20, 10), + child: Column( + mainAxisSize: MainAxisSize.min, + children: [ + Column( + crossAxisAlignment: CrossAxisAlignment.center, + children: [ + getIcon(type), + SizedBox( + height: 16.h, + ), + Text( + type, + style: GoogleFonts.dmSans( + color: const Color(0xFF191B1E), + fontSize: 14.sp, + fontWeight: FontWeight.w600, + ), + ), + SizedBox( + height: 4.h, + ), + Text( + "Name of investment", + style: GoogleFonts.dmSans( + color: const Color(0xFF191B1E), + fontSize: 17.sp, + fontWeight: FontWeight.w700, + ), + ), + SizedBox( + height: 4.h, + ), + Text( + '10/04/2024 22:04', + style: GoogleFonts.dmSans( + color: const Color(0xFF8D8D8D), + fontSize: 11.sp, + fontWeight: FontWeight.w500, + ), + ), + SizedBox( + height: 16.h, + ), + Text( + '+ SAR 100,000', + style: GoogleFonts.dmSans( + color: const Color(0xFF191B1E), + fontSize: 20.sp, + fontWeight: FontWeight.w900, + ), + ), + ], + ), + SizedBox( + height: 35.h, + ), + _buildBody(), + ], + ), + ) + : TicketWidget( + height: (type == 'Investment' || + type == "confirm-investment") + ? 325.h + : double.infinity, + isCornerRounded: true, + width: double.infinity, + color: Colors.white, + child: Padding( + padding: const EdgeInsets.fromLTRB(20.0, 30, 20, 10), + child: Column( + // mainAxisSize: MainAxisSize.min, + children: [ + Column( + crossAxisAlignment: CrossAxisAlignment.center, + children: [ + getIcon(type), + SizedBox( + height: 16.h, + ), + Text( + type == "confirm-investment" + ? "Investment" + : type, + style: GoogleFonts.dmSans( + color: const Color(0xFF191B1E), + fontSize: 14.sp, + fontWeight: FontWeight.w600, + ), + ), + SizedBox( + height: 4.h, + ), + (type == "confirm-investment" || + type == 'Investment') + ? Text( + "Name of investment", + style: GoogleFonts.dmSans( + color: const Color(0xFF191B1E), + fontSize: 17.sp, + fontWeight: FontWeight.w700, + ), + ) + : const SizedBox(), + SizedBox( + height: 4.h, + ), + Text( + '10/04/2024 22:04', + style: GoogleFonts.dmSans( + color: const Color(0xFF8D8D8D), + fontSize: 11.sp, + fontWeight: FontWeight.w500, + ), + ), + SizedBox( + height: 16.h, + ), + Text( + '+ SAR 100,000', + style: GoogleFonts.dmSans( + color: const Color(0xFF191B1E), + fontSize: 20.sp, + fontWeight: FontWeight.w900, + ), + ), + (type == "confirm-investment" || + type == 'Investment') + ? Text( + "+ \$100.00", + style: GoogleFonts.dmSans( + color: const Color(0xFF363636), + fontSize: 12.sp, + fontWeight: FontWeight.w500, + ), + ) + : const SizedBox(), + ], + ), + SizedBox( + height: 35.h, + ), + Expanded(child: _buildBody()), + ], + ), + ), + ), + ), + ), + ); + } + + Widget getIcon(String title) { + if (title == 'Deposit') { + return Container( + decoration: const BoxDecoration( + shape: BoxShape.circle, color: Color(0xFF0FA4A4)), + child: Padding( + padding: const EdgeInsets.all(8.0), + child: Image.asset( + 'assets/images/wallet_screen/deposit_list.png', + height: 25.h, + ), + ), + ); + } else if (title == 'Withdrawal') { + return Container( + decoration: const BoxDecoration( + shape: BoxShape.circle, color: Color(0xFFE6681F)), + child: Padding( + padding: const EdgeInsets.all(8.0), + child: Image.asset('assets/images/wallet_screen/withdraw_list.png', + height: 25.h), + ), + ); + } else if (title == 'Investment' || title == 'confirm-investment') { + return Container( + decoration: const BoxDecoration( + shape: BoxShape.circle, color: Color(0xFF0172CB)), + child: Padding( + padding: const EdgeInsets.all(8.0), + child: Image.asset('assets/images/wallet_screen/invest_list.png', + height: 25.h), + ), + ); + } else if (title == 'Yield') { + return Container( + decoration: const BoxDecoration( + shape: BoxShape.circle, color: Color(0xFF4C4AEF)), + child: Padding( + padding: const EdgeInsets.all(8.0), + child: Image.asset('assets/images/wallet_screen/yield_list.png', + height: 25.h), + ), + ); + } else { + return Container( + decoration: const BoxDecoration( + shape: BoxShape.circle, color: Color(0xFF0E9445)), + child: Padding( + padding: const EdgeInsets.all(8.0), + child: Image.asset('assets/images/wallet_screen/refund_list.png', + height: 25.h), + ), + ); + } + } + + Widget _buildBody() { + if (type == 'Yield') { + return Container(); + } else if (type == 'Refund') { + return Container(); + } else if (type == 'Investment' || type == "confirm-investment") { + return Container( + width: double.infinity, + decoration: const BoxDecoration( + border: Border( + bottom: BorderSide( + color: Colors.white, + width: 1.0, + ), + ), + ), + child: Padding( + padding: const EdgeInsets.symmetric(vertical: 15.0), + child: Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Text( + AppText.paymentMethod, + style: GoogleFonts.dmSans( + color: const Color(0xFF535353), + fontSize: 14.sp, + fontWeight: FontWeight.w500, + ), + ), + SizedBox( + width: 180.w, + child: Text( + 'Google/Apple Pay', + textAlign: TextAlign.end, + style: GoogleFonts.dmSans( + color: const Color(0xFF191B1E), + fontSize: 14.sp, + fontWeight: FontWeight.w600, + ), + ), + ), + ], + ), + ), + ); + } else { + return Padding( + padding: const EdgeInsets.symmetric(horizontal: 8.0), + child: ListView.builder( + physics: const AlwaysScrollableScrollPhysics(), + shrinkWrap: true, + itemCount: titles.length, + itemBuilder: (context, index) { + if (type == 'Deposit' && titles[index] == 'Status') { + return Container(); + } else { + return Container( + width: double.infinity, + decoration: BoxDecoration( + border: Border( + bottom: BorderSide( + color: (index != titles.length - 1) + ? Colors.black + : Colors.white, + width: 1.0, + ), + ), + ), + child: Padding( + padding: const EdgeInsets.symmetric(vertical: 15.0), + child: Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Text( + titles[index], + style: GoogleFonts.dmSans( + color: const Color(0xFF535353), + fontSize: 14.sp, + fontWeight: FontWeight.w500, + ), + ), + Expanded( + child: Text( + values[index], + textAlign: TextAlign.end, + style: GoogleFonts.dmSans( + color: (titles[index] == 'Status') + ? const Color(0xFF0172CB) + : const Color(0xFF191B1E), + fontSize: 14.sp, + fontWeight: (titles[index] == 'Status') + ? FontWeight.w700 + : FontWeight.w600, + ), + ), + ), + ], + ), + ), + ); + } + }, + ), + ); + } + } +} diff --git a/lib/features/MainScreens/Wallet/presentation/pages/walletScreen.dart b/lib/features/MainScreens/Wallet/presentation/pages/walletScreen.dart new file mode 100644 index 0000000..2a4e827 --- /dev/null +++ b/lib/features/MainScreens/Wallet/presentation/pages/walletScreen.dart @@ -0,0 +1,447 @@ +import 'package:flutter/material.dart'; +import 'package:flutter/widgets.dart'; +import 'package:flutter_screenutil/flutter_screenutil.dart'; +import 'package:google_fonts/google_fonts.dart'; +import 'package:tanami_app/core/routes/route_name.dart'; +import 'package:tanami_app/core/routes/routes.dart'; +import 'package:tanami_app/core/styles/app_text.dart'; + +class WalletScreen extends StatefulWidget { + const WalletScreen({super.key}); + + @override + State createState() => _WalletScreenState(); +} + +class _WalletScreenState extends State { + 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, + }, + ]; + + @override + void initState() { + // TODO: implement initState + // _savebottomsheet(); + super.initState(); + } + + @override + Widget build(BuildContext context) { + return Scaffold( + backgroundColor: Colors.white, + appBar: AppBar( + elevation: 0, + scrolledUnderElevation: 0.0, + automaticallyImplyLeading: false, + toolbarHeight: 260.h, + titleSpacing: 22.w, + title: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + AppText.walletTitle, + style: GoogleFonts.dmSans( + color: const Color(0xFF343434), + fontSize: 14.sp, + fontWeight: FontWeight.w700, + ), + ), + SizedBox( + height: 4.h, + ), + Text( + 'SAR 178,000', + style: GoogleFonts.dmSans( + color: const Color(0xFF191B1E), + fontSize: 28.sp, + fontWeight: FontWeight.w700, + ), + ), + SizedBox( + height: 80.h, + ) + ], + ), + flexibleSpace: FlexibleSpaceBar( + background: Stack( + children: [ + Image.asset( + 'assets/images/wallet_screen/bg.png', // Replace with your image asset + fit: BoxFit.fitWidth, + alignment: Alignment.topCenter, + ), + Align( + alignment: Alignment.bottomCenter, + child: Padding( + padding: const EdgeInsets.symmetric(horizontal: 20.0), + child: Container( + decoration: BoxDecoration( + color: Colors.white.withOpacity(0.8), + borderRadius: + const BorderRadius.all(Radius.circular(20.0)), + ), + child: Padding( + padding: const EdgeInsets.symmetric( + horizontal: 20.0, vertical: 20.0), + child: IntrinsicHeight( + child: Row( + mainAxisAlignment: MainAxisAlignment.spaceEvenly, + crossAxisAlignment: CrossAxisAlignment.center, + children: [ + GestureDetector( + onTap: () { + goRouter.pushNamed(RouteName.depositScreen); + }, + child: Column( + mainAxisSize: MainAxisSize.min, + children: [ + Container( + decoration: const BoxDecoration( + shape: BoxShape.circle, + color: Colors.black, + ), + child: Padding( + padding: const EdgeInsets.all(8.0), + child: Image.asset( + 'assets/images/wallet_screen/deposit.png', + height: 20.h, + ), + ), + ), + Text( + 'Deposit', + style: GoogleFonts.dmSans( + color: const Color(0xFF363636), + fontSize: 12.sp, + fontWeight: FontWeight.w700, + ), + ), + ], + ), + ), + const VerticalDivider( + color: Colors.black, + width: 20.0, + ), + GestureDetector( + onTap: () { + goRouter.pushNamed(RouteName.withdrawalScreen); + }, + child: Column( + mainAxisSize: MainAxisSize.min, + children: [ + Container( + decoration: const BoxDecoration( + shape: BoxShape.circle, + color: Colors.black, + ), + child: Padding( + padding: const EdgeInsets.all(8.0), + child: Image.asset( + 'assets/images/wallet_screen/withdraw.png', + height: 20.h, + ), + ), + ), + Text( + 'Withdraw', + style: GoogleFonts.dmSans( + color: const Color(0xFF363636), + fontSize: 12.sp, + fontWeight: FontWeight.w700, + ), + ), + ], + ), + ), + ], + ), + ), + ), + ), + ), + ) + ], + ), + ), + backgroundColor: Colors + .transparent, // Make the AppBar transparent to show the background image + ), + body: Padding( + padding: const EdgeInsets.fromLTRB(18.0, 10.0, 18.0, 0.0), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Text( + AppText.day, + style: GoogleFonts.dmSans( + color: const Color(0xFF8D8D8D), + fontSize: 11.sp, + fontWeight: FontWeight.w500, + ), + ), + Row( + children: [ + Container( + decoration: const BoxDecoration( + color: Color(0xFFF6F6F6), + borderRadius: BorderRadius.all(Radius.circular(12.0)), + ), + child: Padding( + padding: const EdgeInsets.all(8.0), + child: Image.asset( + 'assets/images/wallet_screen/search.png', + height: 20.h, + ), + ), + ), + SizedBox( + width: 5.w, + ), + GestureDetector( + onTap: () { + goRouter.pushNamed(RouteName.filterScreen); + }, + child: Container( + decoration: const BoxDecoration( + color: Color(0xFFF6F6F6), + borderRadius: BorderRadius.all(Radius.circular(12.0)), + ), + child: Padding( + padding: const EdgeInsets.all(8.0), + child: Image.asset( + 'assets/images/wallet_screen/filter.png', + height: 20.h, + ), + ), + ), + ), + ], + ), + ], + ), + SizedBox( + height: 10.h, + ), + Expanded( + child: ListView.builder( + shrinkWrap: true, + itemCount: data.length, + itemBuilder: (context, index) { + return Padding( + padding: const EdgeInsets.only(bottom: 10.0), + child: GestureDetector( + onTap: () { + goRouter.pushNamed(RouteName.walletDetails, + pathParameters: { + "type": data[index]['title'], + }); + }, + child: Container( + height: 92.h, + decoration: BoxDecoration( + borderRadius: BorderRadius.circular(22.r), + color: const Color(0xFFF6F6F6), + ), + child: Padding( + padding: const EdgeInsets.all(12.0), + child: Row( + children: [ + getIcon(data[index]['title']), + SizedBox(width: 12.w), + Column( + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisAlignment: MainAxisAlignment.center, + children: [ + Text( + data[index]['title'], + style: GoogleFonts.dmSans( + color: const Color(0xFF191B1E), + fontSize: 14.sp, + fontWeight: FontWeight.w700, + ), + ), + SizedBox(height: 4.h), + (data[index]['subTitle'] != '') + ? Column( + crossAxisAlignment: + CrossAxisAlignment.start, + children: [ + Text( + data[index]['subTitle'], + style: GoogleFonts.dmSans( + color: const Color(0xFF191B1E), + fontSize: 14.sp, + fontWeight: FontWeight.w400, + ), + ), + SizedBox(height: 4.h), + ], + ) + : Container(), + Text( + data[index]['dateTime'], + style: GoogleFonts.dmSans( + color: const Color(0xFF8D8D8D), + fontSize: 11.sp, + fontWeight: FontWeight.w500, + ), + ), + ], + ), + Spacer(), + Column( + crossAxisAlignment: CrossAxisAlignment.end, + mainAxisAlignment: MainAxisAlignment.center, + children: [ + (data[index]['onHold']) + ? Column( + crossAxisAlignment: + CrossAxisAlignment.start, + children: [ + Text( + AppText.onHold, + style: GoogleFonts.dmSans( + color: const Color(0xFF0172CB), + fontSize: 14.sp, + fontWeight: FontWeight.w700, + ), + ), + SizedBox(height: 4.h), + ], + ) + : Container(), + Text( + data[index]['value'], + style: GoogleFonts.dmSans( + color: const Color(0xFF191B1E), + fontSize: 14.sp, + fontWeight: FontWeight.w700, + ), + ), + SizedBox(height: 4.h), + (data[index]['subValue'] != '') + ? Text( + data[index]['subValue'], + style: GoogleFonts.dmSans( + color: const Color(0xFF191B1E), + fontSize: 12.sp, + fontWeight: FontWeight.w500, + ), + ) + : Container(), + ], + ), + ], + ), + ), + ), + ), + ); + }, + ), + ) + ], + ), + ), + ); + } + + Widget getIcon(String title) { + if (title == 'Deposit') { + return Container( + decoration: const BoxDecoration( + shape: BoxShape.circle, color: Color(0xFF0FA4A4)), + child: Padding( + padding: const EdgeInsets.all(8.0), + child: Image.asset( + 'assets/images/wallet_screen/deposit_list.png', + height: 25.h, + ), + ), + ); + } else if (title == 'Withdrawal') { + return Container( + decoration: const BoxDecoration( + shape: BoxShape.circle, color: Color(0xFFE6681F)), + child: Padding( + padding: const EdgeInsets.all(8.0), + child: Image.asset('assets/images/wallet_screen/withdraw_list.png', + height: 25.h), + ), + ); + } else if (title == 'Investment') { + return Container( + decoration: const BoxDecoration( + shape: BoxShape.circle, color: Color(0xFF0172CB)), + child: Padding( + padding: const EdgeInsets.all(8.0), + child: Image.asset('assets/images/wallet_screen/invest_list.png', + height: 25.h), + ), + ); + } else if (title == 'Yield') { + return Container( + decoration: const BoxDecoration( + shape: BoxShape.circle, color: Color(0xFF4C4AEF)), + child: Padding( + padding: const EdgeInsets.all(8.0), + child: Image.asset('assets/images/wallet_screen/yield_list.png', + height: 25.h), + ), + ); + } else { + return Container( + decoration: const BoxDecoration( + shape: BoxShape.circle, color: Color(0xFF0E9445)), + child: Padding( + padding: const EdgeInsets.all(8.0), + child: Image.asset('assets/images/wallet_screen/refund_list.png', + height: 25.h), + ), + ); + } + } +} diff --git a/lib/features/MainScreens/Wallet/presentation/pages/withdrawal/confirmation.dart b/lib/features/MainScreens/Wallet/presentation/pages/withdrawal/confirmation.dart index e4e23a1..f520e0f 100644 --- a/lib/features/MainScreens/Wallet/presentation/pages/withdrawal/confirmation.dart +++ b/lib/features/MainScreens/Wallet/presentation/pages/withdrawal/confirmation.dart @@ -134,7 +134,7 @@ class _WithdrawalConfirmationState extends State { ), child: TicketWidget( isCornerRounded: true, - height: 720.h, + height: MediaQuery.of(context).size.height - 75, width: double.infinity, child: Padding( padding: const EdgeInsets.fromLTRB(30.0, 30, 30, 10), @@ -217,6 +217,9 @@ class _WithdrawalConfirmationState extends State { fontWeight: FontWeight.w500, ), ), + SizedBox( + width: 12.w, + ), Expanded( child: Text( values[index], @@ -255,8 +258,8 @@ class _WithdrawalConfirmationState extends State { goRouter.goNamed(RouteName.mainScreen); }, child: Container( - margin: const EdgeInsets.all(12.0), - height: 56.h, + margin: const EdgeInsets.all(10.0), + height: 65.h, width: double.infinity, decoration: BoxDecoration( borderRadius: BorderRadius.circular(22.r), diff --git a/lib/features/MainScreens/Wallet/presentation/pages/withdrawal/preview.dart b/lib/features/MainScreens/Wallet/presentation/pages/withdrawal/preview.dart index 31b0b0a..1c9955a 100644 --- a/lib/features/MainScreens/Wallet/presentation/pages/withdrawal/preview.dart +++ b/lib/features/MainScreens/Wallet/presentation/pages/withdrawal/preview.dart @@ -319,8 +319,8 @@ class _WithdrawalPreviewState extends State { }); }, child: Container( - margin: const EdgeInsets.all(12.0), - height: 56.h, + margin: const EdgeInsets.all(10.0), + height: 65.h, width: double.infinity, decoration: BoxDecoration( borderRadius: BorderRadius.circular(22.r), diff --git a/lib/features/MainScreens/Wallet/presentation/pages/withdrawal/withdrawalScreen.dart b/lib/features/MainScreens/Wallet/presentation/pages/withdrawal/withdrawalScreen.dart index e6280a9..fbdd381 100644 --- a/lib/features/MainScreens/Wallet/presentation/pages/withdrawal/withdrawalScreen.dart +++ b/lib/features/MainScreens/Wallet/presentation/pages/withdrawal/withdrawalScreen.dart @@ -425,17 +425,32 @@ class _WithdrawalScreenState extends State { ), ), ), - bottomNavigationBar: Container( - margin: const EdgeInsets.symmetric(horizontal: 16, vertical: 10), - width: 1.sw, - height: 56.h, - child: ButtonWidget().elevatedBtn( - function: () { - goRouter.pushNamed(RouteName.withdrawalPreview); - }, - text: AppText.next, - txtClr: AppColor.plainWhite, - clr: AppColor.primaryColor2), + bottomNavigationBar: GestureDetector( + onTap: () { + goRouter.pushNamed(RouteName.withdrawalPreview); + }, + 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: Padding( + padding: const EdgeInsets.symmetric(vertical: 20.0), + child: Center( + child: Text( + AppText.next, + style: GoogleFonts.dmSans( + color: Colors.white, + fontSize: 14.sp, + fontWeight: FontWeight.w700, + ), + ), + ), + ), + ), ), ); } diff --git a/lib/features/deleteAccount/presentation/pages/delete_account_layout.dart b/lib/features/deleteAccount/presentation/pages/delete_account_layout.dart index 991896d..cd73e7a 100644 --- a/lib/features/deleteAccount/presentation/pages/delete_account_layout.dart +++ b/lib/features/deleteAccount/presentation/pages/delete_account_layout.dart @@ -1,5 +1,5 @@ import 'package:flutter/material.dart'; -import 'package:gap/gap.dart'; +import 'package:tanami_app/core/styles/app_color.dart'; import 'package:tanami_app/features/deleteAccount/presentation/widgets/top_section.dart'; import '../widgets/bottom_section.dart'; @@ -11,16 +11,17 @@ class DeleteAccountLayout extends StatelessWidget { @override Widget build(BuildContext context) { return Scaffold( - resizeToAvoidBottomInset: true, - body: SingleChildScrollView( - child: Column( - children: [ - const TopSection(), - const FormSection(), - const Gap(30), - bottomSection(context), - ], - ), - )); + backgroundColor: AppColor.plainWhite, + resizeToAvoidBottomInset: true, + body: const SingleChildScrollView( + child: Column( + children: [ + TopSection(), + FormSection(), + ], + ), + ), + bottomNavigationBar: bottomSection(context), + ); } } diff --git a/lib/features/deleteAccount/presentation/widgets/bottom_section.dart b/lib/features/deleteAccount/presentation/widgets/bottom_section.dart index ef11ca7..daa4e8f 100644 --- a/lib/features/deleteAccount/presentation/widgets/bottom_section.dart +++ b/lib/features/deleteAccount/presentation/widgets/bottom_section.dart @@ -11,7 +11,6 @@ import '../../../../shared/components/bloc/checkbox/checkbox_event.dart'; import '../../../../shared/components/bloc/checkbox/checkbox_state.dart'; import '../../../../shared/components/button_widget.dart'; import '../../../../shared/components/loader.dart'; -import '../../../../shared/components/text_widget.dart'; import '../../../../shared/components/toast_message.dart'; import '../bloc/delete_account_bloc.dart'; import '../bloc/delete_account_event.dart'; @@ -63,7 +62,31 @@ Widget bottomSection(BuildContext context) { } }, builder: (context, state) { - return ButtonWidget().textBtn( + // return ButtonWidget().textBtn( + // function: () { + // if (deleteAccountBloc.formKey.currentState!.validate()) { + // context.read().add(ValidateCheckbox()); + // if (context.read().state is CheckboxChecked) { + // context.read().add( + // DeleteAccountSubmitted( + // context + // .read() + // .descriptionTextField + // .text, + // ), + // ); + // } + // } + // }, + // text: TextWidget().text14W700(AppText.deleteAccountText, + // clr: AppColor.hintTextColor, + // textDecoration: TextDecoration.underline)); + return Container( + width: 1.sw, + height: 56.h, + child: ButtonWidget().textBorderBtn( + borderClr: AppColor.txtBorderColor, + txtClr: AppColor.hintTextColor, function: () { if (deleteAccountBloc.formKey.currentState!.validate()) { context.read().add(ValidateCheckbox()); @@ -79,9 +102,10 @@ Widget bottomSection(BuildContext context) { } } }, - text: TextWidget().text14W700(AppText.deleteAccountText, - clr: AppColor.hintTextColor, - textDecoration: TextDecoration.underline)); + text: AppText.deleteAccountText, + clr: AppColor.plainWhite, + ), + ); }, ), const Gap(20), diff --git a/lib/features/deleteAccount/presentation/widgets/form_section.dart b/lib/features/deleteAccount/presentation/widgets/form_section.dart index f803543..6f0cf41 100644 --- a/lib/features/deleteAccount/presentation/widgets/form_section.dart +++ b/lib/features/deleteAccount/presentation/widgets/form_section.dart @@ -61,7 +61,9 @@ class FormSection extends StatelessWidget { "${state.charactersLeft} ${AppText.charactersLeft}", clr: AppColor.descriptionText); } - return const Text('350 characters left'); + return TextWidget().text14W400( + "350 ${AppText.charactersLeft}", + clr: AppColor.descriptionText); }, ), ], diff --git a/lib/features/deleteAccount/presentation/widgets/top_section.dart b/lib/features/deleteAccount/presentation/widgets/top_section.dart index 8fb729b..c2ff111 100644 --- a/lib/features/deleteAccount/presentation/widgets/top_section.dart +++ b/lib/features/deleteAccount/presentation/widgets/top_section.dart @@ -16,7 +16,7 @@ class TopSection extends StatelessWidget { return Column( crossAxisAlignment: CrossAxisAlignment.center, children: [ - const Gap(85), + const Gap(35), Center( child: SvgPicture.asset( AppImages.welcomeLogo, diff --git a/lib/features/welcome/presentation/widgets/build_onboarding_page_widget.dart b/lib/features/welcome/presentation/widgets/build_onboarding_page_widget.dart index 7fd139b..ec6b98c 100644 --- a/lib/features/welcome/presentation/widgets/build_onboarding_page_widget.dart +++ b/lib/features/welcome/presentation/widgets/build_onboarding_page_widget.dart @@ -31,12 +31,12 @@ Widget buildOnboardingPage( height: index == 2 ? 380 : 450, fit: BoxFit.cover, ), - const Gap(15), + const Gap(12), TextWidget().text22W700( title, clr: AppColor.primaryColor, ), - const Gap(18), + const Gap(12), Padding( padding: const EdgeInsets.symmetric( horizontal: 50, @@ -46,7 +46,7 @@ Widget buildOnboardingPage( clr: AppColor.darkGreyColor, ), ), - const Gap(30), + const Gap(20), welcomeIndicator(pageController), if (isLastPage) const LoginSignUpButton(), ], diff --git a/lib/features/welcome/presentation/widgets/login_signup_button.dart b/lib/features/welcome/presentation/widgets/login_signup_button.dart index 7bddd2b..5dbcee5 100644 --- a/lib/features/welcome/presentation/widgets/login_signup_button.dart +++ b/lib/features/welcome/presentation/widgets/login_signup_button.dart @@ -15,7 +15,7 @@ class LoginSignUpButton extends StatelessWidget { @override Widget build(BuildContext context) { return Padding( - padding: const EdgeInsets.symmetric(vertical: 20.0), + padding: const EdgeInsets.only(top: 20.0), child: Column( children: [ Container( diff --git a/lib/shared/components/button_widget.dart b/lib/shared/components/button_widget.dart index b9c34bd..68bf0e6 100644 --- a/lib/shared/components/button_widget.dart +++ b/lib/shared/components/button_widget.dart @@ -32,12 +32,13 @@ class ButtonWidget { width: 1.sw, height: 56.h, decoration: BoxDecoration( - borderRadius: BorderRadius.circular(30), - color: clr, - border: Border.all( - width: 1, - color: borderClr!, - )), + borderRadius: BorderRadius.circular(30), + color: clr, + border: Border.all( + width: 1, + color: borderClr!, + ), + ), child: Center( child: TextWidget().text14W700( text, diff --git a/lib/shared/components/text_widget.dart b/lib/shared/components/text_widget.dart index fa1ff7f..7e7fb45 100644 --- a/lib/shared/components/text_widget.dart +++ b/lib/shared/components/text_widget.dart @@ -1,4 +1,5 @@ import 'package:flutter/material.dart'; +import 'package:flutter_screenutil/flutter_screenutil.dart'; import 'package:google_fonts/google_fonts.dart'; import 'package:tanami_app/core/styles/app_color.dart'; @@ -7,7 +8,7 @@ class TextWidget { Widget text11W400(String text, {Color? clr}) { return Text(text, style: GoogleFonts.dmSans( - fontSize: 11, + fontSize: 11.sp, fontWeight: FontWeight.w400, color: clr ?? AppColor.plainWhite)); } @@ -15,7 +16,7 @@ class TextWidget { Widget text11W500(String text, {Color? clr}) { return Text(text, style: GoogleFonts.dmSans( - fontSize: 11, + fontSize: 11.sp, fontWeight: FontWeight.w500, color: clr ?? AppColor.plainWhite)); } @@ -23,7 +24,7 @@ class TextWidget { Widget text11W700(String text, {Color? clr}) { return Text(text, style: GoogleFonts.dmSans( - fontSize: 11, + fontSize: 11.sp, fontWeight: FontWeight.w700, color: clr ?? AppColor.plainWhite)); } @@ -32,7 +33,7 @@ class TextWidget { Widget text12W400(String text, {Color? clr}) { return Text(text, style: GoogleFonts.dmSans( - fontSize: 12, + fontSize: 12.sp, fontWeight: FontWeight.w400, color: clr ?? AppColor.plainWhite)); } @@ -40,7 +41,7 @@ class TextWidget { Widget text12W500(String text, {Color? clr}) { return Text(text, style: GoogleFonts.dmSans( - fontSize: 12, + fontSize: 12.sp, fontWeight: FontWeight.w500, color: clr ?? AppColor.plainWhite)); } @@ -49,7 +50,7 @@ class TextWidget { {Color? clr, TextDecoration? txtDec, Color? decClr}) { return Text(text, style: GoogleFonts.dmSans( - fontSize: 12, + fontSize: 12.sp, decorationColor: decClr ?? AppColor.plainWhite, decoration: txtDec ?? TextDecoration.none, fontWeight: FontWeight.w700, @@ -79,7 +80,7 @@ class TextWidget { maxLines: maxLine ?? 20, overflow: txtOverflow ?? TextOverflow.ellipsis, style: GoogleFonts.dmSans( - fontSize: 14, + fontSize: 14.sp, fontWeight: FontWeight.w400, decoration: textDecoration ?? TextDecoration.none, color: clr ?? AppColor.plainWhite)); @@ -91,13 +92,16 @@ class TextWidget { TextDecoration? textDecoration, TextAlign? txtAlign, }) { - return Text(text, - textAlign: txtAlign ?? TextAlign.center, - style: GoogleFonts.dmSans( - fontSize: 14, - fontWeight: FontWeight.w500, - decoration: textDecoration ?? TextDecoration.none, - color: clr ?? AppColor.plainWhite)); + return Text( + text, + textAlign: txtAlign ?? TextAlign.center, + style: GoogleFonts.dmSans( + fontSize: 14.sp, + fontWeight: FontWeight.w500, + decoration: textDecoration ?? TextDecoration.none, + color: clr ?? AppColor.plainWhite, + ), + ); } Widget text14W600( @@ -109,7 +113,7 @@ class TextWidget { return Text(text, textAlign: txtAlign ?? TextAlign.center, style: GoogleFonts.dmSans( - fontSize: 14, + fontSize: 14.sp, fontWeight: FontWeight.w600, decoration: textDecoration ?? TextDecoration.none, color: clr ?? AppColor.plainWhite)); @@ -120,7 +124,7 @@ class TextWidget { return Text(text, textAlign: txtAlign ?? TextAlign.center, style: GoogleFonts.dmSans( - fontSize: 14, + fontSize: 14.sp, fontWeight: FontWeight.w700, decoration: textDecoration ?? TextDecoration.none, color: clr ?? AppColor.plainWhite)); @@ -139,7 +143,7 @@ class TextWidget { style: GoogleFonts.dmSans( decoration: textDecoration ?? TextDecoration.none, decorationColor: clr ?? AppColor.plainWhite, - fontSize: 15, + fontSize: 15.sp, fontWeight: FontWeight.w400, color: clr ?? AppColor.plainWhite)); } @@ -149,14 +153,17 @@ class TextWidget { Color? clr, TextDecoration? textDecoration, }) { - return Text(text, - textAlign: TextAlign.center, - style: GoogleFonts.dmSans( - fontSize: 15, - decorationColor: AppColor.hintTextColor, - decoration: textDecoration ?? TextDecoration.none, - fontWeight: FontWeight.w500, - color: clr ?? AppColor.plainWhite)); + return Text( + text, + textAlign: TextAlign.center, + style: GoogleFonts.dmSans( + fontSize: 15.sp, + decorationColor: AppColor.hintTextColor, + decoration: textDecoration ?? TextDecoration.none, + fontWeight: FontWeight.w500, + color: clr ?? AppColor.plainWhite, + ), + ); } Widget text15W700( @@ -164,14 +171,17 @@ class TextWidget { Color? clr, TextDecoration? textDecoration, }) { - return Text(text, - textAlign: TextAlign.center, - style: GoogleFonts.dmSans( - fontSize: 15, - decorationColor: AppColor.hintTextColor, - decoration: textDecoration ?? TextDecoration.none, - fontWeight: FontWeight.w700, - color: clr ?? AppColor.plainWhite)); + return Text( + text, + textAlign: TextAlign.center, + style: GoogleFonts.dmSans( + fontSize: 15.sp, + decorationColor: AppColor.hintTextColor, + decoration: textDecoration ?? TextDecoration.none, + fontWeight: FontWeight.w700, + color: clr ?? AppColor.plainWhite, + ), + ); } //Text Size 17 @@ -181,14 +191,17 @@ class TextWidget { Color? clr, TextDecoration? textDecoration, }) { - return Text(text, - textAlign: TextAlign.center, - style: GoogleFonts.dmSans( - fontSize: 17, - decorationColor: AppColor.hintTextColor, - decoration: textDecoration ?? TextDecoration.none, - fontWeight: FontWeight.w600, - color: clr ?? AppColor.plainWhite)); + return Text( + text, + textAlign: TextAlign.center, + style: GoogleFonts.dmSans( + fontSize: 17.sp, + decorationColor: AppColor.hintTextColor, + decoration: textDecoration ?? TextDecoration.none, + fontWeight: FontWeight.w600, + color: clr ?? AppColor.plainWhite, + ), + ); } Widget text17W700( @@ -196,14 +209,17 @@ class TextWidget { Color? clr, TextDecoration? textDecoration, }) { - return Text(text, - textAlign: TextAlign.center, - style: GoogleFonts.dmSans( - fontSize: 17, - decorationColor: AppColor.hintTextColor, - decoration: textDecoration ?? TextDecoration.none, - fontWeight: FontWeight.w700, - color: clr ?? AppColor.plainWhite)); + return Text( + text, + textAlign: TextAlign.center, + style: GoogleFonts.dmSans( + fontSize: 17.sp, + decorationColor: AppColor.hintTextColor, + decoration: textDecoration ?? TextDecoration.none, + fontWeight: FontWeight.w700, + color: clr ?? AppColor.plainWhite, + ), + ); } //Text Size 18 @@ -213,48 +229,60 @@ class TextWidget { Color? clr, TextDecoration? textDecoration, }) { - return Text(text, - textAlign: TextAlign.center, - style: GoogleFonts.dmSans( - fontSize: 18, - decorationColor: AppColor.hintTextColor, - decoration: textDecoration ?? TextDecoration.none, - fontWeight: FontWeight.w700, - color: clr ?? AppColor.plainWhite)); + return Text( + text, + textAlign: TextAlign.center, + style: GoogleFonts.dmSans( + fontSize: 18.sp, + decorationColor: AppColor.hintTextColor, + decoration: textDecoration ?? TextDecoration.none, + fontWeight: FontWeight.w700, + color: clr ?? AppColor.plainWhite, + ), + ); } //Text Size 22 Widget text22W400(String text, {Color? clr}) { - return Text(text, - style: GoogleFonts.dmSans( - fontSize: 22, - fontWeight: FontWeight.w400, - color: clr ?? AppColor.plainWhite)); + return Text( + text, + style: GoogleFonts.dmSans( + fontSize: 22.sp, + fontWeight: FontWeight.w400, + color: clr ?? AppColor.plainWhite, + ), + ); } Widget text22W700(String text, {Color? clr}) { - return Text(text, - style: GoogleFonts.dmSans( - fontSize: 22, - fontWeight: FontWeight.w700, - color: clr ?? AppColor.plainWhite)); + return Text( + text, + style: GoogleFonts.dmSans( + fontSize: 22.sp, + fontWeight: FontWeight.w700, + color: clr ?? AppColor.plainWhite, + ), + ); } Widget text22W900(String text, {Color? clr}) { return Text(text, style: GoogleFonts.dmSans( - fontSize: 22, + fontSize: 22.sp, fontWeight: FontWeight.w900, color: clr ?? AppColor.plainWhite)); } //Text Size 20 Widget text20W700(String text, {Color? clr}) { - return Text(text, - style: GoogleFonts.dmSans( - fontSize: 20, - fontWeight: FontWeight.w700, - color: clr ?? AppColor.plainWhite)); + return Text( + text, + style: GoogleFonts.dmSans( + fontSize: 20.sp, + fontWeight: FontWeight.w700, + color: clr ?? AppColor.plainWhite, + ), + ); } Widget text20W900(String text, {Color? clr}) { @@ -267,10 +295,13 @@ class TextWidget { //Text Size 28 Widget text28W700(String text, {Color? clr}) { - return Text(text, - style: GoogleFonts.dmSans( - fontSize: 28, - fontWeight: FontWeight.w700, - color: clr ?? AppColor.plainWhite)); + return Text( + text, + style: GoogleFonts.dmSans( + fontSize: 28.sp, + fontWeight: FontWeight.w700, + color: clr ?? AppColor.plainWhite, + ), + ); } } diff --git a/pubspec.lock b/pubspec.lock index 8160dc0..dd39c63 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -85,10 +85,10 @@ packages: dependency: transitive description: name: build_daemon - sha256: "79b2aef6ac2ed00046867ed354c88778c9c0f029df8a20fe10b5436826721ef9" + sha256: "0343061a33da9c5810b2d6cee51945127d8f4c060b7fbdd9d54917f0a3feaaa1" url: "https://pub.dev" source: hosted - version: "4.0.2" + version: "4.0.1" build_resolvers: dependency: transitive description: @@ -101,18 +101,18 @@ packages: dependency: "direct dev" description: name: build_runner - sha256: "644dc98a0f179b872f612d3eb627924b578897c629788e858157fa5e704ca0c7" + sha256: "3ac61a79bfb6f6cc11f693591063a7f19a7af628dc52f141743edac5c16e8c22" url: "https://pub.dev" source: hosted - version: "2.4.11" + version: "2.4.9" build_runner_core: dependency: transitive description: name: build_runner_core - sha256: e3c79f69a64bdfcd8a776a3c28db4eb6e3fb5356d013ae5eb2e52007706d5dbe + sha256: "4ae8ffe5ac758da294ecf1802f2aff01558d8b1b00616aa7538ea9a8a5d50799" url: "https://pub.dev" source: hosted - version: "7.3.1" + version: "7.3.0" built_collection: dependency: transitive description: @@ -410,10 +410,10 @@ packages: dependency: transitive description: name: flutter_plugin_android_lifecycle - sha256: c6b0b4c05c458e1c01ad9bcc14041dd7b1f6783d487be4386f793f47a8a4d03e + sha256: "8cf40eebf5dec866a6d1956ad7b4f7016e6c0cc69847ab946833b7d43743809f" url: "https://pub.dev" source: hosted - version: "2.0.20" + version: "2.0.19" flutter_screenutil: dependency: "direct main" description: @@ -620,26 +620,26 @@ packages: dependency: transitive description: name: leak_tracker - sha256: "7f0df31977cb2c0b88585095d168e689669a2cc9b97c309665e3386f3e9d341a" + sha256: "78eb209deea09858f5269f5a5b02be4049535f568c07b275096836f01ea323fa" url: "https://pub.dev" source: hosted - version: "10.0.4" + version: "10.0.0" leak_tracker_flutter_testing: dependency: transitive description: name: leak_tracker_flutter_testing - sha256: "06e98f569d004c1315b991ded39924b21af84cf14cc94791b8aea337d25b57f8" + sha256: b46c5e37c19120a8a01918cfaf293547f47269f7cb4b0058f21531c2465d6ef0 url: "https://pub.dev" source: hosted - version: "3.0.3" + version: "2.0.1" leak_tracker_testing: dependency: transitive description: name: leak_tracker_testing - sha256: "6ba465d5d76e67ddf503e1161d1f4a6bc42306f9d66ca1e8f079a47290fb06d3" + sha256: a597f72a664dbd293f3bfc51f9ba69816f84dcd403cdac7066cb3f6003f3ab47 url: "https://pub.dev" source: hosted - version: "3.0.1" + version: "2.0.1" lints: dependency: transitive description: @@ -660,10 +660,10 @@ packages: dependency: transitive description: name: local_auth_android - sha256: "48dfb2d954da8ef6a77adfc93a29998f7729e9308eaa817e91dea4500317b2c8" + sha256: e0e5b1ea247c5a0951c13a7ee13dc1beae69750e6a2e1910d1ed6a3cd4d56943 url: "https://pub.dev" source: hosted - version: "1.0.39" + version: "1.0.38" local_auth_darwin: dependency: transitive description: @@ -724,10 +724,10 @@ packages: dependency: transitive description: name: meta - sha256: "7687075e408b093f36e6bbf6c91878cc0d4cd10f409506f7bc996f68220b9136" + sha256: d584fa6707a52763a52446f02cc621b077888fb63b93bbcb1143a7be5a0c0c04 url: "https://pub.dev" source: hosted - version: "1.12.0" + version: "1.11.0" mime: dependency: transitive description: @@ -820,10 +820,10 @@ packages: dependency: transitive description: name: path_provider_android - sha256: "9c96da072b421e98183f9ea7464898428e764bc0ce5567f27ec8693442e72514" + sha256: a248d8146ee5983446bf03ed5ea8f6533129a12b11f12057ad1b4a67a2b3b41d url: "https://pub.dev" source: hosted - version: "2.2.5" + version: "2.2.4" path_provider_foundation: dependency: transitive description: @@ -1004,10 +1004,10 @@ packages: dependency: transitive description: name: shared_preferences_android - sha256: "93d0ec9dd902d85f326068e6a899487d1f65ffcd5798721a95330b26c8131577" + sha256: "1ee8bf911094a1b592de7ab29add6f826a7331fb854273d55918693d5364a1f2" url: "https://pub.dev" source: hosted - version: "2.2.3" + version: "2.2.2" shared_preferences_foundation: dependency: transitive description: @@ -1060,10 +1060,10 @@ packages: dependency: transitive description: name: shelf_web_socket - sha256: "073c147238594ecd0d193f3456a5fe91c4b0abbcc68bf5cd95b36c4e194ac611" + sha256: "9ca081be41c60190ebcb4766b2486a7d50261db7bd0f5d9615f2d653637a84c1" url: "https://pub.dev" source: hosted - version: "2.0.0" + version: "1.0.4" shimmer: dependency: "direct main" description: @@ -1193,10 +1193,10 @@ packages: dependency: transitive description: name: test_api - sha256: "9955ae474176f7ac8ee4e989dadfb411a58c30415bcfb648fa04b2b8a03afa7f" + sha256: "5c2f730018264d276c20e4f1503fd1308dfbbae39ec8ee63c5236311ac06954b" url: "https://pub.dev" source: hosted - version: "0.7.0" + version: "0.6.1" ticket_widget: dependency: "direct main" description: @@ -1249,10 +1249,10 @@ packages: dependency: transitive description: name: url_launcher_android - sha256: ceb2625f0c24ade6ef6778d1de0b2e44f2db71fded235eb52295247feba8c5cf + sha256: "17cd5e205ea615e2c6ea7a77323a11712dffa0720a8a90540db57a01347f9ad9" url: "https://pub.dev" source: hosted - version: "6.3.3" + version: "6.3.2" url_launcher_ios: dependency: transitive description: @@ -1353,10 +1353,10 @@ packages: dependency: transitive description: name: vm_service - sha256: "3923c89304b715fb1eb6423f017651664a03bf5f4b29983627c4da791f74a4ec" + sha256: b3d56ff4341b8f182b96aceb2fa20e3dcb336b9f867bc0eafc0de10f1048e957 url: "https://pub.dev" source: hosted - version: "14.2.1" + version: "13.0.0" watcher: dependency: transitive description: @@ -1373,30 +1373,22 @@ packages: url: "https://pub.dev" source: hosted version: "0.5.1" - web_socket: - dependency: transitive - description: - name: web_socket - sha256: "24301d8c293ce6fe327ffe6f59d8fd8834735f0ec36e4fd383ec7ff8a64aa078" - url: "https://pub.dev" - source: hosted - version: "0.1.5" web_socket_channel: dependency: transitive description: name: web_socket_channel - sha256: a2d56211ee4d35d9b344d9d4ce60f362e4f5d1aafb988302906bd732bc731276 + sha256: "58c6666b342a38816b2e7e50ed0f1e261959630becd4c879c4f26bfa14aa5a42" url: "https://pub.dev" source: hosted - version: "3.0.0" + version: "2.4.5" win32: dependency: transitive description: name: win32 - sha256: a79dbe579cb51ecd6d30b17e0cae4e0ea15e2c0e66f69ad4198f22a6789e94f4 + sha256: "0eaf06e3446824099858367950a813472af675116bf63f008a4c2a75ae13e9cb" url: "https://pub.dev" source: hosted - version: "5.5.1" + version: "5.5.0" win32_registry: dependency: transitive description: @@ -1430,5 +1422,5 @@ packages: source: hosted version: "3.1.2" sdks: - dart: ">=3.4.0 <4.0.0" - flutter: ">=3.22.0" + dart: ">=3.3.4 <4.0.0" + flutter: ">=3.19.2"