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,
),
ContainerStatsActivities(
"${Convertisseur.secondeIntoMinute(volume["durationActiviy"]).toStringAsFixed(2)} m",
"${Convertisseur.secondeIntoMinute(volume["durationActiviy"]).toStringAsFixed(0)} min",
"Temps Total",
Icons.timer),
SizedBox(

@ -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,),
],
)),
],
));
}
}
}

@ -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,

@ -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<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,
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,
),

@ -33,75 +33,7 @@ class _WebGraphBpmAndSpeedByTime extends State<WebGraphBpmAndSpeedByTime> {
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<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,
minY: -10,
maxY: 110,

@ -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<User>(context, listen: false)
.managerSelectedActivity
.getTimeAllActivitySelected()
.toString();
String time = Convertisseur.secondeIntoMinute(
Provider.of<User>(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(

@ -12,4 +12,8 @@ class Convertisseur {
static double msIntoKmh(double metreSeconde) {
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);
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<bool, String> result = await api.uploadFileByte(
token,

@ -61,11 +61,13 @@ class _PredictionState extends State<Prediction> {
if (!resultat.item1) return;
setState(() {
lastWorkoutArr[0]["value"] =
resultat.item2.timeOfActivity.toStringAsFixed(2);
lastWorkoutArr[1]["value"] = resultat.item2.bpmAvg.toStringAsFixed(2);
"${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);
lastWorkoutArr[3]["value"] = resultat.item2.distance.toStringAsFixed(2);
"${Convertisseur.msIntoKmh(resultat.item2.vitesseAvg).toStringAsFixed(1)} km/h ";
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/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<StatAtivities> {
double maxSpeed = context
.watch<User>()
.managerSelectedActivity
.getMaxAltitudeAllActivitySelected();
.getMaxSpeedAllActivitySelected();
double minSpeed = context
.watch<User>()
.managerSelectedActivity
.getMinAltitudeAllActivitySelected();
.getMinSpeedAllActivitySelected();
return Scaffold(
backgroundColor: TColor.white,
@ -139,19 +140,23 @@ class _StatAtivities extends State<StatAtivities> {
mainAxisAlignment: MainAxisAlignment.center,
children: [
ContainerStatsActivities(
"${avgSpeed.toStringAsFixed(2)} m/s",
"${Convertisseur.msIntoKmh(avgSpeed).toStringAsFixed(0)} km/h",
"Average speed",
Icons.bolt),
SizedBox(
width: media.width * 0.03,
),
ContainerStatsActivities(
"$maxSpeed m/s", "Maximum speed", Icons.trending_up),
"${Convertisseur.msIntoKmh(maxSpeed).toStringAsFixed(0)} km/h",
"Maximum speed",
Icons.trending_up),
SizedBox(
width: media.width * 0.03,
),
ContainerStatsActivities(
"$minSpeed m/s", "Minimum speed", Icons.trending_down)
"${Convertisseur.msIntoKmh(minSpeed).toStringAsFixed(0)} km/h",
"Minimum speed",
Icons.trending_down)
],
),
SizedBox(
@ -218,7 +223,9 @@ class _StatAtivities extends State<StatAtivities> {
mainAxisAlignment: MainAxisAlignment.center,
children: [
ContainerStatsActivities(
"$totalTime s", "Total time", Icons.timer),
"${Convertisseur.secondeIntoMinute(totalTime)} min",
"Total time",
Icons.timer),
SizedBox(
width: media.width * 0.03,
),

Loading…
Cancel
Save