From 404c5f344a1f59f5719c3fde4608aec7b6e56523 Mon Sep 17 00:00:00 2001 From: Enzo Date: Wed, 20 Dec 2023 14:51:15 +0100 Subject: [PATCH 1/4] coorectif web import --- lib/modele/utile/list_activity/list_activity_utile.dart | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/modele/utile/list_activity/list_activity_utile.dart b/lib/modele/utile/list_activity/list_activity_utile.dart index 7c525aa..5c6a40d 100644 --- a/lib/modele/utile/list_activity/list_activity_utile.dart +++ b/lib/modele/utile/list_activity/list_activity_utile.dart @@ -90,8 +90,9 @@ class ListActivityUtile { String csvString = const ListToCsvConverter().convert(resultData.item2); Uint8List byteCSV = Uint8List.fromList(utf8.encode(csvString)); + /* -- Ne pas décomenter sinon web ne marche plus (Utilisé pour déboguer) File x = await File("${await _managerFile.localPath}\\what") - .writeAsString(csvString); + .writeAsString(csvString);*/ Tuple2 result = await api.uploadFileByte( token, From dcd2198e794eb2388031e989bd1c0b49eef1efeb Mon Sep 17 00:00:00 2001 From: Enzo Date: Wed, 20 Dec 2023 15:13:16 +0100 Subject: [PATCH 2/4] correction affichage predict --- lib/view/home/prediction_view.dart | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/lib/view/home/prediction_view.dart b/lib/view/home/prediction_view.dart index 4a4da7f..9a408d7 100644 --- a/lib/view/home/prediction_view.dart +++ b/lib/view/home/prediction_view.dart @@ -61,11 +61,13 @@ class _PredictionState extends State { if (!resultat.item1) return; setState(() { lastWorkoutArr[0]["value"] = - resultat.item2.timeOfActivity.toStringAsFixed(2); - lastWorkoutArr[1]["value"] = resultat.item2.bpmAvg.toStringAsFixed(2); + "${resultat.item2.timeOfActivity.toStringAsFixed(2)} s"; + lastWorkoutArr[1]["value"] = + "${resultat.item2.bpmAvg.toStringAsFixed(2)} bpm"; lastWorkoutArr[2]["value"] = - resultat.item2.vitesseAvg.toStringAsFixed(2); - lastWorkoutArr[3]["value"] = resultat.item2.distance.toStringAsFixed(2); + "${resultat.item2.vitesseAvg.toStringAsFixed(2)} m/s "; + lastWorkoutArr[3]["value"] = + "${resultat.item2.distance.toStringAsFixed(2)} m"; }); } From 147c53e1aef37e5053d85d7c863f5de9b367afe4 Mon Sep 17 00:00:00 2001 From: otbenjello Date: Thu, 21 Dec 2023 16:17:59 +0100 Subject: [PATCH 3/4] regle affichage --- .../mobile/mobile_bpm_and_speed_by_time.dart | 73 +------------------ .../graph/web/web_bpm_and_speed_by_time.dart | 70 +----------------- 2 files changed, 4 insertions(+), 139 deletions(-) diff --git a/lib/common_widget/graph/mobile/mobile_bpm_and_speed_by_time.dart b/lib/common_widget/graph/mobile/mobile_bpm_and_speed_by_time.dart index 60516e5..0181a86 100644 --- a/lib/common_widget/graph/mobile/mobile_bpm_and_speed_by_time.dart +++ b/lib/common_widget/graph/mobile/mobile_bpm_and_speed_by_time.dart @@ -36,75 +36,8 @@ class _MobileGraphBpmAndSpeedByTime width: double.maxFinite, child: LineChart( LineChartData( - showingTooltipIndicators: - widget.func.showingTooltipOnSpots.map((index) { - return ShowingTooltipIndicators([ - LineBarSpot( - widget.func.tooltipsOnBar, - widget.func.lineBarsData.indexOf(widget.func.tooltipsOnBar), - widget.func.tooltipsOnBar.spots[index], - ), - ]); - }).toList(), - lineTouchData: LineTouchData( - enabled: true, - handleBuiltInTouches: false, - touchCallback: (FlTouchEvent event, LineTouchResponse? response) { - if (response == null || response.lineBarSpots == null) { - return; - } - if (event is FlTapUpEvent) { - final spotIndex = response.lineBarSpots!.first.spotIndex; - widget.func.showingTooltipOnSpots.clear(); - setState(() { - widget.func.showingTooltipOnSpots.add(spotIndex); - }); - } - }, - mouseCursorResolver: - (FlTouchEvent event, LineTouchResponse? response) { - if (response == null || response.lineBarSpots == null) { - return SystemMouseCursors.basic; - } - return SystemMouseCursors.click; - }, - getTouchedSpotIndicator: - (LineChartBarData barData, List spotIndexes) { - return spotIndexes.map((index) { - return TouchedSpotIndicatorData( - const FlLine( - color: Colors.transparent, - ), - FlDotData( - show: true, - getDotPainter: (spot, percent, barData, index) => - FlDotCirclePainter( - radius: 3, - color: Colors.white, - strokeWidth: 3, - strokeColor: TColor.secondaryColor1, - ), - ), - ); - }).toList(); - }, - touchTooltipData: LineTouchTooltipData( - tooltipBgColor: TColor.secondaryColor1, - tooltipRoundedRadius: 20, - getTooltipItems: (List lineBarsSpot) { - return lineBarsSpot.map((lineBarSpot) { - return LineTooltipItem( - "Seconde ${lineBarSpot.x.toInt() / 10} ", - const TextStyle( - color: Colors.white, - fontSize: 10, - fontWeight: FontWeight.bold, - ), - ); - }).toList(); - }, - ), - ), + + lineBarsData: widget.func.lineBarsData1, minY: 0, maxY: 110, @@ -113,7 +46,7 @@ class _MobileGraphBpmAndSpeedByTime leftTitles: AxisTitles( sideTitles: widget.func.leftTitles, ), - topTitles: const AxisTitles(), + topTitles: const AxisTitles(), bottomTitles: AxisTitles( sideTitles: widget.func.bottomTitles, ), diff --git a/lib/common_widget/graph/web/web_bpm_and_speed_by_time.dart b/lib/common_widget/graph/web/web_bpm_and_speed_by_time.dart index ec8ad66..00d0ada 100644 --- a/lib/common_widget/graph/web/web_bpm_and_speed_by_time.dart +++ b/lib/common_widget/graph/web/web_bpm_and_speed_by_time.dart @@ -33,75 +33,7 @@ class _WebGraphBpmAndSpeedByTime extends State { width: widget.media.width * 0.35, child: LineChart( LineChartData( - showingTooltipIndicators: - widget.func.showingTooltipOnSpots.map((index) { - return ShowingTooltipIndicators([ - LineBarSpot( - widget.func.tooltipsOnBar, - widget.func.lineBarsData.indexOf(widget.func.tooltipsOnBar), - widget.func.tooltipsOnBar.spots[index], - ), - ]); - }).toList(), - lineTouchData: LineTouchData( - enabled: true, - handleBuiltInTouches: false, - touchCallback: (FlTouchEvent event, LineTouchResponse? response) { - if (response == null || response.lineBarSpots == null) { - return; - } - if (event is FlTapUpEvent) { - final spotIndex = response.lineBarSpots!.first.spotIndex; - widget.func.showingTooltipOnSpots.clear(); - setState(() { - widget.func.showingTooltipOnSpots.add(spotIndex); - }); - } - }, - mouseCursorResolver: - (FlTouchEvent event, LineTouchResponse? response) { - if (response == null || response.lineBarSpots == null) { - return SystemMouseCursors.basic; - } - return SystemMouseCursors.click; - }, - getTouchedSpotIndicator: - (LineChartBarData barData, List spotIndexes) { - return spotIndexes.map((index) { - return TouchedSpotIndicatorData( - const FlLine( - color: Colors.transparent, - ), - FlDotData( - show: true, - getDotPainter: (spot, percent, barData, index) => - FlDotCirclePainter( - radius: 3, - color: Colors.white, - strokeWidth: 3, - strokeColor: TColor.secondaryColor1, - ), - ), - ); - }).toList(); - }, - touchTooltipData: LineTouchTooltipData( - tooltipBgColor: TColor.secondaryColor1, - tooltipRoundedRadius: 20, - getTooltipItems: (List lineBarsSpot) { - return lineBarsSpot.map((lineBarSpot) { - return LineTooltipItem( - "Seconde ${lineBarSpot.x.toInt() / 10} ", - const TextStyle( - color: Colors.white, - fontSize: 10, - fontWeight: FontWeight.bold, - ), - ); - }).toList(); - }, - ), - ), + lineBarsData: widget.func.lineBarsData1, minY: -10, maxY: 110, From 866a0a7381e8cdf5b1e0b4102320402c3e6816ae Mon Sep 17 00:00:00 2001 From: Enzo Date: Thu, 21 Dec 2023 16:55:06 +0100 Subject: [PATCH 4/4] change convertisseur --- .../container/list/volumes_list.dart | 2 +- .../container/workout_row/workout_row.dart | 25 ++++++++++--------- .../workout_row/workout_row_walking.dart | 2 +- lib/common_widget/stats.dart | 12 +++++---- lib/modele/convertisseur.dart | 4 +++ lib/view/home/prediction_view.dart | 4 +-- lib/view/home/stats_activities_view.dart | 25 +++++++++++++------ 7 files changed, 46 insertions(+), 28 deletions(-) diff --git a/lib/common_widget/container/list/volumes_list.dart b/lib/common_widget/container/list/volumes_list.dart index b228b9a..404943c 100644 --- a/lib/common_widget/container/list/volumes_list.dart +++ b/lib/common_widget/container/list/volumes_list.dart @@ -26,7 +26,7 @@ class VolumesList extends StatelessWidget { width: media.width * 0.03, ), ContainerStatsActivities( - "${Convertisseur.secondeIntoMinute(volume["durationActiviy"]).toStringAsFixed(2)} m", + "${Convertisseur.secondeIntoMinute(volume["durationActiviy"]).toStringAsFixed(0)} min", "Temps Total", Icons.timer), SizedBox( diff --git a/lib/common_widget/container/workout_row/workout_row.dart b/lib/common_widget/container/workout_row/workout_row.dart index 491809d..0a1be0f 100644 --- a/lib/common_widget/container/workout_row/workout_row.dart +++ b/lib/common_widget/container/workout_row/workout_row.dart @@ -27,32 +27,33 @@ class WorkoutRow extends StatelessWidget { fit: BoxFit.cover, ), ), - - const SizedBox(width: 15,), + const SizedBox( + width: 15, + ), Expanded( child: Column( - crossAxisAlignment: CrossAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.start, children: [ - Text( + Text( wObj["name"].toString(), style: TextStyle( color: TColor.black, fontSize: 15, fontWeight: FontWeight.bold), ), - Text( - "${ wObj["value"].toString()}", + wObj["value"].toString(), style: TextStyle( - color: TColor.gray, - fontSize: 12,), + color: TColor.gray, + fontSize: 12, + ), + ), + const SizedBox( + height: 4, ), - - const SizedBox(height: 4,), ], )), - ], )); } -} \ No newline at end of file +} diff --git a/lib/common_widget/container/workout_row/workout_row_walking.dart b/lib/common_widget/container/workout_row/workout_row_walking.dart index 1f6b5fd..46b8cf3 100644 --- a/lib/common_widget/container/workout_row/workout_row_walking.dart +++ b/lib/common_widget/container/workout_row/workout_row_walking.dart @@ -75,7 +75,7 @@ class WorkoutRowWalking extends StatelessWidget { ), ), Text( - "Temps : ${Convertisseur.secondeIntoMinute(wObj["time"]).toStringAsFixed(2)} m", + "Temps : ${Convertisseur.secondeIntoMinute(wObj["time"]).toStringAsFixed(0)} minute", style: TextStyle( color: TColor.black, fontSize: 12, diff --git a/lib/common_widget/stats.dart b/lib/common_widget/stats.dart index affbc98..362621b 100644 --- a/lib/common_widget/stats.dart +++ b/lib/common_widget/stats.dart @@ -1,5 +1,6 @@ import 'package:flutter/material.dart'; import 'package:provider/provider.dart'; +import 'package:smartfit_app_mobile/modele/convertisseur.dart'; import 'package:smartfit_app_mobile/modele/user.dart'; import 'package:smartfit_app_mobile/common/colo_extension.dart'; @@ -19,10 +20,11 @@ class Stats extends StatelessWidget { .activityInfo .bpmAvg .toString(); - String time = Provider.of(context, listen: false) - .managerSelectedActivity - .getTimeAllActivitySelected() - .toString(); + String time = Convertisseur.secondeIntoMinute( + Provider.of(context, listen: false) + .managerSelectedActivity + .getTimeAllActivitySelected()) + .toStringAsFixed(0); return Column( children: [ Padding( @@ -57,7 +59,7 @@ class Stats extends StatelessWidget { iconBackground: const Color(0xff6131AD), time: '+5s', label: 'Time', - value: '$time s', + value: '$time min', ), const SizedBox(width: 15), InfoStat( diff --git a/lib/modele/convertisseur.dart b/lib/modele/convertisseur.dart index 41ab95d..efd9dbc 100644 --- a/lib/modele/convertisseur.dart +++ b/lib/modele/convertisseur.dart @@ -12,4 +12,8 @@ class Convertisseur { static double msIntoKmh(double metreSeconde) { return metreSeconde * 3.6; } + + static double millisecondeIntoSeconde(double milliseconde) { + return (milliseconde / 1000); + } } diff --git a/lib/view/home/prediction_view.dart b/lib/view/home/prediction_view.dart index 9a408d7..22cfcae 100644 --- a/lib/view/home/prediction_view.dart +++ b/lib/view/home/prediction_view.dart @@ -61,11 +61,11 @@ class _PredictionState extends State { if (!resultat.item1) return; setState(() { lastWorkoutArr[0]["value"] = - "${resultat.item2.timeOfActivity.toStringAsFixed(2)} s"; + "${Convertisseur.secondeIntoMinute(resultat.item2.timeOfActivity).toStringAsFixed(0)} min"; lastWorkoutArr[1]["value"] = "${resultat.item2.bpmAvg.toStringAsFixed(2)} bpm"; lastWorkoutArr[2]["value"] = - "${resultat.item2.vitesseAvg.toStringAsFixed(2)} m/s "; + "${Convertisseur.msIntoKmh(resultat.item2.vitesseAvg).toStringAsFixed(1)} km/h "; lastWorkoutArr[3]["value"] = "${resultat.item2.distance.toStringAsFixed(2)} m"; }); diff --git a/lib/view/home/stats_activities_view.dart b/lib/view/home/stats_activities_view.dart index 68ac104..1153971 100644 --- a/lib/view/home/stats_activities_view.dart +++ b/lib/view/home/stats_activities_view.dart @@ -3,6 +3,7 @@ import 'package:provider/provider.dart'; import 'package:smartfit_app_mobile/common_widget/container/container_stats_activities.dart'; import 'package:smartfit_app_mobile/common_widget/other/entete_home_view.dart'; import 'package:smartfit_app_mobile/common/colo_extension.dart'; +import 'package:smartfit_app_mobile/modele/convertisseur.dart'; import 'package:smartfit_app_mobile/modele/manager_selected_activity.dart'; import 'package:smartfit_app_mobile/modele/user.dart'; import 'package:smartfit_app_mobile/modele/utile/home_view/data_home_view.dart'; @@ -83,11 +84,11 @@ class _StatAtivities extends State { double maxSpeed = context .watch() .managerSelectedActivity - .getMaxAltitudeAllActivitySelected(); + .getMaxSpeedAllActivitySelected(); double minSpeed = context .watch() .managerSelectedActivity - .getMinAltitudeAllActivitySelected(); + .getMinSpeedAllActivitySelected(); return Scaffold( backgroundColor: TColor.white, @@ -139,17 +140,23 @@ class _StatAtivities extends State { mainAxisAlignment: MainAxisAlignment.center, children: [ ContainerStatsActivities( - "${avgSpeed.toStringAsFixed(2)} m/s", "Moyenne vitesse", Icons.bolt), + "${Convertisseur.msIntoKmh(avgSpeed).toStringAsFixed(0)} km/h", + "Moyenne vitesse", + Icons.bolt), SizedBox( width: media.width * 0.03, ), ContainerStatsActivities( - "$maxSpeed m/s", "Maximum vitesse", Icons.trending_up), + "${Convertisseur.msIntoKmh(maxSpeed).toStringAsFixed(0)} km/h", + "Maximum vitesse", + Icons.trending_up), SizedBox( width: media.width * 0.03, ), ContainerStatsActivities( - "$minSpeed m/s", "Minimum vitesse", Icons.trending_down) + "${Convertisseur.msIntoKmh(minSpeed).toStringAsFixed(0)} km/h", + "Minimum vitesse", + Icons.trending_down) ], ), SizedBox( @@ -179,7 +186,9 @@ class _StatAtivities extends State { mainAxisAlignment: MainAxisAlignment.center, children: [ ContainerStatsActivities( - "${avgAltitude.toStringAsFixed(2)} m", "Moyenne Altitude", Icons.landscape), + "${avgAltitude.toStringAsFixed(2)} m", + "Moyenne Altitude", + Icons.landscape), SizedBox( width: media.width * 0.03, ), @@ -214,7 +223,9 @@ class _StatAtivities extends State { mainAxisAlignment: MainAxisAlignment.center, children: [ ContainerStatsActivities( - "$totalTime s", "Temps Total", Icons.timer), + "${Convertisseur.secondeIntoMinute(totalTime)} min", + "Temps Total", + Icons.timer), SizedBox( width: media.width * 0.03, ),