diff --git a/IA/categoryByData.py b/IA/categoryByData.py index 9983408..ce4e39f 100644 --- a/IA/categoryByData.py +++ b/IA/categoryByData.py @@ -5,7 +5,7 @@ from sklearn.model_selection import train_test_split from sklearn.linear_model import LinearRegression # Load data from CSV -df = pd.read_csv("data\\data_emple.csv") +df = pd.read_csv("data//data_emple.csv") category = df.iloc[0:len(df),0].values diff --git a/IA/distanceByTime.py b/IA/distanceByTime.py index 7bd2410..47e420a 100644 --- a/IA/distanceByTime.py +++ b/IA/distanceByTime.py @@ -3,7 +3,7 @@ import numpy as np import matplotlib.pyplot as plt from sklearn.linear_model import LinearRegression from sklearn.model_selection import train_test_split -df = pd.read_csv("data\\data_emple.csv") +df = pd.read_csv("data//data_emple.csv") distance = df.iloc[0:len(df),1].values.reshape(-1, 1) time = df.iloc[0:len(df),2].values.reshape(-1, 1) diff --git a/assets/img/prediction.svg b/assets/img/prediction.svg new file mode 100644 index 0000000..0b78190 --- /dev/null +++ b/assets/img/prediction.svg @@ -0,0 +1,3 @@ + + + diff --git a/assets/img/prediction_selected.svg b/assets/img/prediction_selected.svg new file mode 100644 index 0000000..e8b8e77 --- /dev/null +++ b/assets/img/prediction_selected.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/assets/img/volumes.svg b/assets/img/volumes.svg new file mode 100644 index 0000000..031522a --- /dev/null +++ b/assets/img/volumes.svg @@ -0,0 +1,3 @@ + + + diff --git a/assets/img/volumes_selected.svg b/assets/img/volumes_selected.svg new file mode 100644 index 0000000..452dd85 --- /dev/null +++ b/assets/img/volumes_selected.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/lib/common_widget/button/tab_button.dart b/lib/common_widget/button/tab_button.dart index de8939d..b1b45e6 100644 --- a/lib/common_widget/button/tab_button.dart +++ b/lib/common_widget/button/tab_button.dart @@ -20,19 +20,19 @@ class TabButton extends StatelessWidget { onTap: onTap, child: Column(mainAxisSize: MainAxisSize.min, children: [ SvgPicture.asset(isActive ? selectIcon : icon, - width: 28, height: 28, fit: BoxFit.fitWidth), + width: 15, height: 25, fit: BoxFit.fitWidth), SizedBox( - height: isActive ? 12: 8, + height: isActive ? 10: 6, ), if(isActive) Container( - width: 4, - height: 4, + width: 3, + height: 3, decoration: BoxDecoration( gradient: LinearGradient( colors: TColor.secondaryG, ), - borderRadius: BorderRadius.circular(2)), + borderRadius: BorderRadius.circular(1.5)), ) ]), ); diff --git a/lib/view/home/web/web_homeview.dart b/lib/view/home/web/web_homeview.dart index 2498fd0..a44b92d 100644 --- a/lib/view/home/web/web_homeview.dart +++ b/lib/view/home/web/web_homeview.dart @@ -63,11 +63,10 @@ class _WebHomeView extends State { return Scaffold( backgroundColor: TColor.white, body: SingleChildScrollView( - child: SafeArea( - child: Padding( - padding: const EdgeInsets.symmetric(horizontal: 50), + child: Padding( + padding: const EdgeInsets.symmetric(horizontal: 30), child: Column( - crossAxisAlignment: CrossAxisAlignment.start, + mainAxisAlignment: MainAxisAlignment.center, children: [ SizedBox( height: media.width * 0.03, @@ -76,9 +75,9 @@ class _WebHomeView extends State { SizedBox( height: media.width * 0.03, ), - Row(crossAxisAlignment: CrossAxisAlignment.start, children: [ + Column(mainAxisAlignment: MainAxisAlignment.center, children: [ Column( - crossAxisAlignment: CrossAxisAlignment.start, + mainAxisAlignment: MainAxisAlignment.center, children: [ Text( "Status d'activité", @@ -90,7 +89,8 @@ class _WebHomeView extends State { SizedBox( height: media.width * 0.02, ), - Row(children: [ + Row(mainAxisAlignment: MainAxisAlignment.center, + children: [ BpmByTime(media, data), SizedBox( width: media.width * 0.01, @@ -111,7 +111,7 @@ class _WebHomeView extends State { height: media.width * 0.05, ), Column( - crossAxisAlignment: CrossAxisAlignment.start, + mainAxisAlignment: MainAxisAlignment.center, children: [ Text( "Rythme cardique et vitesse", @@ -124,7 +124,7 @@ class _WebHomeView extends State { height: media.width * 0.03, ), Row( - crossAxisAlignment: CrossAxisAlignment.start, + mainAxisAlignment: MainAxisAlignment.center, children: [ GraphBpmAndSpeedByTime(media, data), SizedBox( @@ -156,7 +156,7 @@ class _WebHomeView extends State { fontSize: 16, fontWeight: FontWeight.w700), ), - Row(crossAxisAlignment: CrossAxisAlignment.start, children: [ + Row(mainAxisAlignment: MainAxisAlignment.center, children: [ GraphAltitudeByTime(media, data), LigneContainerStats( "${minAltitude.toInt()} m", @@ -172,8 +172,8 @@ class _WebHomeView extends State { ], ), ), - ), ), + ); } } diff --git a/lib/view/main_tab/mobile/mobile_main_tab_view.dart b/lib/view/main_tab/mobile/mobile_main_tab_view.dart index e8ebcef..7b42663 100644 --- a/lib/view/main_tab/mobile/mobile_main_tab_view.dart +++ b/lib/view/main_tab/mobile/mobile_main_tab_view.dart @@ -30,7 +30,7 @@ class _MobileMainTabViewState extends State { height: 70, child: InkWell( onTap: () { - selectTab = 4; + selectTab = 10; currentTab = const ListActivity(); if (mounted) { setState(() {}); @@ -90,8 +90,8 @@ class _MobileMainTabViewState extends State { } }), TabButton( - icon: "assets/img/Activity_tab.svg", - selectIcon: "assets/img/Activity_tab_select.svg", + icon: "assets/img/volumes.svg", + selectIcon: "assets/img/volumes_selected.svg", isActive: selectTab == 2, onTap: () { selectTab = 2; @@ -104,8 +104,8 @@ class _MobileMainTabViewState extends State { width: 40, ), TabButton( - icon: "assets/img/mapIcon.svg", - selectIcon: "assets/img/mapIcon_selected.svg", + icon: "assets/img/prediction.svg", + selectIcon: "assets/img/prediction_selected.svg", isActive: selectTab == 3, onTap: () { selectTab = 3; @@ -115,11 +115,22 @@ class _MobileMainTabViewState extends State { } }), TabButton( - icon: "assets/img/Profile_tab.svg", - selectIcon: "assets/img/Profile_tab_select.svg", + icon: "assets/img/mapIcon.svg", + selectIcon: "assets/img/mapIcon_selected.svg", isActive: selectTab == 4, onTap: () { selectTab = 4; + currentTab = const MyMap(); + if (mounted) { + setState(() {}); + } + }), + TabButton( + icon: "assets/img/Profile_tab.svg", + selectIcon: "assets/img/Profile_tab_select.svg", + isActive: selectTab == 5, + onTap: () { + selectTab = 5; currentTab = const ProfileView(); if (mounted) { setState(() {}); diff --git a/lib/view/main_tab/web/web_main_tab_view.dart b/lib/view/main_tab/web/web_main_tab_view.dart index 759558e..8db932e 100644 --- a/lib/view/main_tab/web/web_main_tab_view.dart +++ b/lib/view/main_tab/web/web_main_tab_view.dart @@ -6,6 +6,7 @@ import 'package:smartfit_app_mobile/view/activity/activity.dart'; import 'package:smartfit_app_mobile/view/home/home_view.dart'; import 'package:smartfit_app_mobile/view/map/my_map.dart'; import 'package:smartfit_app_mobile/view/profile/profile_view.dart'; +import 'package:smartfit_app_mobile/view/volumes/volumes_view.dart'; class WebMainTabView extends StatefulWidget { const WebMainTabView({Key? key}) : super(key: key); @@ -15,7 +16,7 @@ class WebMainTabView extends StatefulWidget { } class _WebMainTabViewState extends State { - int selectTab = 4; // Définissez l'onglet initial ici + int selectTab = 10; // Définissez l'onglet initial ici late Widget currentTab; @override @@ -49,9 +50,15 @@ class _WebMainTabViewState extends State { index: 1, onTap: () => updateTab(1, const Activity()), ), + sideBarButton( + icon: "assets/img/volumes.svg", + selectIcon: "assets/img/volumes_selected.svg", + index: 2, + onTap: () => updateTab(2, const VolumesView()), + ), InkWell( onTap: () { - updateTab(4, const ListActivity()); + updateTab(10, const ListActivity()); }, child: Container( width: 65, @@ -75,17 +82,23 @@ class _WebMainTabViewState extends State { ), ), ), + sideBarButton( + icon: "assets/img/prediction.svg", + selectIcon: "assets/img/prediction_selected.svg", + index: 3, + onTap: () => updateTab(3, const MyMap()), + ), sideBarButton( icon: "assets/img/mapIcon.svg", selectIcon: "assets/img/mapIcon_selected.svg", - index: 2, - onTap: () => updateTab(2, const MyMap()), + index: 4, + onTap: () => updateTab(4, const MyMap()), ), sideBarButton( icon: "assets/img/Profile_tab.svg", selectIcon: "assets/img/Profile_tab_select.svg", - index: 3, - onTap: () => updateTab(3, const ProfileView()), + index: 5, + onTap: () => updateTab(5, const ProfileView()), ), ], ),