diff --git a/lib/application/component/text_form/text_form_view.dart b/lib/application/component/text_form/text_form_view.dart index 3a22c0e..542c6f6 100644 --- a/lib/application/component/text_form/text_form_view.dart +++ b/lib/application/component/text_form/text_form_view.dart @@ -33,6 +33,7 @@ class TextFormView extends StatelessWidget { final Color? disabledborderColor; final bool? enableInteractiveSelection; final Color? fontColorDisabled; + final EdgeInsets? contentPadding; final FocusNode? focusNode; // ignore: prefer_const_constructors_in_immutables @@ -69,6 +70,7 @@ class TextFormView extends StatelessWidget { this.preffixIconConstraints, this.disableColor = false, this.enableInteractiveSelection = true, + this.contentPadding, this.focusNode, this.isTextAlignCenter = false, this.prefix}) @@ -193,7 +195,8 @@ class TextFormView extends StatelessWidget { suffixIconConstraints: suffixIconConstraints, prefixIconConstraints: preffixIconConstraints, prefix: prefix, - contentPadding: EdgeInsets.zero), + contentPadding: contentPadding ?? EdgeInsets.zero + ), ) ], ); diff --git a/lib/features/auth/login/view/login_view.dart b/lib/features/auth/login/view/login_view.dart index f00edf9..d8aaf2a 100644 --- a/lib/features/auth/login/view/login_view.dart +++ b/lib/features/auth/login/view/login_view.dart @@ -61,7 +61,7 @@ class _LoginViewState extends State { mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ ButtonBack(), - const Text('Sign Up'), + const Text('Sign In'), SizedBox( width: SizeConfig.width * 0.1, ) @@ -72,6 +72,7 @@ class _LoginViewState extends State { ), ), body: PageView( + physics: NeverScrollableScrollPhysics(), controller: pageController, children: [ PhoneNumberView(nextStep: nextStep, controller: phoneNumberController), @@ -88,7 +89,7 @@ class _LoginViewState extends State { currentPage++; pageController.jumpToPage(1); }else{ - routePush(context, page: BottomNavigationView(), routeType: RouteType.pushRemove); + routePush(context, page: BottomNavigationView()); } } } diff --git a/lib/features/auth/login/view/password_view.dart b/lib/features/auth/login/view/password_view.dart index 2a0bc73..a5ea828 100644 --- a/lib/features/auth/login/view/password_view.dart +++ b/lib/features/auth/login/view/password_view.dart @@ -23,7 +23,7 @@ class PasswordView extends StatelessWidget { child: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ - const TextTitle(title: 'Enter your phone number', fontSize: 24), + const TextTitle(title: 'Enter your password', fontSize: 24), SizedBox( height: 24, ), @@ -31,9 +31,7 @@ class PasswordView extends StatelessWidget { name: 'Password', ctrl: controller, obscureText: !provider.showPassword, - prefix: SizedBox( - width: 16, - ), + contentPadding: EdgeInsets.all(12), suffixIcon: GestureDetector( onTap: () { provider.changeShowPassword(); diff --git a/lib/features/auth/login/view/phone_number_view.dart b/lib/features/auth/login/view/phone_number_view.dart index 33f377f..c4c2ffb 100644 --- a/lib/features/auth/login/view/phone_number_view.dart +++ b/lib/features/auth/login/view/phone_number_view.dart @@ -4,7 +4,9 @@ import 'package:cims_apps/application/component/image/image_view.dart'; import 'package:cims_apps/application/component/text_form/text_form_view.dart'; import 'package:cims_apps/application/component/text_title/text_title.dart'; import 'package:cims_apps/application/theme/color_palette.dart'; +import 'package:cims_apps/core/route/route.dart'; import 'package:cims_apps/core/utils/size_config.dart'; +import 'package:cims_apps/features/auth/registration/view/registration_view.dart'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; @@ -92,8 +94,11 @@ class PhoneNumberView extends StatelessWidget { ), TextButton( onPressed: () { - + routePush(context, page: RegistrationView()); }, + style: TextButton.styleFrom( + padding: EdgeInsets.all(0) + ), child: Text( 'Sign Up', style: TextStyle( diff --git a/lib/features/dashboard/dashboard_account/view/homepage/homepage_view.dart b/lib/features/dashboard/dashboard_account/view/homepage/homepage_view.dart index 891604f..e3262e3 100644 --- a/lib/features/dashboard/dashboard_account/view/homepage/homepage_view.dart +++ b/lib/features/dashboard/dashboard_account/view/homepage/homepage_view.dart @@ -1,10 +1,13 @@ import 'package:carousel_slider/carousel_slider.dart'; import 'package:cims_apps/application/assets/path_assets.dart'; +import 'package:cims_apps/application/component/button/button_view.dart'; import 'package:cims_apps/application/component/image/image_view.dart'; import 'package:cims_apps/application/component/text_title/text_title.dart'; import 'package:cims_apps/application/theme/color_palette.dart'; import 'package:cims_apps/core/route/route.dart'; import 'package:cims_apps/core/utils/size_config.dart'; +import 'package:cims_apps/features/auth/registration/view/initial_registration_step.dart'; +import 'package:cims_apps/features/auth/registration/view/registration_view.dart'; import 'package:cims_apps/features/dashboard/dashboard_account/view/invest_type/invest_type_view.dart'; import 'package:flutter/material.dart'; @@ -47,7 +50,7 @@ class _HomeViewState extends State { InvestType('Sharia', PathAssets.iconPortofolioSharia) ]; - StepVerification listStepVerification = StepVerification(1, [ + StepVerification listStepVerification = StepVerification(0, [ 'Registration', 'Verification', 'Complete' ]); @@ -268,106 +271,138 @@ class _HomeViewState extends State { const SizedBox( height: 24, ), - Row( - mainAxisAlignment: MainAxisAlignment.spaceBetween, - children: [ - const Row( - children: [ - Icon(Icons.verified, size: 18,), - SizedBox( - width: 12, - ), - Text( - 'Verified by PT Gemilang', - style: TextStyle( - color: ColorPalette.slate500 - ), - ) - ], - ), - Container( - width: 16, - height: 16, - decoration: BoxDecoration( - color: Colors.white, - border: Border.all(color: const Color(0xffCBD5E1), width: 1.5), - shape: BoxShape.circle - ), - ) - ], - ), - const SizedBox( - height: 16, - ), - Row( - mainAxisAlignment: MainAxisAlignment.spaceBetween, - children: [ - const Row( - crossAxisAlignment: CrossAxisAlignment.end, - children: [ - Icon(Icons.verified, size: 18,), - SizedBox( - width: 12, - ), - Text( - 'Verified by KSEI', - style: TextStyle( - color: ColorPalette.slate500 - ), - ) - ], - ), - Container( - width: 16, - height: 16, - decoration: BoxDecoration( - color: Colors.white, - border: Border.all(color: const Color(0xffCBD5E1), width: 1.5), - shape: BoxShape.circle - ), - ) - ], - ), - const SizedBox( - height: 16, - ), - Container( - padding: const EdgeInsets.all(12), - decoration: BoxDecoration( - color: ColorPalette.blue50, - borderRadius: BorderRadius.circular(12) - ), - child: const Column( + if(listStepVerification.currentStep == 1)...[ + Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ - Text( - 'Your registration is currently being verified by PT Gemilang', - style: TextStyle( - color: ColorPalette.slate500 - ), - ), - SizedBox( - height: 16, - ), - Row( - mainAxisAlignment: MainAxisAlignment.spaceBetween, + const Row( children: [ - Text('Estimated:', - style: TextStyle( - color: ColorPalette.slate500 - ), + Icon(Icons.verified, size: 18,), + SizedBox( + width: 12, ), Text( - 'January 30 2024', + 'Verified by PT Gemilang', style: TextStyle( - fontWeight: FontWeight.w600, - color: Color(0xff1E293B) + color: ColorPalette.slate500 ), ) ], + ), + Container( + width: 16, + height: 16, + decoration: BoxDecoration( + color: Colors.white, + border: Border.all(color: const Color(0xffCBD5E1), width: 1.5), + shape: BoxShape.circle + ), ) ], ), - ) + const SizedBox( + height: 16, + ), + Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + const Row( + crossAxisAlignment: CrossAxisAlignment.end, + children: [ + Icon(Icons.verified, size: 18,), + SizedBox( + width: 12, + ), + Text( + 'Verified by KSEI', + style: TextStyle( + color: ColorPalette.slate500 + ), + ) + ], + ), + Container( + width: 16, + height: 16, + decoration: BoxDecoration( + color: Colors.white, + border: Border.all(color: const Color(0xffCBD5E1), width: 1.5), + shape: BoxShape.circle + ), + ) + ], + ), + const SizedBox( + height: 16, + ), + Container( + padding: const EdgeInsets.all(12), + decoration: BoxDecoration( + color: ColorPalette.blue50, + borderRadius: BorderRadius.circular(12) + ), + child: const Column( + children: [ + Text( + 'Your registration is currently being verified by PT Gemilang', + style: TextStyle( + color: ColorPalette.slate500 + ), + ), + SizedBox( + height: 16, + ), + Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Text('Estimated:', + style: TextStyle( + color: ColorPalette.slate500 + ), + ), + Text( + 'January 30 2024', + style: TextStyle( + fontWeight: FontWeight.w600, + color: Color(0xff1E293B) + ), + ) + ], + ) + ], + ), + ) + ]else if(listStepVerification.currentStep == 0)...[ + Container( + padding: const EdgeInsets.all(12), + decoration: BoxDecoration( + color: ColorPalette.blue50, + borderRadius: BorderRadius.circular(12) + ), + child: Column( + children: [ + Text( + "Let's start registering your data to start mutual fund investment at PT Gemilang Indonesia", + style: TextStyle( + color: ColorPalette.slate500 + ), + ), + SizedBox( + height: 16, + ), + ButtonView( + name: 'Registration', + width: SizeConfig.width, + marginVertical: 0, + heightWrapContent: true, + onPressed: () { + routePush(context, page: InitialRegistrationStep()); + }, + ) + ], + ), + ) + ] ], ), ); diff --git a/lib/features/dashboard/dashboard_account/view/portfolio/portfolio_view.dart b/lib/features/dashboard/dashboard_account/view/portfolio/portfolio_view.dart index afc11de..46753ad 100644 --- a/lib/features/dashboard/dashboard_account/view/portfolio/portfolio_view.dart +++ b/lib/features/dashboard/dashboard_account/view/portfolio/portfolio_view.dart @@ -122,11 +122,20 @@ class _PortofolioViewState extends State { ), const Column( children: [ - Text('Total Mutual Fund'), + Text('Total Mutual Fund', + style: TextStyle( + fontWeight: FontWeight.w600, + fontSize: 18, + color: ColorPalette.slate400 + ), + ), Text('10', - style: TextStyle( - fontSize: 44, - fontWeight: FontWeight.w700)), + style: TextStyle( + fontSize: 44, + fontWeight: FontWeight.w700 + ) + ) + , ], ) ]), diff --git a/lib/features/dashboard/dashboard_account/view/product/product_view.dart b/lib/features/dashboard/dashboard_account/view/product/product_view.dart index 5502cb3..54f9f01 100644 --- a/lib/features/dashboard/dashboard_account/view/product/product_view.dart +++ b/lib/features/dashboard/dashboard_account/view/product/product_view.dart @@ -99,8 +99,6 @@ class _ProductViewState extends State { Widget build(BuildContext context) { return Scaffold( body: SizedBox( - width: SizeConfig.width, - height: SizeConfig.height, child: Stack( children: [ const ImageView(image: PathAssets.imgDashboardAccount), @@ -141,7 +139,8 @@ class _ProductViewState extends State { ], ), ), - bottomNavigationBar: Padding( + bottomNavigationBar: Container( + height: SizeConfig.height * .1, padding: const EdgeInsets.symmetric(horizontal: 24), child: ButtonView( name: 'Buy', @@ -498,6 +497,9 @@ class _ProductViewState extends State { ) ], ), + SizedBox( + height: 16, + ), Row( mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ @@ -523,7 +525,7 @@ class _ProductViewState extends State { onPressed: () { }, - prefixIcon: Icon(Icons.space_dashboard_sharp), + prefixIcon: Icon(Icons.calendar_month_rounded), backgroundColor: ColorPalette.blue50, sizeBorderRadius: 8, isSecondaryColor: false, @@ -590,6 +592,8 @@ class _ProductViewState extends State { TextFormView( name: '', ctrl: machineController, + keyboardType: TextInputType.number, + contentPadding: EdgeInsets.all(12), onChanged: (value) { value = value.replaceAll('Rp ', '').replaceAll('.', ''); double parseValue = double.parse(value); @@ -600,7 +604,6 @@ class _ProductViewState extends State { } setEstimatedValue(); }, - keyboardType: TextInputType.number, ), const Padding( padding: EdgeInsets.only(top: 16, bottom: 8), diff --git a/lib/features/splash_screen.dart b/lib/features/splash_screen.dart index 277276b..30143fc 100644 --- a/lib/features/splash_screen.dart +++ b/lib/features/splash_screen.dart @@ -17,7 +17,7 @@ class _SplashScreenState extends State { @override void initState() { Future.delayed(const Duration(seconds: 3)).then( - (value) => routePush(context, page: const DashboardPublicView()), + (value) => routePush(context, page: const DashboardPublicView(), routeType: RouteType.pushRemove), ); super.initState(); }