diff --git a/lib/common_widget/container/container_stats.dart b/lib/common_widget/container/container_stats.dart index e5ce6f0..ff2ddbb 100644 --- a/lib/common_widget/container/container_stats.dart +++ b/lib/common_widget/container/container_stats.dart @@ -13,8 +13,8 @@ class ContainerStats extends StatelessWidget { @override Widget build(BuildContext context) { return Container( - height: 110, - width: 110, + height: 100, + width: 100, padding: const EdgeInsets.all(8), margin: const EdgeInsets.symmetric(vertical: 5), decoration: BoxDecoration( diff --git a/lib/common_widget/container/ligne_container_stats.dart b/lib/common_widget/container/ligne_container_stats.dart index e294767..3f536ff 100644 --- a/lib/common_widget/container/ligne_container_stats.dart +++ b/lib/common_widget/container/ligne_container_stats.dart @@ -5,6 +5,7 @@ import 'package:smartfit_app_mobile/common_widget/container/container_stats.dart class LigneContainerStats extends StatelessWidget { const LigneContainerStats(this.value1, this.value2, this.value3, this.designation1, this.designation2, this.designation3, + this.icon1, this.icon2, this.icon3, {Key? key}) : super(key: key); @@ -16,6 +17,11 @@ class LigneContainerStats extends StatelessWidget { final String designation2; final String designation3; + final IconData icon1; + final IconData icon2; + final IconData icon3; + + @override Widget build(BuildContext context) { return Column( @@ -44,17 +50,17 @@ class LigneContainerStats extends StatelessWidget { ), SizedBox(height: 20), - - Row( + SingleChildScrollView( + scrollDirection: Axis.horizontal, + child:Row( mainAxisAlignment: MainAxisAlignment.center, children: [ - const SizedBox(width: 25), - ContainerStats(value1, designation1, Icons.timer ), - const SizedBox(width: 25), - ContainerStats(value2, designation2, Icons.favorite_outline), - const SizedBox(width: 25), - ContainerStats(value3, designation3, Icons.bolt), - ], + ContainerStats(value1, designation1, icon1), + const SizedBox(width: 20), + ContainerStats(value2, designation2, icon2), + const SizedBox(width: 20), + ContainerStats(value3, designation3, icon3), + ],) ), Divider(height: 30), ], diff --git a/lib/common_widget/graph/bpm_by_time.dart b/lib/common_widget/graph/bpm_by_time.dart index 928f67b..5be0ab6 100644 --- a/lib/common_widget/graph/bpm_by_time.dart +++ b/lib/common_widget/graph/bpm_by_time.dart @@ -80,7 +80,7 @@ class _GraphBpmByTime extends State { return ClipRRect( borderRadius: BorderRadius.circular(25), child: Container( - height: media.width * 0.2, + height: media.height * 0.3, width: double.maxFinite, decoration: BoxDecoration( color: TColor.primaryColor2.withOpacity(0.3), diff --git a/lib/common_widget/stats.dart b/lib/common_widget/stats.dart index 977eb0b..a7c93dd 100644 --- a/lib/common_widget/stats.dart +++ b/lib/common_widget/stats.dart @@ -45,7 +45,7 @@ class Stats extends StatelessWidget { scrollDirection: Axis.horizontal, child: Row( children: [ - const SizedBox(width: 30), + const SizedBox(width: 15), InfoStat( icon: Icons.timer, iconColor: Color.fromARGB(255, 255, 255, 255), diff --git a/lib/modele/activity.dart b/lib/modele/activity.dart index 2b4ff76..37cf1ad 100644 --- a/lib/modele/activity.dart +++ b/lib/modele/activity.dart @@ -97,6 +97,32 @@ class ActivityOfUser { return "null"; } + String getMaxBpm() { + for (int i = 0; i < _contentActivity[_dataSession].length; i++) { + if (_contentActivity[_dataSession][i] == "max_heart_rate") { + return _contentActivity[_dataSession][i + 1].toString(); + } + } + return "null"; + } + String getMinBpm() { + for (int i = 0; i < _contentActivity[_dataSession].length; i++) { + if (_contentActivity[_dataSession][i] == "min_heart_rate") { + return _contentActivity[_dataSession][i + 1].toString(); + } + } + return "null"; + } + + String getAvgBpm() { + for (int i = 0; i < _contentActivity[_dataSession].length; i++) { + if (_contentActivity[_dataSession][i] == "avg_heart_rate") { + return _contentActivity[_dataSession][i + 1].toString(); + } + } + return "null"; + } + String getTotalCalorie() { for (int i = 0; i < _contentActivity[_dataSession].length; i++) { if (_contentActivity[_dataSession][i] == "total_calories") { diff --git a/lib/view/activity/web/web_list_activity.dart b/lib/view/activity/web/web_list_activity.dart index f6d2530..08de8aa 100644 --- a/lib/view/activity/web/web_list_activity.dart +++ b/lib/view/activity/web/web_list_activity.dart @@ -2,7 +2,7 @@ import 'dart:convert'; import 'dart:io'; import 'dart:typed_data'; import 'package:flutter/material.dart'; -import 'dart:html' as html; // Importation des fonctionnalités HTML +import 'package:universal_html/html.dart' as html; import 'package:crypto/crypto.dart'; import 'package:file_picker/file_picker.dart'; diff --git a/lib/view/home/mobile/mobile_homeview.dart b/lib/view/home/mobile/mobile_homeview.dart index 235dc2f..8e7cc54 100644 --- a/lib/view/home/mobile/mobile_homeview.dart +++ b/lib/view/home/mobile/mobile_homeview.dart @@ -52,7 +52,7 @@ class _MobileHomeView extends State { SizedBox( height: media.width * 0.05, ), - const LigneContainerStats("1", "2", "3", "s", "s", "s"), + const LigneContainerStats("1", "2", "3", "Minimum", "Maximum", "Moyenne", Icons.trending_down,Icons.trending_up,Icons.favorite_outline ), Row( mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ @@ -72,7 +72,7 @@ class _MobileHomeView extends State { SizedBox( height: media.width * 0.05, ), - const LigneContainerStats("1", "2", "3", "s", "s", "s"), + const LigneContainerStats("1", "2", "3", "Minimum", "Maximum", "Moyenne", Icons.trending_down,Icons.trending_up,Icons.favorite_outline ), Container( padding: const EdgeInsets.only(left: 15), height: media.width * 0.5, diff --git a/lib/view/home/web/web_homeview.dart b/lib/view/home/web/web_homeview.dart index 038b796..3f8e2d2 100644 --- a/lib/view/home/web/web_homeview.dart +++ b/lib/view/home/web/web_homeview.dart @@ -1,10 +1,12 @@ import 'package:fl_chart/fl_chart.dart'; import 'package:flutter/material.dart'; +import 'package:provider/provider.dart'; import 'package:smartfit_app_mobile/common_widget/container/ligne_container_stats.dart'; import 'package:smartfit_app_mobile/common_widget/graph/bpm_and_speed_by_time.dart'; import 'package:smartfit_app_mobile/common_widget/graph/bpm_by_time.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/user.dart'; import 'package:smartfit_app_mobile/modele/utile/home_view/data_home_view.dart'; import 'package:smartfit_app_mobile/modele/utile/home_view/home_view_util.dart'; @@ -19,12 +21,16 @@ class _WebHomeView extends State { late DataHomeView data; TextEditingController bpmController = TextEditingController(); + @override Widget build(BuildContext context) { var media = MediaQuery.of(context).size; + String maxBpm = context.watch().listActivity[0].getMaxBpm(); + String minBpm = context.watch().listActivity[0].getMinBpm(); + String avgBpm = context.watch().listActivity[0].getAvgBpm(); data = HomeViewUtil().initData(context); - + return Scaffold( backgroundColor: TColor.white, body: SingleChildScrollView( @@ -55,7 +61,8 @@ class _WebHomeView extends State { SizedBox( height: media.width * 0.05, ), - const LigneContainerStats("30 s", "90 BPM", "290 kCal", "Temps", "Heart rate", "Calories"), + + LigneContainerStats(maxBpm+ " BPM",minBpm+ " BPM" ,avgBpm+ " BPM", "Minimum", "Maximum", "Moyenne", Icons.trending_down,Icons.trending_up,Icons.favorite_outline), SizedBox( height: media.width * 0.05, ), @@ -78,7 +85,8 @@ class _WebHomeView extends State { SizedBox( height: media.width * 0.05, ), - const LigneContainerStats("30 s", "90 BPM", "290 kCal", "Temps", "Heart rate", "Calories"), + const LigneContainerStats("30 BPM", "90 BPM", "290 BPM", "Minimum", "Maximum", "Moyenne", Icons.trending_down,Icons.trending_up,Icons.favorite_outline), + SizedBox( height: media.width * 0.05, ), diff --git a/pubspec.yaml b/pubspec.yaml index 7c9fbd9..8581686 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -55,6 +55,7 @@ dependencies: tuple: ^2.0.2 crypto: ^3.0.3 responsive_builder: ^0.7.0 + universal_html: ^2.2.4 dev_dependencies: flutter_test: