parent
cfe7879c2f
commit
2b9b680774
@ -0,0 +1,27 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:responsive_builder/responsive_builder.dart';
|
||||
import 'package:smartfit_app_mobile/common/colo_extension.dart';
|
||||
import 'package:smartfit_app_mobile/common_widget/container/mobile/mobile_container_stats_activities.dart';
|
||||
import 'package:smartfit_app_mobile/common_widget/container/web/web_container_stats_activities.dart';
|
||||
import 'package:smartfit_app_mobile/common_widget/stats.dart';
|
||||
|
||||
class ContainerStatsActivities extends StatelessWidget {
|
||||
const ContainerStatsActivities(
|
||||
this.value,
|
||||
this.designation,
|
||||
this.icon, {
|
||||
Key? key,
|
||||
}) : super(key: key);
|
||||
|
||||
final String value;
|
||||
final String designation;
|
||||
final IconData icon;
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return ScreenTypeLayout.builder(
|
||||
mobile: (_) => MobileContainerStatsActivities(this.value, this.designation, this.icon),
|
||||
desktop: (_) => WebContainerStatsActivities(this.value, this.designation, this.icon),
|
||||
);
|
||||
}
|
||||
}
|
@ -0,0 +1,69 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:smartfit_app_mobile/common/colo_extension.dart';
|
||||
import 'package:smartfit_app_mobile/common_widget/stats.dart';
|
||||
|
||||
class MobileContainerStatsActivities extends StatelessWidget {
|
||||
const MobileContainerStatsActivities(
|
||||
this.value,
|
||||
this.designation,
|
||||
this.icon, {
|
||||
Key? key,
|
||||
}) : super(key: key);
|
||||
|
||||
final String value;
|
||||
final String designation;
|
||||
final IconData icon;
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
var media = MediaQuery.of(context).size;
|
||||
|
||||
return Container(
|
||||
height: media.width * 0.5,
|
||||
width: media.width * 0.4,
|
||||
padding: const EdgeInsets.all(8),
|
||||
margin: const EdgeInsets.symmetric(vertical: 5),
|
||||
decoration: BoxDecoration(
|
||||
color: Colors.white,
|
||||
borderRadius: BorderRadius.circular(15),
|
||||
border: Border.all(
|
||||
color: const Color(0xffe1e1e1),
|
||||
),
|
||||
boxShadow: const [
|
||||
BoxShadow(
|
||||
color: Colors.black12,
|
||||
offset: Offset(3, 3),
|
||||
blurRadius: 3,
|
||||
),
|
||||
],
|
||||
),
|
||||
child: Column(
|
||||
crossAxisAlignment: CrossAxisAlignment.center, // Centrer horizontalement
|
||||
mainAxisAlignment: MainAxisAlignment.center,
|
||||
|
||||
children: [
|
||||
StatIcon(
|
||||
icon: icon,
|
||||
iconColor: TColor.white,
|
||||
iconBackground: TColor.secondaryColor1,
|
||||
sizeIcon: 40.0,
|
||||
),
|
||||
SizedBox(height: 40), // Espacement entre l'icône et le texte
|
||||
Text(
|
||||
designation,
|
||||
style: const TextStyle(fontSize: 15),
|
||||
textAlign: TextAlign.center,
|
||||
),
|
||||
Text(
|
||||
value,
|
||||
style: const TextStyle(
|
||||
fontSize: 20 ,
|
||||
fontWeight: FontWeight.w800,
|
||||
),
|
||||
textAlign: TextAlign.center,
|
||||
),
|
||||
],
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
@ -0,0 +1,69 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:smartfit_app_mobile/common/colo_extension.dart';
|
||||
import 'package:smartfit_app_mobile/common_widget/stats.dart';
|
||||
|
||||
class WebContainerStatsActivities extends StatelessWidget {
|
||||
const WebContainerStatsActivities(
|
||||
this.value,
|
||||
this.designation,
|
||||
this.icon, {
|
||||
Key? key,
|
||||
}) : super(key: key);
|
||||
|
||||
final String value;
|
||||
final String designation;
|
||||
final IconData icon;
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
var media = MediaQuery.of(context).size;
|
||||
|
||||
return Container(
|
||||
height: media.width * 0.2,
|
||||
width: media.width * 0.3,
|
||||
padding: const EdgeInsets.all(8),
|
||||
margin: const EdgeInsets.symmetric(vertical: 5),
|
||||
decoration: BoxDecoration(
|
||||
color: Colors.white,
|
||||
borderRadius: BorderRadius.circular(15),
|
||||
border: Border.all(
|
||||
color: const Color(0xffe1e1e1),
|
||||
),
|
||||
boxShadow: const [
|
||||
BoxShadow(
|
||||
color: Colors.black12,
|
||||
offset: Offset(3, 3),
|
||||
blurRadius: 3,
|
||||
),
|
||||
],
|
||||
),
|
||||
child: Column(
|
||||
crossAxisAlignment: CrossAxisAlignment.center, // Centrer horizontalement
|
||||
mainAxisAlignment: MainAxisAlignment.center,
|
||||
|
||||
children: [
|
||||
StatIcon(
|
||||
icon: icon,
|
||||
iconColor: TColor.white,
|
||||
iconBackground: TColor.secondaryColor1,
|
||||
sizeIcon: 40.0,
|
||||
),
|
||||
SizedBox(height: 40), // Espacement entre l'icône et le texte
|
||||
Text(
|
||||
designation,
|
||||
style: const TextStyle(fontSize: 15),
|
||||
textAlign: TextAlign.center,
|
||||
),
|
||||
Text(
|
||||
value,
|
||||
style: const TextStyle(
|
||||
fontSize: 20 ,
|
||||
fontWeight: FontWeight.w800,
|
||||
),
|
||||
textAlign: TextAlign.center,
|
||||
),
|
||||
],
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
@ -0,0 +1,79 @@
|
||||
import 'package:flutter/material.dart';
|
||||
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/ligne_container_stats.dart';
|
||||
import 'package:smartfit_app_mobile/common_widget/graph/altitude_by_time.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/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';
|
||||
import 'package:smartfit_app_mobile/modele/utile/home_view/home_view_util.dart';
|
||||
|
||||
class StatAtivities extends StatefulWidget {
|
||||
const StatAtivities({super.key});
|
||||
|
||||
@override
|
||||
State<StatAtivities> createState() => _StatAtivities();
|
||||
}
|
||||
|
||||
class _StatAtivities extends State<StatAtivities> {
|
||||
late DataHomeView data;
|
||||
TextEditingController bpmController = TextEditingController();
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
var media = MediaQuery.of(context).size;
|
||||
data = HomeViewUtil().initData(context);
|
||||
|
||||
return Scaffold(
|
||||
backgroundColor: TColor.white,
|
||||
body: SingleChildScrollView(
|
||||
child: SafeArea(
|
||||
child: Padding(
|
||||
padding: const EdgeInsets.symmetric(horizontal: 15),
|
||||
child: Column(
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
children: [
|
||||
const EnteteHomeView(),
|
||||
SizedBox(
|
||||
height: media.width * 0.05,
|
||||
),
|
||||
Text(
|
||||
"Status d'activité",
|
||||
style: TextStyle(
|
||||
color: TColor.black,
|
||||
fontSize: 16,
|
||||
fontWeight: FontWeight.w700),
|
||||
),
|
||||
SizedBox(
|
||||
height: media.width * 0.03,
|
||||
),
|
||||
|
||||
Row(
|
||||
mainAxisAlignment: MainAxisAlignment.center,
|
||||
children: [
|
||||
ContainerStatsActivities("10 BPM","Moyenne Bpm", Icons.favorite),
|
||||
SizedBox(width: media.width *0.05,),
|
||||
ContainerStatsActivities("10 m/s","Moyenne vitesse", Icons.bolt)
|
||||
],),
|
||||
SizedBox(
|
||||
height: media.width * 0.03,
|
||||
),
|
||||
Row(
|
||||
mainAxisAlignment: MainAxisAlignment.center,
|
||||
children: [
|
||||
ContainerStatsActivities("400 m","Moyenne Altitude", Icons.landscape),
|
||||
SizedBox(width: media.width *0.05,),
|
||||
ContainerStatsActivities("10 °C","Moyenne degrès", Icons.thermostat)
|
||||
],),
|
||||
],
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
Loading…
Reference in new issue