conflicts with stats_activities_view.dart
continuous-integration/drone/push Build was killed Details

master
remrem 1 year ago
commit 6e2b6c057e

@ -26,7 +26,7 @@ class VolumesList extends StatelessWidget {
width: media.width * 0.03, width: media.width * 0.03,
), ),
ContainerStatsActivities( ContainerStatsActivities(
"${Convertisseur.secondeIntoMinute(volume["durationActiviy"]).toStringAsFixed(2)} m", "${Convertisseur.secondeIntoMinute(volume["durationActiviy"]).toStringAsFixed(0)} min",
"Temps Total", "Temps Total",
Icons.timer), Icons.timer),
SizedBox( SizedBox(

@ -27,31 +27,32 @@ class WorkoutRow extends StatelessWidget {
fit: BoxFit.cover, fit: BoxFit.cover,
), ),
), ),
const SizedBox(
const SizedBox(width: 15,), width: 15,
),
Expanded( Expanded(
child: Column( child: Column(
crossAxisAlignment: CrossAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start,
children: [ children: [
Text( Text(
wObj["name"].toString(), wObj["name"].toString(),
style: TextStyle( style: TextStyle(
color: TColor.black, color: TColor.black,
fontSize: 15, fontSize: 15,
fontWeight: FontWeight.bold), fontWeight: FontWeight.bold),
), ),
Text( Text(
"${ wObj["value"].toString()}", wObj["value"].toString(),
style: TextStyle( style: TextStyle(
color: TColor.gray, color: TColor.gray,
fontSize: 12,), fontSize: 12,
),
),
const SizedBox(
height: 4,
), ),
const SizedBox(height: 4,),
], ],
)), )),
], ],
)); ));
} }

