import chnage

profile
Enzo 2 years ago
parent 64f6d5de0b
commit d8dbf8dd61

@ -1,8 +1,7 @@
import 'dart:math';
import 'dart:ui' as ui;
import 'package:flutter/material.dart';
import 'package:provider/provider.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';
class Graph extends StatelessWidget {
@ -29,8 +28,6 @@ class GraphArea extends StatefulWidget {
class _GraphAreaState extends State<GraphArea>
with SingleTickerProviderStateMixin {
late AnimationController _animationController;
@override
void initState() {
@ -48,7 +45,9 @@ class _GraphAreaState extends State<GraphArea>
@override
Widget build(BuildContext context) {
List<DataPoint> vitesseSecondes = Provider.of<User>(context, listen: false).listActivity[0].getSpeedWithTimeActivity();
List<DataPoint> vitesseSecondes = Provider.of<User>(context, listen: false)
.listActivity[0]
.getSpeedWithTimeActivity();
return GestureDetector(
onTap: () {
@ -98,7 +97,6 @@ class GraphPainter extends CustomPainter {
var cx = 0.0;
for (int i = 0; i < data.length; i++) {
var y = size.height - (data[i].speed * yRatio * _size.value);
offsets.add(Offset(cx, y));
@ -163,7 +161,8 @@ class GraphPainter extends CustomPainter {
canvas.drawPath(linePath, linePaint);
int maxIndex = 0;
double maxY = offsets[0].dy; // Supposons que la première coordonnée est la plus grande
double maxY = offsets[0]
.dy; // Supposons que la première coordonnée est la plus grande
for (int i = 1; i < offsets.length; i++) {
if (offsets[i].dy < maxY) {
@ -189,7 +188,7 @@ class DataPoint {
final double speed;
DataPoint(
this.time,
this.speed,
this.time,
this.speed,
);
}
}

@ -7,14 +7,14 @@ class Info extends StatelessWidget {
@override
Widget build(BuildContext context) {
String distance= Provider.of<User>(context, listen: false).listActivity[0].getTotalDistance();
String distance = Provider.of<User>(context, listen: false)
.listActivity[0]
.getTotalDistance();
return Row(
mainAxisAlignment: MainAxisAlignment.spaceAround,
children: [
Stats(value: distance, unit: 'm', label: 'Distance'),
],
);
}
@ -41,25 +41,25 @@ class Stats extends StatelessWidget {
Text.rich(
TextSpan(
text: value,
style: TextStyle(
style: TextStyle(
fontSize: 20,
fontWeight: FontWeight.w900,
),
children: [
TextSpan(text: ' '),
TextSpan(text: ' '),
TextSpan(
text: unit,
style: TextStyle(
style: TextStyle(
fontSize: 10,
fontWeight: FontWeight.w500,
),
),
]),
),
SizedBox(height: 6),
SizedBox(height: 6),
Text(
label,
style: TextStyle(
style: TextStyle(
fontSize: 10,
fontWeight: FontWeight.w500,
),
@ -67,4 +67,4 @@ class Stats extends StatelessWidget {
],
);
}
}
}

@ -1,6 +1,6 @@
import 'package:flutter/material.dart';
import 'package:provider/provider.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';
class Stats extends StatelessWidget {
@ -8,16 +8,22 @@ class Stats extends StatelessWidget {
@override
Widget build(BuildContext context) {
String calories= Provider.of<User>(context, listen: false).listActivity[0].getTotalCalorie();
String heartrate= Provider.of<User>(context, listen: false).listActivity[0].getTotalAvgHeartRate();
String time= Provider.of<User>(context, listen: false).listActivity[0].getTotalTime();
String calories = Provider.of<User>(context, listen: false)
.listActivity[0]
.getTotalCalorie();
String heartrate = Provider.of<User>(context, listen: false)
.listActivity[0]
.getTotalAvgHeartRate();
String time = Provider.of<User>(context, listen: false)
.listActivity[0]
.getTotalTime();
return Column(
children: [
Padding(
padding: const EdgeInsets.symmetric(horizontal: 30),
child: Row(
children: [
children: [
Text(
'Statistiques',
style: TextStyle(
@ -38,7 +44,7 @@ class Stats extends StatelessWidget {
SingleChildScrollView(
scrollDirection: Axis.horizontal,
child: Row(
children: [
children: [
SizedBox(width: 30),
InfoStat(
icon: Icons.timer,
@ -46,7 +52,7 @@ class Stats extends StatelessWidget {
iconBackground: Color(0xff6131AD),
time: '+5s',
label: 'Time',
value: time+' s',
value: time + ' s',
),
SizedBox(width: 15),
InfoStat(
@ -55,7 +61,7 @@ class Stats extends StatelessWidget {
iconBackground: Color(0xff6131AD),
time: '+5s',
label: 'Heart Rate',
value: heartrate+" BPM",
value: heartrate + " BPM",
),
SizedBox(width: 15),
InfoStat(
@ -64,7 +70,7 @@ class Stats extends StatelessWidget {
iconBackground: Color(0xff6131AD),
time: '+5s',
label: 'Energy',
value: calories+" kCal",
value: calories + " kCal",
),
SizedBox(width: 30),
],
@ -200,4 +206,4 @@ class StatIcon extends StatelessWidget {
child: Icon(icon, size: 15, color: iconColor),
);
}
}
}

@ -1,6 +1,5 @@
import 'package:provider/provider.dart';
import 'package:smartfit_app_mobile/Modele/user.dart';
import 'package:smartfit_app_mobile/common_widget/helpers.dart';
import 'package:smartfit_app_mobile/modele/user.dart';
import 'package:flutter/material.dart';
class Steps extends StatelessWidget {
@ -10,7 +9,9 @@ class Steps extends StatelessWidget {
Widget build(BuildContext context) {
print("lhwaa");
String steps = Provider.of<User>(context, listen: false).listActivity[0].getTotalSteps();
String steps = Provider.of<User>(context, listen: false)
.listActivity[0]
.getTotalSteps();
return Padding(
padding: const EdgeInsets.symmetric(vertical: 20),
child: Column(
@ -34,4 +35,4 @@ class Steps extends StatelessWidget {
),
);
}
}
}

@ -1,17 +1,17 @@
import 'package:flutter_svg/svg.dart';
import 'package:provider/provider.dart';
import 'package:smartfit_app_mobile/Modele/activity.dart';
import 'package:smartfit_app_mobile/Modele/user.dart';
import 'package:smartfit_app_mobile/View/activity/activity.dart';
import 'package:smartfit_app_mobile/common/colo_extension.dart';
import 'package:flutter/material.dart';
import 'package:simple_animation_progress_bar/simple_animation_progress_bar.dart';
class WorkoutRow extends StatelessWidget {
final Map wObj;
final VoidCallback onDelete;
final VoidCallback onClick;
const WorkoutRow({Key? key, required this.wObj, required this.onDelete, required this.onClick}) : super(key: key);
const WorkoutRow(
{Key? key,
required this.wObj,
required this.onDelete,
required this.onClick})
: super(key: key);
@override
Widget build(BuildContext context) {

@ -1,12 +1,7 @@
import 'package:flutter/material.dart';
import 'package:provider/provider.dart';
import 'package:smartfit_app_mobile/Modele/user.dart';
import 'package:smartfit_app_mobile/View/activity/list_activity.dart';
import 'package:smartfit_app_mobile/View/home/home_view.dart';
import 'package:smartfit_app_mobile/View/login/login_view.dart';
import 'package:smartfit_app_mobile/View/login/signup_view.dart';
import 'package:smartfit_app_mobile/View/main_tab/main_tab_view.dart';
import 'package:smartfit_app_mobile/View/page_test.dart';
import 'package:smartfit_app_mobile/modele/user.dart';
import 'package:smartfit_app_mobile/view/main_tab/main_tab_view.dart';
import 'package:smartfit_app_mobile/common/colo_extension.dart';
void main() {

@ -1,5 +1,3 @@
import 'dart:ffi';
import 'package:fl_chart/fl_chart.dart';
import 'package:smartfit_app_mobile/common_widget/graph.dart';
@ -58,19 +56,21 @@ class ActivityOfUser {
}
return result;
}
List<FlSpot> getCalories() {
List<FlSpot> result = List.empty(growable: true);
int firtTimeStamp = 0;
for (List<dynamic> ligne in _contentActivity) {
if (ligne.length >= 39 && ligne[0] == "Data" && ligne[39] == "total_calories") {
if (ligne.length >= 39 &&
ligne[0] == "Data" &&
ligne[39] == "total_calories") {
print(ligne[39]);
if (firtTimeStamp == 0) {
firtTimeStamp = ligne[4];
}
//result.add([(ligne[4] - firtTimeStamp) ~/ 100, ligne[7].toInt()]);
result
.add(FlSpot((ligne[4] - firtTimeStamp) / 100, ligne[40].toDouble()));
result.add(
FlSpot((ligne[4] - firtTimeStamp) / 100, ligne[40].toDouble()));
}
}
return result;
@ -80,37 +80,47 @@ class ActivityOfUser {
List<FlSpot> result = List.empty(growable: true);
print(_contentActivity.length);
for (int i = 0; i < _contentActivity[_contentActivity.length-3].length; i++){
print ( _contentActivity[_contentActivity.length-3][i]);
for (int i = 0;
i < _contentActivity[_contentActivity.length - 3].length;
i++) {
print(_contentActivity[_contentActivity.length - 3][i]);
if ( _contentActivity[_contentActivity.length-3][i] == "total_strides"){
return _contentActivity[_contentActivity.length-3][i+1].toString();
if (_contentActivity[_contentActivity.length - 3][i] == "total_strides") {
return _contentActivity[_contentActivity.length - 3][i + 1].toString();
}
}
return "NAN";
}
String getTotalCalorie() {
List<FlSpot> result = List.empty(growable: true);
print(_contentActivity.length);
for (int i = 0; i < _contentActivity[_contentActivity.length-3].length; i++){
print ( _contentActivity[_contentActivity.length-3][i]);
if ( _contentActivity[_contentActivity.length-3][i] == "total_calories"){
return _contentActivity[_contentActivity.length-3][i+1].toString();
for (int i = 0;
i < _contentActivity[_contentActivity.length - 3].length;
i++) {
print(_contentActivity[_contentActivity.length - 3][i]);
if (_contentActivity[_contentActivity.length - 3][i] ==
"total_calories") {
return _contentActivity[_contentActivity.length - 3][i + 1].toString();
}
}
return "NAN";
}
String getTotalAvgHeartRate() {
List<FlSpot> result = List.empty(growable: true);
print(_contentActivity.length);
for (int i = 0; i < _contentActivity[_contentActivity.length-3].length; i++){
print ( _contentActivity[_contentActivity.length-3][i]);
if ( _contentActivity[_contentActivity.length-3][i] == "total_calories"){
return _contentActivity[_contentActivity.length-3][i+1].toString();
for (int i = 0;
i < _contentActivity[_contentActivity.length - 3].length;
i++) {
print(_contentActivity[_contentActivity.length - 3][i]);
if (_contentActivity[_contentActivity.length - 3][i] ==
"total_calories") {
return _contentActivity[_contentActivity.length - 3][i + 1].toString();
}
}
return "NAN";
@ -120,29 +130,35 @@ class ActivityOfUser {
List<FlSpot> result = List.empty(growable: true);
print(_contentActivity.length);
for (int i = 0; i < _contentActivity[_contentActivity.length-3].length; i++){
print ( _contentActivity[_contentActivity.length-3][i]);
if ( _contentActivity[_contentActivity.length-3][i] == "total_elapsed_time"){
return _contentActivity[_contentActivity.length-3][i+1].toString();
for (int i = 0;
i < _contentActivity[_contentActivity.length - 3].length;
i++) {
print(_contentActivity[_contentActivity.length - 3][i]);
if (_contentActivity[_contentActivity.length - 3][i] ==
"total_elapsed_time") {
return _contentActivity[_contentActivity.length - 3][i + 1].toString();
}
}
return "NAN";
}
String getTotalDistance() {
List<FlSpot> result = List.empty(growable: true);
print(_contentActivity.length);
for (int i = 0; i < _contentActivity[_contentActivity.length-3].length; i++){
print ( _contentActivity[_contentActivity.length-3][i]);
if ( _contentActivity[_contentActivity.length-3][i] == "total_distance"){
return _contentActivity[_contentActivity.length-3][i+1].toString();
for (int i = 0;
i < _contentActivity[_contentActivity.length - 3].length;
i++) {
print(_contentActivity[_contentActivity.length - 3][i]);
if (_contentActivity[_contentActivity.length - 3][i] ==
"total_distance") {
return _contentActivity[_contentActivity.length - 3][i + 1].toString();
}
}
return "NAN";
}
List<FlSpot> getAltitudeWithTime() {
List<FlSpot> result = List.empty(growable: true);
@ -197,6 +213,7 @@ class ActivityOfUser {
}
return result;
}
List<DataPoint> getSpeedWithTimeActivity() {
List<DataPoint> result = List.empty(growable: true);
int firtTimeStamp = 0;
@ -206,15 +223,17 @@ class ActivityOfUser {
if (firtTimeStamp == 0) {
firtTimeStamp = ligne[4];
}
result.add(
DataPoint(((ligne[4] - firtTimeStamp) / 100), ligne[19].toDouble(), ));
result.add(DataPoint(
((ligne[4] - firtTimeStamp) / 100),
ligne[19].toDouble(),
));
}
if (ligne[0] == "Data" && ligne[1] == 2) {
if (firtTimeStamp == 0) {
firtTimeStamp = ligne[4];
}
result.add(
DataPoint( ((ligne[4] - firtTimeStamp)/ 100), ligne[25].toDouble()));
result.add(DataPoint(
((ligne[4] - firtTimeStamp) / 100), ligne[25].toDouble()));
}
}
return result;

@ -1,7 +1,7 @@
import 'dart:convert';
import 'dart:io';
import 'package:smartfit_app_mobile/Modele/Api/i_data_strategy.dart';
import 'package:smartfit_app_mobile/modele/api/i_data_strategy.dart';
import 'package:http/http.dart' as http;
import 'package:tuple/tuple.dart';

@ -1,5 +1,5 @@
import 'package:flutter/material.dart';
import 'package:smartfit_app_mobile/Modele/activity.dart';
import 'package:smartfit_app_mobile/modele/activity.dart';
class User extends ChangeNotifier {
String? username;

@ -2,14 +2,13 @@ import 'dart:convert';
import 'dart:io';
import 'package:crypto/crypto.dart';
import 'package:dotted_dashed_line/dotted_dashed_line.dart';
import 'package:file_picker/file_picker.dart';
import 'package:provider/provider.dart';
import 'package:smartfit_app_mobile/Modele/Api/i_data_strategy.dart';
import 'package:smartfit_app_mobile/Modele/Api/request_api.dart';
import 'package:smartfit_app_mobile/Modele/activity.dart';
import 'package:smartfit_app_mobile/Modele/manager_file.dart';
import 'package:smartfit_app_mobile/Modele/user.dart';
import 'package:smartfit_app_mobile/modele/api/i_data_strategy.dart';
import 'package:smartfit_app_mobile/modele/api/request_api.dart';
import 'package:smartfit_app_mobile/modele/activity.dart';
import 'package:smartfit_app_mobile/modele/manager_file.dart';
import 'package:smartfit_app_mobile/modele/user.dart';
import 'package:smartfit_app_mobile/View/home/home_view.dart';
import 'package:smartfit_app_mobile/View/main_tab/main_tab_view.dart';
import 'package:smartfit_app_mobile/common_widget/round_button.dart';
@ -46,7 +45,8 @@ class _ListActivityState extends State<ListActivity> {
print("test22");
print(ActivityOfUser(nom, result).getHeartRateWithTime());
print("test33");
Provider.of<User>(context, listen: false).addActivity(ActivityOfUser(nom, result));
Provider.of<User>(context, listen: false)
.addActivity(ActivityOfUser(nom, result));
//print(x.getDistanceWithTime(ActivityOfUser(result)));
//print(x.getDistance(ActivityOfUser(result)));
//print(x.getAltitudeWithTime(ActivityOfUser(result)));
@ -148,17 +148,14 @@ class _ListActivityState extends State<ListActivity> {
List lastWorkoutArr = [];
@override
Widget build(BuildContext context) {
var media = MediaQuery.of(context).size;
return Scaffold(
backgroundColor: TColor.white,
body: SingleChildScrollView(
child: SafeArea(
child: SafeArea(
child: Padding(
padding: const EdgeInsets.symmetric(horizontal: 15),
child: Column(
@ -168,7 +165,6 @@ class _ListActivityState extends State<ListActivity> {
Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
Text(
"List Activités",
style: TextStyle(
@ -185,7 +181,6 @@ class _ListActivityState extends State<ListActivity> {
for (var element in result!.files) {
readFile(element.name);
print(element.name);
}
}
},
@ -200,54 +195,61 @@ class _ListActivityState extends State<ListActivity> {
],
),
Provider.of<User>(context, listen: true).listActivity.isEmpty
? Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
SizedBox(height: 20),
Text(
"Vous n'avez pas d'activités pour le moment, veuillez en ajouter.",
style: TextStyle(
color: TColor.gray,
fontSize: 11,
fontStyle: FontStyle.italic,
fontWeight: FontWeight.w400,
),
)])
:
ListView.builder(
padding: EdgeInsets.zero,
physics: const NeverScrollableScrollPhysics(),
shrinkWrap: true,
itemCount: Provider.of<User>(context, listen: true).listActivity.length,
itemBuilder: (context, index) {
var activityObj = Provider.of<User>(context, listen: true).listActivity[index] as ActivityOfUser;
var activityMap = activityObj.toMap();
return InkWell(
onTap: () {
Provider.of<User>(context, listen: false).removeActivity(activityObj);
Provider.of<User>(context, listen: false).insertActivity(0, activityObj);
},
child: WorkoutRow(
wObj: activityMap,
onDelete: () {
Provider.of<User>(context, listen: false).removeActivity(activityObj);
},
onClick: () {
Provider.of<User>(context, listen: false).removeActivity(activityObj);
Provider.of<User>(context, listen: false).insertActivity(0, activityObj);
},
));
}),
? Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
SizedBox(height: 20),
Text(
"Vous n'avez pas d'activités pour le moment, veuillez en ajouter.",
style: TextStyle(
color: TColor.gray,
fontSize: 11,
fontStyle: FontStyle.italic,
fontWeight: FontWeight.w400,
),
)
])
: ListView.builder(
padding: EdgeInsets.zero,
physics: const NeverScrollableScrollPhysics(),
shrinkWrap: true,
itemCount: Provider.of<User>(context, listen: true)
.listActivity
.length,
itemBuilder: (context, index) {
var activityObj =
Provider.of<User>(context, listen: true)
.listActivity[index] as ActivityOfUser;
var activityMap = activityObj.toMap();
return InkWell(
onTap: () {
Provider.of<User>(context, listen: false)
.removeActivity(activityObj);
Provider.of<User>(context, listen: false)
.insertActivity(0, activityObj);
},
child: WorkoutRow(
wObj: activityMap,
onDelete: () {
Provider.of<User>(context, listen: false)
.removeActivity(activityObj);
},
onClick: () {
Provider.of<User>(context, listen: false)
.removeActivity(activityObj);
Provider.of<User>(context, listen: false)
.insertActivity(0, activityObj);
},
));
}),
SizedBox(
height: media.width * 0.1,
),
],
),
],
),
),
),
),
),
),
);
),
);
}
}
}

@ -1,7 +1,6 @@
import 'package:dotted_dashed_line/dotted_dashed_line.dart';
import 'package:dotted_dashed_line/dotted_dashed_line.dart';
import 'package:provider/provider.dart';
import 'package:smartfit_app_mobile/Modele/manager_file.dart';
import 'package:smartfit_app_mobile/Modele/user.dart';
import 'package:smartfit_app_mobile/modele/user.dart';
import 'package:smartfit_app_mobile/common_widget/round_button.dart';
import 'package:fl_chart/fl_chart.dart';
import 'package:flutter/material.dart';
@ -21,17 +20,15 @@ class HomeView extends StatefulWidget {
State<HomeView> createState() => _HomeViewState();
}
class _HomeViewState extends State<HomeView> {
List<FlSpot> bpmSecondes = [FlSpot(0, 30)];
List<FlSpot> bpmSecondes2 = [];
List<FlSpot> bpmSecondes = [FlSpot(0, 30)];
List<FlSpot> bpmSecondes2 = [];
double calories = 0.0;
List<FlSpot> vitesseSecondes = [FlSpot(0, 30)];
List<FlSpot> altitudeSecondes = [FlSpot(0, 30)];
List<FlSpot> vitesseSecondes = [FlSpot(0, 30)];
List<FlSpot> altitudeSecondes = [FlSpot(0, 30)];
TextEditingController bpmController = TextEditingController();
void normaliserDeuxiemeElement(List<FlSpot> liste) {
// Trouver le plus grand élément dans la liste
double maxElement = 0.0;
@ -49,6 +46,7 @@ class _HomeViewState extends State<HomeView> {
liste[i] = FlSpot(liste[i].x, liste[i].y * normalisationFactor);
}
}
List lastWorkoutArr = [
{
"name": "Full Body Workout",
@ -91,26 +89,25 @@ class _HomeViewState extends State<HomeView> {
var media = MediaQuery.of(context).size;
print("test3");
if (Provider.of<User>(context, listen: true).listActivity.isNotEmpty) {
print("rempli");
bpmSecondes = Provider.of<User>(context).listActivity[0].getHeartRateWithTime();
vitesseSecondes = Provider.of<User>(context).listActivity[0].getSpeedWithTime();
altitudeSecondes = Provider.of<User>(context).listActivity[0].getAltitudeWithTime();
bpmSecondes =
Provider.of<User>(context).listActivity[0].getHeartRateWithTime();
vitesseSecondes =
Provider.of<User>(context).listActivity[0].getSpeedWithTime();
altitudeSecondes =
Provider.of<User>(context).listActivity[0].getAltitudeWithTime();
calories = Provider.of<User>(context).listActivity[0].getCalories()[0].y;
normaliserDeuxiemeElement(vitesseSecondes);
normaliserDeuxiemeElement(altitudeSecondes);
bpmSecondes2 = List.from(bpmSecondes) ;
bpmSecondes2 = List.from(bpmSecondes);
normaliserDeuxiemeElement(bpmSecondes2);
} else {
print("vide");
}
print("test4");
final lineBarsData = [
LineChartBarData(
spots: bpmSecondes,
@ -336,18 +333,18 @@ class _HomeViewState extends State<HomeView> {
fontWeight: FontWeight.w700),
),
TextField(
controller: bpmController,
readOnly: true,
style: TextStyle(
color:
TColor.primaryColor1.withOpacity(0.8),
fontWeight: FontWeight.w700,
fontSize: 18),
decoration: InputDecoration(
border: InputBorder.none, // Ajoutez cette ligne pour supprimer la bordure
),
controller: bpmController,
readOnly: true,
style: TextStyle(
color:
TColor.primaryColor1.withOpacity(0.8),
fontWeight: FontWeight.w700,
fontSize: 18),
decoration: InputDecoration(
border: InputBorder
.none, // Ajoutez cette ligne pour supprimer la bordure
),
),
],
),
),
@ -414,7 +411,8 @@ class _HomeViewState extends State<HomeView> {
touchTooltipData: LineTouchTooltipData(
tooltipBgColor: TColor.secondaryColor1,
tooltipRoundedRadius: 20,
getTooltipItems: (List<LineBarSpot> lineBarsSpot) {
getTooltipItems:
(List<LineBarSpot> lineBarsSpot) {
return lineBarsSpot.map((lineBarSpot) {
bpmController.text = "${lineBarSpot.y} BPM";
return LineTooltipItem(
@ -729,7 +727,7 @@ class _HomeViewState extends State<HomeView> {
),
child: FittedBox(
child: Text(
'${200-calories.toInt()} kCal\n restantes',
'${200 - calories.toInt()} kCal\n restantes',
textAlign: TextAlign.center,
style: TextStyle(
color: TColor.white,
@ -742,7 +740,8 @@ class _HomeViewState extends State<HomeView> {
backStrokeWidth: 10,
progressColors: TColor.primaryG,
backColor: Colors.grey.shade100,
valueNotifier: ValueNotifier(calories/200*100),
valueNotifier: ValueNotifier(
calories / 200 * 100),
startAngle: -180,
),
],
@ -842,7 +841,7 @@ class _HomeViewState extends State<HomeView> {
getTooltipItems: (List<LineBarSpot> lineBarsSpot) {
return lineBarsSpot.map((lineBarSpot) {
return LineTooltipItem(
"Seconde ${lineBarSpot.x.toInt()/10} ",
"Seconde ${lineBarSpot.x.toInt() / 10} ",
const TextStyle(
color: Colors.white,
fontSize: 10,
@ -898,8 +897,6 @@ class _HomeViewState extends State<HomeView> {
);
}
List<PieChartSectionData> showingSections() {
return List.generate(
2,
@ -974,8 +971,7 @@ class _HomeViewState extends State<HomeView> {
belowBarData: BarAreaData(
show: false,
),
spots: bpmSecondes2
,
spots: bpmSecondes2,
);
SideTitles get rightTitles => SideTitles(
@ -1021,7 +1017,7 @@ class _HomeViewState extends State<HomeView> {
SideTitles get bottomTitles => SideTitles(
showTitles: true,
reservedSize: 50,
interval:1,
interval: 1,
getTitlesWidget: bottomTitleWidgets,
);

@ -2,12 +2,10 @@ import 'dart:convert';
import 'package:crypto/crypto.dart';
import 'package:flutter_svg/svg.dart';
import 'package:provider/provider.dart';
import 'package:smartfit_app_mobile/Modele/Api/i_data_strategy.dart';
import 'package:smartfit_app_mobile/Modele/Api/request_api.dart';
import 'package:smartfit_app_mobile/Modele/user.dart';
import 'package:smartfit_app_mobile/View/activity/list_activity.dart';
import 'package:smartfit_app_mobile/View/main_tab/main_tab_view.dart';
import 'package:smartfit_app_mobile/View/page_test.dart';
import 'package:smartfit_app_mobile/modele/api/i_data_strategy.dart';
import 'package:smartfit_app_mobile/modele/api/request_api.dart';
import 'package:smartfit_app_mobile/modele/user.dart';
import 'package:smartfit_app_mobile/view/main_tab/main_tab_view.dart';
import 'package:smartfit_app_mobile/common/colo_extension.dart';
import 'package:smartfit_app_mobile/common_widget/round_button.dart';
import 'package:smartfit_app_mobile/common_widget/round_text_field.dart';

@ -1,9 +1,9 @@
import 'dart:convert';
import 'package:crypto/crypto.dart';
import 'package:flutter_svg/svg.dart';
import 'package:smartfit_app_mobile/Modele/Api/i_data_strategy.dart';
import 'package:smartfit_app_mobile/Modele/Api/request_api.dart';
import 'package:smartfit_app_mobile/View/login/login_view.dart';
import 'package:smartfit_app_mobile/modele/api/i_data_strategy.dart';
import 'package:smartfit_app_mobile/modele/api/request_api.dart';
import 'package:smartfit_app_mobile/view/login/login_view.dart';
import 'package:smartfit_app_mobile/common/colo_extension.dart';
import 'package:smartfit_app_mobile/common_widget/round_button.dart';
import 'package:smartfit_app_mobile/common_widget/round_text_field.dart';

@ -1,11 +1,10 @@
import 'package:smartfit_app_mobile/View/activity/list_activity.dart';
import 'package:smartfit_app_mobile/view/activity/list_activity.dart';
import 'package:smartfit_app_mobile/common/colo_extension.dart';
import 'package:smartfit_app_mobile/common_widget/tab_button.dart';
import 'package:smartfit_app_mobile/view/activity/activity.dart';
import 'package:smartfit_app_mobile/view/home/home_view.dart';
import 'package:flutter/material.dart';
import 'package:smartfit_app_mobile/view/map/my_map.dart';
import 'package:smartfit_app_mobile/view/page_test.dart';
import 'package:smartfit_app_mobile/view/profile/profile_view.dart';
class MainTabView extends StatefulWidget {

@ -7,12 +7,9 @@ import 'package:path_provider/path_provider.dart';
import 'package:file_picker/file_picker.dart';
import 'dart:io';
import 'package:provider/provider.dart';
import 'package:smartfit_app_mobile/Modele/Api/i_data_strategy.dart';
import 'package:smartfit_app_mobile/Modele/Api/request_api.dart';
import 'package:smartfit_app_mobile/Modele/activity.dart';
import 'package:smartfit_app_mobile/Modele/manager_file.dart';
import 'package:smartfit_app_mobile/Modele/user.dart';
import 'package:smartfit_app_mobile/modele/api/i_data_strategy.dart';
import 'package:smartfit_app_mobile/modele/api/request_api.dart';
import 'package:smartfit_app_mobile/modele/manager_file.dart';
import 'package:tuple/tuple.dart';
// ----------- File --------------- //
@ -83,7 +80,6 @@ class _TestPage extends State<TestPage> {
File f = File(await x.localPath + "/fit2.csv");
f.createSync();
await f.writeAsString(csv);
}
}
@ -211,8 +207,7 @@ class _TestPage extends State<TestPage> {
onPressed: createUser, child: const Text("Create User")),
ElevatedButton(
onPressed: deleteUser, child: const Text("Delete User")),
ElevatedButton(
onPressed: readFile, child: const Text("ReadFile")),
ElevatedButton(onPressed: readFile, child: const Text("ReadFile")),
ElevatedButton(onPressed: getFiles, child: const Text("getFiles")),
ElevatedButton(
onPressed: modifAttribut, child: const Text("modif attribut")),

Loading…
Cancel
Save