From 816e939a319feef0fc321646b7f5b0c0e748e76f Mon Sep 17 00:00:00 2001 From: Rajshinde046 Date: Wed, 29 May 2024 13:30:36 +0530 Subject: [PATCH 1/4] onboarding --- ios/Flutter/Debug.xcconfig | 1 + ios/Flutter/Release.xcconfig | 1 + ios/Podfile | 44 +++++++++++++++++++ .../widgets/build_onboarding_page_widget.dart | 2 +- macos/Flutter/Flutter-Debug.xcconfig | 1 + macos/Flutter/Flutter-Release.xcconfig | 1 + macos/Podfile | 43 ++++++++++++++++++ 7 files changed, 92 insertions(+), 1 deletion(-) create mode 100644 ios/Podfile create mode 100644 macos/Podfile diff --git a/ios/Flutter/Debug.xcconfig b/ios/Flutter/Debug.xcconfig index 592ceee..ec97fc6 100644 --- a/ios/Flutter/Debug.xcconfig +++ b/ios/Flutter/Debug.xcconfig @@ -1 +1,2 @@ +#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig" #include "Generated.xcconfig" diff --git a/ios/Flutter/Release.xcconfig b/ios/Flutter/Release.xcconfig index 592ceee..c4855bf 100644 --- a/ios/Flutter/Release.xcconfig +++ b/ios/Flutter/Release.xcconfig @@ -1 +1,2 @@ +#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig" #include "Generated.xcconfig" diff --git a/ios/Podfile b/ios/Podfile new file mode 100644 index 0000000..d97f17e --- /dev/null +++ b/ios/Podfile @@ -0,0 +1,44 @@ +# Uncomment this line to define a global platform for your project +# platform :ios, '12.0' + +# CocoaPods analytics sends network stats synchronously affecting flutter build latency. +ENV['COCOAPODS_DISABLE_STATS'] = 'true' + +project 'Runner', { + 'Debug' => :debug, + 'Profile' => :release, + 'Release' => :release, +} + +def flutter_root + generated_xcode_build_settings_path = File.expand_path(File.join('..', 'Flutter', 'Generated.xcconfig'), __FILE__) + unless File.exist?(generated_xcode_build_settings_path) + raise "#{generated_xcode_build_settings_path} must exist. If you're running pod install manually, make sure flutter pub get is executed first" + end + + File.foreach(generated_xcode_build_settings_path) do |line| + matches = line.match(/FLUTTER_ROOT\=(.*)/) + return matches[1].strip if matches + end + raise "FLUTTER_ROOT not found in #{generated_xcode_build_settings_path}. Try deleting Generated.xcconfig, then run flutter pub get" +end + +require File.expand_path(File.join('packages', 'flutter_tools', 'bin', 'podhelper'), flutter_root) + +flutter_ios_podfile_setup + +target 'Runner' do + use_frameworks! + use_modular_headers! + + flutter_install_all_ios_pods File.dirname(File.realpath(__FILE__)) + target 'RunnerTests' do + inherit! :search_paths + end +end + +post_install do |installer| + installer.pods_project.targets.each do |target| + flutter_additional_ios_build_settings(target) + end +end 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 18149e6..af4c921 100644 --- a/lib/features/welcome/presentation/widgets/build_onboarding_page_widget.dart +++ b/lib/features/welcome/presentation/widgets/build_onboarding_page_widget.dart @@ -46,7 +46,7 @@ Widget buildOnboardingPage( clr: AppColor.darkGreyColor, ), ), - const Gap(40), + const Gap(30), welcomeIndicator(pageController), if (isLastPage) const LoginSignUpButton(), ], diff --git a/macos/Flutter/Flutter-Debug.xcconfig b/macos/Flutter/Flutter-Debug.xcconfig index c2efd0b..4b81f9b 100644 --- a/macos/Flutter/Flutter-Debug.xcconfig +++ b/macos/Flutter/Flutter-Debug.xcconfig @@ -1 +1,2 @@ +#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig" #include "ephemeral/Flutter-Generated.xcconfig" diff --git a/macos/Flutter/Flutter-Release.xcconfig b/macos/Flutter/Flutter-Release.xcconfig index c2efd0b..5caa9d1 100644 --- a/macos/Flutter/Flutter-Release.xcconfig +++ b/macos/Flutter/Flutter-Release.xcconfig @@ -1 +1,2 @@ +#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig" #include "ephemeral/Flutter-Generated.xcconfig" diff --git a/macos/Podfile b/macos/Podfile new file mode 100644 index 0000000..c795730 --- /dev/null +++ b/macos/Podfile @@ -0,0 +1,43 @@ +platform :osx, '10.14' + +# CocoaPods analytics sends network stats synchronously affecting flutter build latency. +ENV['COCOAPODS_DISABLE_STATS'] = 'true' + +project 'Runner', { + 'Debug' => :debug, + 'Profile' => :release, + 'Release' => :release, +} + +def flutter_root + generated_xcode_build_settings_path = File.expand_path(File.join('..', 'Flutter', 'ephemeral', 'Flutter-Generated.xcconfig'), __FILE__) + unless File.exist?(generated_xcode_build_settings_path) + raise "#{generated_xcode_build_settings_path} must exist. If you're running pod install manually, make sure \"flutter pub get\" is executed first" + end + + File.foreach(generated_xcode_build_settings_path) do |line| + matches = line.match(/FLUTTER_ROOT\=(.*)/) + return matches[1].strip if matches + end + raise "FLUTTER_ROOT not found in #{generated_xcode_build_settings_path}. Try deleting Flutter-Generated.xcconfig, then run \"flutter pub get\"" +end + +require File.expand_path(File.join('packages', 'flutter_tools', 'bin', 'podhelper'), flutter_root) + +flutter_macos_podfile_setup + +target 'Runner' do + use_frameworks! + use_modular_headers! + + flutter_install_all_macos_pods File.dirname(File.realpath(__FILE__)) + target 'RunnerTests' do + inherit! :search_paths + end +end + +post_install do |installer| + installer.pods_project.targets.each do |target| + flutter_additional_macos_build_settings(target) + end +end From 91e299cb9746fa31888c1d8413d1c570ad3ff4d7 Mon Sep 17 00:00:00 2001 From: Rajshinde046 Date: Wed, 29 May 2024 13:31:52 +0530 Subject: [PATCH 2/4] onboarding --- .../splash/presentation/widgets/bottom_version_widget.dart | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lib/features/splash/presentation/widgets/bottom_version_widget.dart b/lib/features/splash/presentation/widgets/bottom_version_widget.dart index 6c8c9bc..b3d03f8 100644 --- a/lib/features/splash/presentation/widgets/bottom_version_widget.dart +++ b/lib/features/splash/presentation/widgets/bottom_version_widget.dart @@ -32,6 +32,8 @@ class BottomVersionWidget extends StatelessWidget { TextWidget().text12W400( '${AppText.splashVersionText}${state.version}'), TextWidget().text12W400(AppText.splashCopyrightText), + //removethis + SizedBox() ], )); // If the state is AppVersionError, display an error message From 4c82e3a75bf9b44e188bd4c0cb5abe8b86ef6627 Mon Sep 17 00:00:00 2001 From: Rajshinde046 Date: Thu, 30 May 2024 12:38:14 +0530 Subject: [PATCH 3/4] bottom navigation --- .../bottom_bar/inactive/InactiveHome.png | Bin 0 -> 1964 bytes .../bottom_bar/inactive/Investinactive.png | Bin 0 -> 1229 bytes .../bottom_bar/inactive/SettingInactive.png | Bin 0 -> 2673 bytes .../bottom_bar/inactive/academyinactive.png | Bin 0 -> 2144 bytes .../bottom_bar/inactive/portfolioinactive.png | Bin 0 -> 1081 bytes lib/core/routes/route_name.dart | 3 + lib/core/routes/routes.dart | 8 + .../Home/presentation/pages/HomeScreen.dart | 22 ++ .../Home/presentation/pages/MainScreen.dart | 26 ++ .../presentation/widgets/bottom_section.dart | 1 + .../widgets/bottom_version_widget.dart | 2 - .../components/common_bottom_navigation.dart | 251 ++++++++++++++++++ pubspec.yaml | 2 + 13 files changed, 313 insertions(+), 2 deletions(-) create mode 100644 assets/images/bottom_bar/inactive/InactiveHome.png create mode 100644 assets/images/bottom_bar/inactive/Investinactive.png create mode 100644 assets/images/bottom_bar/inactive/SettingInactive.png create mode 100644 assets/images/bottom_bar/inactive/academyinactive.png create mode 100644 assets/images/bottom_bar/inactive/portfolioinactive.png create mode 100644 lib/features/Home/presentation/pages/HomeScreen.dart create mode 100644 lib/features/Home/presentation/pages/MainScreen.dart create mode 100644 lib/shared/components/common_bottom_navigation.dart diff --git a/assets/images/bottom_bar/inactive/InactiveHome.png b/assets/images/bottom_bar/inactive/InactiveHome.png new file mode 100644 index 0000000000000000000000000000000000000000..e132323f85b92085f96065618fe0aa5c0efff342 GIT binary patch literal 1964 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 literal 0 HcmV?d00001 diff --git a/assets/images/bottom_bar/inactive/SettingInactive.png b/assets/images/bottom_bar/inactive/SettingInactive.png new file mode 100644 index 0000000000000000000000000000000000000000..4599119bcce91b6da96c752ea4ce39370ff70e99 GIT binary patch literal 2673 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 literal 0 HcmV?d00001 diff --git a/lib/core/routes/route_name.dart b/lib/core/routes/route_name.dart index b7f6820..e1f07a5 100644 --- a/lib/core/routes/route_name.dart +++ b/lib/core/routes/route_name.dart @@ -17,4 +17,7 @@ class RouteName { //choose country static const String chooseCountryScreen = 'chooseCountryScreen'; + + // + static const String mainScreen = 'mainScreen'; } diff --git a/lib/core/routes/routes.dart b/lib/core/routes/routes.dart index f3e3ff6..f3dee37 100644 --- a/lib/core/routes/routes.dart +++ b/lib/core/routes/routes.dart @@ -2,6 +2,7 @@ import 'package:go_router/go_router.dart'; import 'package:tanami_app/core/routes/route_name.dart'; +import 'package:tanami_app/features/Home/presentation/pages/mainScreen.dart'; import 'package:tanami_app/features/countrySelection/presentation/pages/choose_country_screen.dart'; import 'package:tanami_app/features/welcome/presentation/pages/weclome_screen.dart'; @@ -51,6 +52,13 @@ final goRouter = GoRouter( return const ChooseCountryScreen(); }, ), + GoRoute( + name: RouteName.mainScreen, + path: RouteName.mainScreen, + builder: (context, state) { + return const MainScreen(); + }, + ), ]), // GoRoute( diff --git a/lib/features/Home/presentation/pages/HomeScreen.dart b/lib/features/Home/presentation/pages/HomeScreen.dart new file mode 100644 index 0000000..7a26c8c --- /dev/null +++ b/lib/features/Home/presentation/pages/HomeScreen.dart @@ -0,0 +1,22 @@ +import 'package:flutter/material.dart'; +import 'package:tanami_app/features/Home/presentation/pages/mainScreen.dart'; +import 'package:tanami_app/shared/components/common_bottom_navigation.dart'; + +class HomeScreen extends StatefulWidget { + const HomeScreen({super.key}); + + @override + State createState() => _HomeScreenState(); +} + +class _HomeScreenState extends State { + @override + Widget build(BuildContext context) { + return Scaffold( + body: Column( + children: [Text("data")], + ), + bottomNavigationBar: bottomnavigationbar(selectedIndex), + ); + } +} diff --git a/lib/features/Home/presentation/pages/MainScreen.dart b/lib/features/Home/presentation/pages/MainScreen.dart new file mode 100644 index 0000000..d147484 --- /dev/null +++ b/lib/features/Home/presentation/pages/MainScreen.dart @@ -0,0 +1,26 @@ +import 'package:flutter/material.dart'; +import 'package:tanami_app/features/Home/presentation/pages/HomeScreen.dart'; +import 'package:tanami_app/shared/components/common_bottom_navigation.dart'; + +var currentTab = [ + const HomeScreen(), + const SizedBox(), + const SizedBox(), + const SizedBox(), +]; + +var selectedIndex = 0; + +void updateTab(int index) { + selectedIndex = index; +} + +class MainScreen extends StatelessWidget { + const MainScreen({super.key}); + @override + Widget build(BuildContext context) { + return Scaffold( + body: currentTab[selectedIndex], + ); + } +} diff --git a/lib/features/login/presentation/widgets/bottom_section.dart b/lib/features/login/presentation/widgets/bottom_section.dart index 9cd4dc0..a821bb3 100644 --- a/lib/features/login/presentation/widgets/bottom_section.dart +++ b/lib/features/login/presentation/widgets/bottom_section.dart @@ -40,6 +40,7 @@ class BottomSection extends StatelessWidget { Loader.loader(context); } else if (state is LoginSuccess) { goRouter.pop(); + goRouter.goNamed('mainScreen'); successToastMessage(context, "login successful !"); } else if (state is LoginFailure) { goRouter.pop(); diff --git a/lib/features/splash/presentation/widgets/bottom_version_widget.dart b/lib/features/splash/presentation/widgets/bottom_version_widget.dart index b3d03f8..6c8c9bc 100644 --- a/lib/features/splash/presentation/widgets/bottom_version_widget.dart +++ b/lib/features/splash/presentation/widgets/bottom_version_widget.dart @@ -32,8 +32,6 @@ class BottomVersionWidget extends StatelessWidget { TextWidget().text12W400( '${AppText.splashVersionText}${state.version}'), TextWidget().text12W400(AppText.splashCopyrightText), - //removethis - SizedBox() ], )); // If the state is AppVersionError, display an error message diff --git a/lib/shared/components/common_bottom_navigation.dart b/lib/shared/components/common_bottom_navigation.dart new file mode 100644 index 0000000..aefd672 --- /dev/null +++ b/lib/shared/components/common_bottom_navigation.dart @@ -0,0 +1,251 @@ +import 'package:flutter/material.dart'; +import 'package:flutter_screenutil/flutter_screenutil.dart'; +import 'package:tanami_app/features/Home/presentation/pages/MainScreen.dart'; + +Container bottomnavigationbar(selectedIndex) { + return Container( + width: double.infinity, + height: 83.h, + color: Colors.white, + alignment: Alignment.center, + child: BottomNavigationBar( + // backgroundColor: , + type: BottomNavigationBarType.fixed, + backgroundColor: const Color(0xFFFFFFFF).withOpacity(0), + showUnselectedLabels: true, + selectedItemColor: Colors.white, + unselectedItemColor: const Color(0xFF676767), + unselectedLabelStyle: TextStyle( + fontSize: 10.sp, + color: const Color(0xFF676767), + fontWeight: FontWeight.w400, + fontFamily: 'hiragino'), + selectedLabelStyle: TextStyle( + fontSize: 10.sp, + color: const Color(0xFFFFFFFF), + fontWeight: FontWeight.w400, + fontFamily: 'hiragino'), + currentIndex: selectedIndex, + onTap: (index) { + updateTab(index); + }, + items: [ + BottomNavigationBarItem( + icon: Image.asset( + 'assets/images/bottom_bar/inactive/InactiveHome.png', + height: 26.h, + width: 26.w, + ), + // Icon( + // Icons.home, + // color: Color(0xFF676767), + // ), + activeIcon: Stack( + children: [ + if (selectedIndex == 0) + Container( + height: 40.h, + width: 40.w, + decoration: BoxDecoration( + shape: BoxShape.circle, + boxShadow: [ + BoxShadow( + color: Colors.grey.withOpacity(0.4), + spreadRadius: 15, + blurRadius: 10, + offset: const Offset(0, 10), + ), + ], + ), + ), + Positioned( + top: 0, + bottom: 0, + right: 0, + left: 0, + child: Center( + child: Image.asset( + 'assets/images/png/sidemenu/activehome.png', + height: 30.h, + width: 30.w, + ), + ), + ) + ], + ), + + // activeIcon: SvgPicture.asset('assets/image/svg/active_home.svg'), + label: 'Wallet', + ), + BottomNavigationBarItem( + icon: Image.asset( + 'assets/images/bottom_bar/inactive/portfolioinactive.png', + height: 26.h, + width: 26.w, + ), + activeIcon: Stack( + children: [ + if (selectedIndex == 1) + Container( + height: 40.h, + width: 40.w, + decoration: BoxDecoration( + shape: BoxShape.circle, + boxShadow: [ + BoxShadow( + color: Colors.grey.withOpacity(0.4), + spreadRadius: 15, + blurRadius: 10, + offset: const Offset(0, 10), + ), + ], + ), + ), + Positioned( + left: 0, + right: 0, + top: 0, + bottom: 0, + child: Center( + child: Image.asset( + 'assets/images/png/sidemenu/activetrade.png', + height: 30.h, + width: 30.w, + ), + )) + ], + ), + + // SvgPicture.asset('assets/image/svg/active_shortTrade.svg'), + label: 'Portfolio', + ), + BottomNavigationBarItem( + icon: Image.asset( + 'assets/images/bottom_bar/inactive/Investinactive.png', + height: 24.h, + width: 24.w, + ), + activeIcon: Stack( + children: [ + if (selectedIndex == 2) + Container( + height: 40.h, + width: 40.w, + decoration: BoxDecoration( + shape: BoxShape.circle, + boxShadow: [ + BoxShadow( + color: Colors.grey.withOpacity(0.4), + spreadRadius: 15, + blurRadius: 10, + offset: const Offset(0, 10), + ), + ], + ), + ), + Positioned( + left: 0, + right: 0, + top: 0, + bottom: 0, + child: Center( + child: Image.asset( + 'assets/images/png/pastPerformanceactive.png', + height: 28.h, + width: 28.w, + ), + )) + ], + ), + + // SvgPicture.asset('assets/image/svg/active_shortTrade.svg'), + label: 'Invest', + ), + BottomNavigationBarItem( + icon: Image.asset( + 'assets/images/bottom_bar/inactive/academyinactive.png', + height: 26.h, + width: 26.w, + ), + activeIcon: Stack( + children: [ + if (selectedIndex == 3) + Container( + height: 40.h, + width: 40.w, + decoration: BoxDecoration( + shape: BoxShape.circle, + boxShadow: [ + BoxShadow( + color: Colors.grey.withOpacity(0.4), + spreadRadius: 15, + blurRadius: 10, + offset: const Offset(0, 10), + ), + ], + ), + ), + Positioned( + left: 0, + right: 0, + top: 0, + bottom: 0, + child: Center( + child: Image.asset( + 'assets/images/png/sidemenu/activeprotfolio.png', + height: 30.h, + width: 30.w, + ), + )) + ], + ), + + // SvgPicture.asset('assets/image/svg/active_protfolio.svg'), + label: 'Academy', + ), + BottomNavigationBarItem( + icon: Image.asset( + 'assets/images/bottom_bar/inactive/SettingInactive.png', + height: 26.h, + width: 26.w, + ), + activeIcon: Stack( + children: [ + if (selectedIndex == 3) + Container( + height: 40.h, + width: 40.w, + decoration: BoxDecoration( + shape: BoxShape.circle, + boxShadow: [ + BoxShadow( + color: Colors.grey.withOpacity(0.4), + spreadRadius: 15, + blurRadius: 10, + offset: const Offset(0, 10), + ), + ], + ), + ), + Positioned( + left: 0, + right: 0, + top: 0, + bottom: 0, + child: Center( + child: Image.asset( + 'assets/images/png/sidemenu/activeprotfolio.png', + height: 30.h, + width: 30.w, + ), + )) + ], + ), + + // SvgPicture.asset('assets/image/svg/active_protfolio.svg'), + label: 'Settings', + ), + ], + ), + ); +} diff --git a/pubspec.yaml b/pubspec.yaml index 335c34f..c3a211b 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -94,3 +94,5 @@ flutter: - assets/images/country_flag/ - assets/images/country_flag/svg/ - assets/images/country_flag/png/ + - assets/images/bottom_bar/inactive + - assets/images/bottom_bar/active From 84bf57cccefb724ce758fca784c41b0496e2bf7b Mon Sep 17 00:00:00 2001 From: meet2711 Date: Thu, 30 May 2024 13:56:20 +0530 Subject: [PATCH 4/4] folder structure created --- assets/images/bottom_bar/active/academy.png | Bin 0 -> 2380 bytes assets/images/bottom_bar/active/invest.png | Bin 0 -> 1292 bytes assets/images/bottom_bar/active/portfolio.png | Bin 0 -> 1092 bytes assets/images/bottom_bar/active/settings.png | Bin 0 -> 3379 bytes assets/images/bottom_bar/active/wallet.png | Bin 0 -> 2299 bytes .../{academyinactive.png => academy.png} | Bin .../{Investinactive.png => invest.png} | Bin .../{portfolioinactive.png => portfolio.png} | Bin .../{SettingInactive.png => settings.png} | Bin .../inactive/{InactiveHome.png => wallet.png} | Bin lib/core/routes/routes.dart | 2 +- .../Home/presentation/pages/HomeScreen.dart | 22 -- .../Home/presentation/pages/MainScreen.dart | 26 -- .../presentation/pages/academyScreen.dart | 15 + .../presentation/pages/investScreen.dart | 15 + lib/features/MainScreens/MainScreen.dart | 32 ++ .../presentation/pages/portfolioScreen.dart | 15 + .../presentation/pages/settingsScreen.dart | 17 + .../presentation/pages/walletScreen.dart | 15 + .../components/common_bottom_navigation.dart | 336 +++++------------- pubspec.yaml | 5 +- 21 files changed, 203 insertions(+), 297 deletions(-) create mode 100644 assets/images/bottom_bar/active/academy.png create mode 100644 assets/images/bottom_bar/active/invest.png create mode 100644 assets/images/bottom_bar/active/portfolio.png create mode 100644 assets/images/bottom_bar/active/settings.png create mode 100644 assets/images/bottom_bar/active/wallet.png rename assets/images/bottom_bar/inactive/{academyinactive.png => academy.png} (100%) rename assets/images/bottom_bar/inactive/{Investinactive.png => invest.png} (100%) rename assets/images/bottom_bar/inactive/{portfolioinactive.png => portfolio.png} (100%) rename assets/images/bottom_bar/inactive/{SettingInactive.png => settings.png} (100%) rename assets/images/bottom_bar/inactive/{InactiveHome.png => wallet.png} (100%) delete mode 100644 lib/features/Home/presentation/pages/HomeScreen.dart delete mode 100644 lib/features/Home/presentation/pages/MainScreen.dart create mode 100644 lib/features/MainScreens/Academy/presentation/pages/academyScreen.dart create mode 100644 lib/features/MainScreens/Invest/presentation/pages/investScreen.dart create mode 100644 lib/features/MainScreens/MainScreen.dart create mode 100644 lib/features/MainScreens/Portfolio/presentation/pages/portfolioScreen.dart create mode 100644 lib/features/MainScreens/Settings/presentation/pages/settingsScreen.dart create mode 100644 lib/features/MainScreens/Wallet/presentation/pages/walletScreen.dart diff --git a/assets/images/bottom_bar/active/academy.png b/assets/images/bottom_bar/active/academy.png new file mode 100644 index 0000000000000000000000000000000000000000..f54020a57853990807f851c9eb2651b9777aca29 GIT binary patch literal 2380 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 teDm)&ig{1Ga60L!cw3?b9C80(ET0l=hWD(?UQ literal 0 HcmV?d00001 diff --git a/assets/images/bottom_bar/active/portfolio.png b/assets/images/bottom_bar/active/portfolio.png new file mode 100644 index 0000000000000000000000000000000000000000..00b3c3753ad8ef33ffca634026e3e243c4a169b0 GIT binary patch literal 1092 zcmeAS@N?(olHy`uVBq!ia0vp^i6G3u1|*NMonH*3I14-?iy0Vnyg`_8sqM6tKtaah zAa^H*b?0PW0y!+{j=qiz3>*8o|0J?9FfiZrba4!+V0?S~pr5d#1p9~lWm|+!FPz8o z@zUbsLWU3B9D6GcxgSt(nA}*vz}I#~*rxGLkGX}E>J;ftwqI=DROGyyZfttfvzga) zh4Iq4cPHha{9m3`w)<`Uk8N)^8OsX-t%QOdoL&)$OJjEIsNS`}(_iT2qRQ^1^X%MN z6Bf;yR2AL6bMCWCj&p^Mm_{eLYOL`WVV2xu%zt`{fNq9&>&>k@n4itjowShUiS}b| zueSGR54TTIC~ljwB%s*&^5V7KcONr*;Fc= zE8idf+j2tjw$(|ZidLuf*exrXPCZ*={qpOY$8+BPKWw{of4cEO!Az|SXER&0tjq3x zH+Y_7=KSO&Ptj3JkA>1vm)nGP-KweG;%|FuzwT6zla)eA=RQtxa@$g$uv}y5%{3EG z9DaKBnE7qH;-BH+UcRQ&vr0dOMCi}FKD~OK_lY-=73(*KWe1$vwA16$g;R6R@A`IB zHf2d--}zbBGvjAR&$(}!p2D?xXN9O^*2hcRVzc*(mQRqqn6UMN^tM{3Zlk3Jv%A9u z&qM}n%H?y~>d84t{L-(vx&IhkpF7Ukyfd!5#-i>^)6=M4p^{x+wr1Vd^AMTKUU=@= zgK!oPk*)&_I8Z~nV9DKWr75+0d^k_-uZ$^r^Qvg|jAAqE^GY4Na#v5vnlx!j=(pR4 zX6?Ge{%FqGbE`R`UaiXAy|Z$wL5^Ce2IIviJ(3sZ#KR@*`v^wI}<){D{wrO zp#LsGKmGW(nBQB&tfw5x(Yq)7_vfj_8Xh;d+DFN#GVT0X{L}lq{P}O+w=LPUQ{Ddk zE>&6Ib8~d%_AQ!{wz+fTtwU$FrWu*&b+>F+iDr+=cK{W;e>o-pce$yn&ho%>s1%Y{X)V!B)2 zmOF9lMrGtniZn9fLR&6WffZeJ>K2P~;(jZivGD8Zv}UneOBS?#%Lm#Zu;oG-(E2SG kmRW%;o|(c7&1?xT%s28xp1fO<(*hFlboFyt=akR{06l^EI{*Lx literal 0 HcmV?d00001 diff --git a/assets/images/bottom_bar/active/settings.png b/assets/images/bottom_bar/active/settings.png new file mode 100644 index 0000000000000000000000000000000000000000..569478fdc523160f31e72ec1b6897bd9e2809a7c GIT binary patch literal 3379 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 JPDHLkV1oV9S$hBg literal 0 HcmV?d00001 diff --git a/assets/images/bottom_bar/active/wallet.png b/assets/images/bottom_bar/active/wallet.png new file mode 100644 index 0000000000000000000000000000000000000000..dc6320e3fc6e00efdbbbe0d6d2fc13dc86b31b76 GIT binary patch literal 2299 zcmV@~0drDELIAGL9O(c600d`2O+f$vv5yPt?g_nAx~#X=e6^z3X2)A1SK3yR%N_yZdJ5y*JMQ27|$1 zFc=I5gTY`h7z_ggA!hQ6rM#VaGy{yCB%lHU6#+311bG-W5Sl>LAixFy)fs17yO;l} zLX5;Bfb8`B?CwR;;pfGFOEAs|Q3zn2IrvK)VniyyVaFqVHIh$wp9mouqQjP2^LKuM zh=@#pV=HHtCbi>VL<+(A)P>IFTMg)wz6HoHpDWmG{{~3go-mN(6=9Z^pbz>IAh&$B z3>LqZgr{B))g7Mxyw|s(X8~N31GE_IYH9$7bzr>iSXj;M(8K1HdJ{&B%umyAiQiMq z)Ub$zCDA!ELE80Wl6n##Xy+5r8fUcDxwO3nV@Q6nD5lU%Orb&ityu87wpS5C3*ed^ z#;=3-Z&P*1neAMzH()}@EuSj;2_Z#Dx1H%QZ+9pG+yU3Jx3xAOsmVDkJzl7-!UU3E zE*AEfbP7-dEs*uK+ge zm2~Gg@hgyUT9$Yt*6<&h8bn# zX=5cm0;tV}y|;f4LJ^bMQ6S#00t^d|O0!H3FX)>1y#WQ)(cB(1AOyr<4F&}c@Uvb( zgk&44<6<1pPDKN)gkL0VFs1!X?TVNVtU>HhCCY&LAV|T0Xf4!c#iC@c^9sHSG0;zx zO=fdE$vyf~#CVH{Zfra67l4V1fe9e#c2F##NME<3f^K|c(Wad;BkWGlV$W6k9|IL& zl*p}|xoD$sG7dSRAaMdnbF-J*xh}?}85zDBHi;9!&hBmsSMkW?F!eMG8dr{8JzW{K z1hT}u0n!~J9AkR_yol_918a^&>*BF&=v)V0WLHitBH&V(HpwwT4E1?TGL44wp`_6y zLIBqpsBuvc@b&h>cHlIUs7b~cpm7FDw|crwvoJ)GVuDJlgVJ8BR?mmKdb&7}u11lH zu43W^5b=Q$sVDqRmES0L^=#3GolW6cJ6xbyA~cm-IbDv!&ouES2pOqYx&-Qo9`PHR z)p5lyz}^cJF97Fi0c0Yrrb$6_Jl{%3A8Sa|LM#xdcNT_?g9KsX1z-%79ols}AH|_L z)nPG?EXA>@Wa0&|xueP6z@o~gw=UP#rnvLA>~OJiUIR`Q2YIPIUyCIPZQ^G^a&?=# zdRmpO0DD;`T@yz-wt2839!S<-GR6Q+I8?3!a^IgFs&g(80w8DFG;vDt8$q&|<026P zbQ86zs&g`p#bWmM%RijD2tyz--cT{H&f1ox+uxRF7GBG)oR(vP%yzCLhtTe5LM(=j zvL!|UIj{<^=-jgu$)j|Wy2KC8^kN&ZhY)9?7GiRWNsN|Ygh<><*i8}xvDm_R(qqDs zNLNH_zE+uXoN3Su%!4Gcz92a!2>0>@xyq%G>Gn~Q*u<=-bn94bNw-8NhbLvB4(33C z5JS735By6QYGIdn0iM!zv~6{Ndg34}B3#aqaYqjsZviwj1-Gt_Aria=AW{n8JfYXX zpg?W^(Jh0i#!~V47eG>56Q=MtiU0pkG z0W@x0x%V}W41sY*U($ik5NIVV%uPl80Z_2Bsl=KhcjlwncOajBhdaJ*jX(mVQ?fLTdP*veUmR9E zb(pvr)Xd%l-M#~YN{|g7fj7mvS;mYuJuWGa+b;E9aXUY|yQ$l6CZGQHeC_Q3w+ddi za&P0`hDVh^$;?Y1youtvDoil$=I(UoH?Pfpob&1ZjR%1uZlMad<~}|CCwK4*A%doI zE|jJ|dZS>y|JL38jekZWf78S; zIrxqQTV_*~yswnSLTYmmf}RQ^$Xz7jMcee-=I`d@Zpq4%5hT$v)soA5l{4H1V)PmHiB!hR!RrjRJlvAdCjv6HTSM<@oaBhh2$ zyG@}F!iq47NSohJ>Ut!#S+YNhSSSy-LwwwE3zj35`~7l?$cp0}ybV@>fojY_k~Kmr z={8@DV#iG6)rm4!r_Wo&mSEC^h`8eqZwoOY--ss``;57TzsEF!=5{((5uEj@Hr$M3 zkJv!!b19Ra5b_A4@%2|E%cxP; createState() => _HomeScreenState(); -} - -class _HomeScreenState extends State { - @override - Widget build(BuildContext context) { - return Scaffold( - body: Column( - children: [Text("data")], - ), - bottomNavigationBar: bottomnavigationbar(selectedIndex), - ); - } -} diff --git a/lib/features/Home/presentation/pages/MainScreen.dart b/lib/features/Home/presentation/pages/MainScreen.dart deleted file mode 100644 index d147484..0000000 --- a/lib/features/Home/presentation/pages/MainScreen.dart +++ /dev/null @@ -1,26 +0,0 @@ -import 'package:flutter/material.dart'; -import 'package:tanami_app/features/Home/presentation/pages/HomeScreen.dart'; -import 'package:tanami_app/shared/components/common_bottom_navigation.dart'; - -var currentTab = [ - const HomeScreen(), - const SizedBox(), - const SizedBox(), - const SizedBox(), -]; - -var selectedIndex = 0; - -void updateTab(int index) { - selectedIndex = index; -} - -class MainScreen extends StatelessWidget { - const MainScreen({super.key}); - @override - Widget build(BuildContext context) { - return Scaffold( - body: currentTab[selectedIndex], - ); - } -} diff --git a/lib/features/MainScreens/Academy/presentation/pages/academyScreen.dart b/lib/features/MainScreens/Academy/presentation/pages/academyScreen.dart new file mode 100644 index 0000000..2c81d9b --- /dev/null +++ b/lib/features/MainScreens/Academy/presentation/pages/academyScreen.dart @@ -0,0 +1,15 @@ +import 'package:flutter/material.dart'; + +class AcademyScreen extends StatefulWidget { + const AcademyScreen({super.key}); + + @override + State createState() => _AcademyScreenState(); +} + +class _AcademyScreenState extends State { + @override + Widget build(BuildContext context) { + return Scaffold(body: Text('Academy'),); + } +} \ No newline at end of file diff --git a/lib/features/MainScreens/Invest/presentation/pages/investScreen.dart b/lib/features/MainScreens/Invest/presentation/pages/investScreen.dart new file mode 100644 index 0000000..3d5570e --- /dev/null +++ b/lib/features/MainScreens/Invest/presentation/pages/investScreen.dart @@ -0,0 +1,15 @@ +import 'package:flutter/material.dart'; + +class InvestScreen extends StatefulWidget { + const InvestScreen({super.key}); + + @override + State createState() => _InvestScreenState(); +} + +class _InvestScreenState extends State { + @override + Widget build(BuildContext context) { + return Scaffold(body: Text('Invest'),); + } +} \ No newline at end of file diff --git a/lib/features/MainScreens/MainScreen.dart b/lib/features/MainScreens/MainScreen.dart new file mode 100644 index 0000000..a1d6e05 --- /dev/null +++ b/lib/features/MainScreens/MainScreen.dart @@ -0,0 +1,32 @@ +import 'package:flutter/material.dart'; +import 'package:tanami_app/features/MainScreens/Academy/presentation/pages/academyScreen.dart'; +import 'package:tanami_app/features/MainScreens/Invest/presentation/pages/investScreen.dart'; +import 'package:tanami_app/features/MainScreens/Portfolio/presentation/pages/portfolioScreen.dart'; +import 'package:tanami_app/features/MainScreens/Settings/presentation/pages/settingsScreen.dart'; +import 'package:tanami_app/features/MainScreens/Wallet/presentation/pages/walletScreen.dart'; +import 'package:tanami_app/shared/components/common_bottom_navigation.dart'; + +var currentTab = [ + const WalletScreen(), + const PortfolioScreen(), + const InvestScreen(), + const AcademyScreen(), + const SettingsScreen(), +]; + +var selectedIndex = 1; + +void updateTab(int index) { + selectedIndex = index; +} + +class MainScreen extends StatelessWidget { + const MainScreen({super.key}); + @override + Widget build(BuildContext context) { + return Scaffold( + body: currentTab[selectedIndex], + bottomNavigationBar: bottomnavigationbar(selectedIndex), + ); + } +} diff --git a/lib/features/MainScreens/Portfolio/presentation/pages/portfolioScreen.dart b/lib/features/MainScreens/Portfolio/presentation/pages/portfolioScreen.dart new file mode 100644 index 0000000..c46f5dc --- /dev/null +++ b/lib/features/MainScreens/Portfolio/presentation/pages/portfolioScreen.dart @@ -0,0 +1,15 @@ +import 'package:flutter/material.dart'; + +class PortfolioScreen extends StatefulWidget { + const PortfolioScreen({super.key}); + + @override + State createState() => _PortfolioScreenState(); +} + +class _PortfolioScreenState extends State { + @override + Widget build(BuildContext context) { + return Scaffold(body: Text('Portfolio'),); + } +} \ No newline at end of file diff --git a/lib/features/MainScreens/Settings/presentation/pages/settingsScreen.dart b/lib/features/MainScreens/Settings/presentation/pages/settingsScreen.dart new file mode 100644 index 0000000..ec3e19c --- /dev/null +++ b/lib/features/MainScreens/Settings/presentation/pages/settingsScreen.dart @@ -0,0 +1,17 @@ +import 'package:flutter/material.dart'; + +class SettingsScreen extends StatefulWidget { + const SettingsScreen({super.key}); + + @override + State createState() => _SettingsScreenState(); +} + +class _SettingsScreenState extends State { + @override + Widget build(BuildContext context) { + return Scaffold( + body: Text('Settings'), + ); + } +} 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..dec5122 --- /dev/null +++ b/lib/features/MainScreens/Wallet/presentation/pages/walletScreen.dart @@ -0,0 +1,15 @@ +import 'package:flutter/material.dart'; + +class WalletScreen extends StatefulWidget { + const WalletScreen({super.key}); + + @override + State createState() => _WalletScreenState(); +} + +class _WalletScreenState extends State { + @override + Widget build(BuildContext context) { + return Scaffold(body: Text('Wallet'),); + } +} \ No newline at end of file diff --git a/lib/shared/components/common_bottom_navigation.dart b/lib/shared/components/common_bottom_navigation.dart index aefd672..2e6d7f0 100644 --- a/lib/shared/components/common_bottom_navigation.dart +++ b/lib/shared/components/common_bottom_navigation.dart @@ -1,251 +1,97 @@ import 'package:flutter/material.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart'; -import 'package:tanami_app/features/Home/presentation/pages/MainScreen.dart'; +import 'package:tanami_app/features/MainScreens/MainScreen.dart'; -Container bottomnavigationbar(selectedIndex) { - return Container( - width: double.infinity, - height: 83.h, - color: Colors.white, - alignment: Alignment.center, - child: BottomNavigationBar( - // backgroundColor: , - type: BottomNavigationBarType.fixed, - backgroundColor: const Color(0xFFFFFFFF).withOpacity(0), - showUnselectedLabels: true, - selectedItemColor: Colors.white, - unselectedItemColor: const Color(0xFF676767), - unselectedLabelStyle: TextStyle( - fontSize: 10.sp, - color: const Color(0xFF676767), - fontWeight: FontWeight.w400, - fontFamily: 'hiragino'), - selectedLabelStyle: TextStyle( - fontSize: 10.sp, - color: const Color(0xFFFFFFFF), - fontWeight: FontWeight.w400, - fontFamily: 'hiragino'), - currentIndex: selectedIndex, - onTap: (index) { - updateTab(index); - }, - items: [ - BottomNavigationBarItem( - icon: Image.asset( - 'assets/images/bottom_bar/inactive/InactiveHome.png', - height: 26.h, - width: 26.w, - ), - // Icon( - // Icons.home, - // color: Color(0xFF676767), - // ), - activeIcon: Stack( - children: [ - if (selectedIndex == 0) - Container( - height: 40.h, - width: 40.w, - decoration: BoxDecoration( - shape: BoxShape.circle, - boxShadow: [ - BoxShadow( - color: Colors.grey.withOpacity(0.4), - spreadRadius: 15, - blurRadius: 10, - offset: const Offset(0, 10), - ), - ], - ), - ), - Positioned( - top: 0, - bottom: 0, - right: 0, - left: 0, - child: Center( - child: Image.asset( - 'assets/images/png/sidemenu/activehome.png', - height: 30.h, - width: 30.w, - ), - ), - ) - ], - ), - - // activeIcon: SvgPicture.asset('assets/image/svg/active_home.svg'), - label: 'Wallet', - ), - BottomNavigationBarItem( - icon: Image.asset( - 'assets/images/bottom_bar/inactive/portfolioinactive.png', - height: 26.h, - width: 26.w, - ), - activeIcon: Stack( - children: [ - if (selectedIndex == 1) - Container( - height: 40.h, - width: 40.w, - decoration: BoxDecoration( - shape: BoxShape.circle, - boxShadow: [ - BoxShadow( - color: Colors.grey.withOpacity(0.4), - spreadRadius: 15, - blurRadius: 10, - offset: const Offset(0, 10), - ), - ], - ), - ), - Positioned( - left: 0, - right: 0, - top: 0, - bottom: 0, - child: Center( - child: Image.asset( - 'assets/images/png/sidemenu/activetrade.png', - height: 30.h, - width: 30.w, - ), - )) - ], - ), - - // SvgPicture.asset('assets/image/svg/active_shortTrade.svg'), - label: 'Portfolio', - ), - BottomNavigationBarItem( - icon: Image.asset( - 'assets/images/bottom_bar/inactive/Investinactive.png', - height: 24.h, - width: 24.w, - ), - activeIcon: Stack( - children: [ - if (selectedIndex == 2) - Container( - height: 40.h, - width: 40.w, - decoration: BoxDecoration( - shape: BoxShape.circle, - boxShadow: [ - BoxShadow( - color: Colors.grey.withOpacity(0.4), - spreadRadius: 15, - blurRadius: 10, - offset: const Offset(0, 10), - ), - ], - ), - ), - Positioned( - left: 0, - right: 0, - top: 0, - bottom: 0, - child: Center( - child: Image.asset( - 'assets/images/png/pastPerformanceactive.png', - height: 28.h, - width: 28.w, - ), - )) - ], - ), - - // SvgPicture.asset('assets/image/svg/active_shortTrade.svg'), - label: 'Invest', - ), - BottomNavigationBarItem( - icon: Image.asset( - 'assets/images/bottom_bar/inactive/academyinactive.png', - height: 26.h, - width: 26.w, - ), - activeIcon: Stack( - children: [ - if (selectedIndex == 3) - Container( - height: 40.h, - width: 40.w, - decoration: BoxDecoration( - shape: BoxShape.circle, - boxShadow: [ - BoxShadow( - color: Colors.grey.withOpacity(0.4), - spreadRadius: 15, - blurRadius: 10, - offset: const Offset(0, 10), - ), - ], - ), - ), - Positioned( - left: 0, - right: 0, - top: 0, - bottom: 0, - child: Center( - child: Image.asset( - 'assets/images/png/sidemenu/activeprotfolio.png', - height: 30.h, - width: 30.w, - ), - )) - ], - ), - - // SvgPicture.asset('assets/image/svg/active_protfolio.svg'), - label: 'Academy', - ), - BottomNavigationBarItem( - icon: Image.asset( - 'assets/images/bottom_bar/inactive/SettingInactive.png', - height: 26.h, - width: 26.w, - ), - activeIcon: Stack( - children: [ - if (selectedIndex == 3) - Container( - height: 40.h, - width: 40.w, - decoration: BoxDecoration( - shape: BoxShape.circle, - boxShadow: [ - BoxShadow( - color: Colors.grey.withOpacity(0.4), - spreadRadius: 15, - blurRadius: 10, - offset: const Offset(0, 10), - ), - ], - ), - ), - Positioned( - left: 0, - right: 0, - top: 0, - bottom: 0, - child: Center( - child: Image.asset( - 'assets/images/png/sidemenu/activeprotfolio.png', - height: 30.h, - width: 30.w, - ), - )) - ], - ), - - // SvgPicture.asset('assets/image/svg/active_protfolio.svg'), - label: 'Settings', - ), - ], +Widget bottomnavigationbar(selectedIndex) { + return BottomNavigationBar( + type: BottomNavigationBarType.fixed, + showUnselectedLabels: true, + selectedItemColor: Color(0xFF0B8933), + unselectedItemColor: const Color(0xFF676767), + unselectedLabelStyle: TextStyle( + fontSize: 10.sp, + color: const Color(0xFF676767), + fontWeight: FontWeight.w400, + fontFamily: 'hiragino', ), + selectedLabelStyle: TextStyle( + fontSize: 10.sp, + color: const Color(0xFF0B8933), + fontWeight: FontWeight.w400, + fontFamily: 'hiragino', + ), + currentIndex: selectedIndex, + onTap: (index) { + updateTab(index); + }, + items: [ + BottomNavigationBarItem( + icon: Image.asset( + 'assets/images/bottom_bar/inactive/wallet.png', + height: 26.h, + width: 26.w, + ), + activeIcon: Image.asset( + 'assets/images/bottom_bar/active/wallet.png', + height: 30.h, + width: 30.w, + ), + label: 'Wallet', + ), + BottomNavigationBarItem( + icon: Image.asset( + 'assets/images/bottom_bar/inactive/portfolio.png', + height: 26.h, + width: 26.w, + ), + activeIcon: Image.asset( + 'assets/images/bottom_bar/active/portfolio.png', + height: 30.h, + width: 30.w, + ), + label: 'Portfolio', + ), + BottomNavigationBarItem( + icon: Image.asset( + 'assets/images/bottom_bar/inactive/invest.png', + height: 24.h, + width: 24.w, + ), + activeIcon: Image.asset( + 'assets/images/bottom_bar/active/invest.png', + height: 28.h, + width: 28.w, + ), + + // SvgPicture.asset('assets/image/svg/active_shortTrade.svg'), + label: 'Invest', + ), + BottomNavigationBarItem( + icon: Image.asset( + 'assets/images/bottom_bar/inactive/academy.png', + height: 26.h, + width: 26.w, + ), + activeIcon: Image.asset( + 'assets/images/bottom_bar/active/academy.png', + height: 30.h, + width: 30.w, + ), + label: 'Academy', + ), + BottomNavigationBarItem( + icon: Image.asset( + 'assets/images/bottom_bar/inactive/settings.png', + height: 26.h, + width: 26.w, + ), + activeIcon: Image.asset( + 'assets/images/bottom_bar/active/settings.png', + height: 30.h, + width: 30.w, + ), + label: 'Settings', + ), + ], ); } diff --git a/pubspec.yaml b/pubspec.yaml index c3a211b..699f049 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -90,9 +90,8 @@ flutter: - assets/images/welcome_screen/png/ - assets/images/auth_screen/ - assets/images/auth_screen/svg/ - - assets/images/auth_screen/png/ - assets/images/country_flag/ - assets/images/country_flag/svg/ - assets/images/country_flag/png/ - - assets/images/bottom_bar/inactive - - assets/images/bottom_bar/active + - assets/images/bottom_bar/active/ + - assets/images/bottom_bar/inactive/