@ -75,7 +75,7 @@ class WorkoutRowWalking extends StatelessWidget {
), ),
), ),
Text( Text(
"Temps : ${Convertisseur.secondeIntoMinute(wObj["time"]).toStringAsFixed(2)} m", "Temps : ${Convertisseur.secondeIntoMinute(wObj["time"]).toStringAsFixed(0)} minute",
style: TextStyle( style: TextStyle(
color: TColor.black, color: TColor.black,
fontSize: 12, fontSize: 12,

@ -36,75 +36,8 @@ class _MobileGraphBpmAndSpeedByTime
width: double.maxFinite, width: double.maxFinite,
child: LineChart( child: LineChart(
LineChartData( 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<int> 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<LineBarSpot> 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, lineBarsData: widget.func.lineBarsData1,
minY: 0, minY: 0,
maxY: 110, maxY: 110,

@ -33,75 +33,7 @@ class _WebGraphBpmAndSpeedByTime extends State<WebGraphBpmAndSpeedByTime> {
width: widget.media.width * 0.35, width: widget.media.width * 0.35,
child: LineChart( child: LineChart(
LineChartData( 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<int> 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<LineBarSpot> 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, lineBarsData: widget.func.lineBarsData1,
minY: -10, minY: -10,
maxY: 110, maxY: 110,

@ -1,5 +1,6 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:provider/provider.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/modele/user.dart';
import 'package:smartfit_app_mobile/common/colo_extension.dart'; import 'package:smartfit_app_mobile/common/colo_extension.dart';
@ -19,10 +20,11 @@ class Stats extends StatelessWidget {
.activityInfo .activityInfo
.bpmAvg .bpmAvg
.toString(); .toString();
String time = Provider.of<User>(context, listen: false) String time = Convertisseur.secondeIntoMinute(
.managerSelectedActivity Provider.of<User>(context, listen: false)
.getTimeAllActivitySelected() .managerSelectedActivity
.toString(); .getTimeAllActivitySelected())
.toStringAsFixed(0);
return Column( return Column(
children: [ children: [
Padding( Padding(
@ -57,7 +59,7 @@ class Stats extends StatelessWidget {
iconBackground: const Color(0xff6131AD), iconBackground: const Color(0xff6131AD),
time: '+5s', time: '+5s',
label: 'Time', label: 'Time',
value: '$time s', value: '$time min',
), ),
const SizedBox(width: 15), const SizedBox(width: 15),
InfoStat( InfoStat(

@ -12,4 +12,8 @@ class Convertisseur {
static double msIntoKmh(double metreSeconde) { static double msIntoKmh(double metreSeconde) {
return metreSeconde * 3.6; return metreSeconde * 3.6;
} }
static double millisecondeIntoSeconde(double milliseconde) {
return (milliseconde / 1000);
}
} }

@ -90,8 +90,9 @@ class ListActivityUtile {
String csvString = const ListToCsvConverter().convert(resultData.item2); String csvString = const ListToCsvConverter().convert(resultData.item2);
Uint8List byteCSV = Uint8List.fromList(utf8.encode(csvString)); 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") File x = await File("${await _managerFile.localPath}\\what")
.writeAsString(csvString); .writeAsString(csvString);*/
Tuple2<bool, String> result = await api.uploadFileByte( Tuple2<bool, String> result = await api.uploadFileByte(
token, token,

@ -61,11 +61,13 @@ class _PredictionState extends State<Prediction> {
if (!resultat.item1) return; if (!resultat.item1) return;
setState(() { setState(() {
lastWorkoutArr[0]["value"] = lastWorkoutArr[0]["value"] =
resultat.item2.timeOfActivity.toStringAsFixed(2); "${Convertisseur.secondeIntoMinute(resultat.item2.timeOfActivity).toStringAsFixed(0)} min";
lastWorkoutArr[1]["value"] = resultat.item2.bpmAvg.toStringAsFixed(2); lastWorkoutArr[1]["value"] =
"${resultat.item2.bpmAvg.toStringAsFixed(2)} bpm";
lastWorkoutArr[2]["value"] = lastWorkoutArr[2]["value"] =
resultat.item2.vitesseAvg.toStringAsFixed(2); "${Convertisseur.msIntoKmh(resultat.item2.vitesseAvg).toStringAsFixed(1)} km/h ";
lastWorkoutArr[3]["value"] = resultat.item2.distance.toStringAsFixed(2); lastWorkoutArr[3]["value"] =
"${resultat.item2.distance.toStringAsFixed(2)} m";
}); });
} }

@ -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/container/container_stats_activities.dart';
import 'package:smartfit_app_mobile/common_widget/other/entete_home_view.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/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/manager_selected_activity.dart';
import 'package:smartfit_app_mobile/modele/user.dart'; import 'package:smartfit_app_mobile/modele/user.dart';
import 'package:smartfit_app_mobile/modele/utile/home_view/data_home_view.dart'; import 'package:smartfit_app_mobile/modele/utile/home_view/data_home_view.dart';
@ -83,11 +84,11 @@ class _StatAtivities extends State<StatAtivities> {
double maxSpeed = context double maxSpeed = context
.watch<User>() .watch<User>()
.managerSelectedActivity .managerSelectedActivity
.getMaxAltitudeAllActivitySelected(); .getMaxSpeedAllActivitySelected();
double minSpeed = context double minSpeed = context
.watch<User>() .watch<User>()
.managerSelectedActivity .managerSelectedActivity
.getMinAltitudeAllActivitySelected(); .getMinSpeedAllActivitySelected();
return Scaffold( return Scaffold(
backgroundColor: TColor.white, backgroundColor: TColor.white,
@ -139,19 +140,23 @@ class _StatAtivities extends State<StatAtivities> {
mainAxisAlignment: MainAxisAlignment.center, mainAxisAlignment: MainAxisAlignment.center,
children: [ children: [
ContainerStatsActivities( ContainerStatsActivities(
"${avgSpeed.toStringAsFixed(2)} m/s", "${Convertisseur.msIntoKmh(avgSpeed).toStringAsFixed(0)} km/h",
"Average speed", "Average speed",
Icons.bolt), Icons.bolt),
SizedBox( SizedBox(
width: media.width * 0.03, width: media.width * 0.03,
), ),
ContainerStatsActivities( ContainerStatsActivities(
"$maxSpeed m/s", "Maximum speed", Icons.trending_up), "${Convertisseur.msIntoKmh(maxSpeed).toStringAsFixed(0)} km/h",
"Maximum speed",
Icons.trending_up),
SizedBox( SizedBox(
width: media.width * 0.03, width: media.width * 0.03,
), ),
ContainerStatsActivities( ContainerStatsActivities(
"$minSpeed m/s", "Minimum speed", Icons.trending_down) "${Convertisseur.msIntoKmh(minSpeed).toStringAsFixed(0)} km/h",
"Minimum speed",
Icons.trending_down)
], ],
), ),
SizedBox( SizedBox(
@ -218,7 +223,9 @@ class _StatAtivities extends State<StatAtivities> {
mainAxisAlignment: MainAxisAlignment.center, mainAxisAlignment: MainAxisAlignment.center,
children: [ children: [
ContainerStatsActivities( ContainerStatsActivities(
"$totalTime s", "Total time", Icons.timer), "${Convertisseur.secondeIntoMinute(totalTime)} min",
"Total time",
Icons.timer),
SizedBox( SizedBox(
width: media.width * 0.03, width: media.width * 0.03,
), ),

Loading…
Cancel
Save