Merge branch 'master' into Enzo

pull/4/head^2
Enzo 1 year ago
commit bfbfa49ad9

@ -0,0 +1,19 @@
<svg width="22" height="22" viewBox="0 0 22 22" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M9.48445 22.0001H1.00973C0.870493 22.0005 0.732683 21.9735 0.605006 21.9207C0.47733 21.8679 0.362566 21.7905 0.26797 21.6934C0.173374 21.5964 0.101003 21.4817 0.0554335 21.3566C0.00986404 21.2316 -0.0079129 21.0989 0.00322648 20.9671L0.481314 15.3044H7.47145C9.48445 22.0384 9.09695 20.6992 9.48445 22.0001Z" fill="#E2E2E2"/>
<path d="M13.0072 3.82618V12.4349H0.717834L1.35696 4.70618C1.37725 4.46598 1.49218 4.24191 1.67878 4.07876C1.86538 3.91561 2.1099 3.8254 2.36346 3.82618H2.9422C2.9422 5.94009 6.9682 10.5218 6.9682 10.5218C6.9682 10.5218 10.9942 5.94009 10.9942 3.82618H13.0072Z" fill="#E2E2E2"/>
<path d="M21.2706 12.4349H16.0267V3.82618H19.625C19.8785 3.8254 20.123 3.91561 20.3097 4.07876C20.4963 4.24191 20.6112 4.46598 20.6315 4.70618L21.2706 12.4349Z" fill="#E2E2E2"/>
<path d="M21.9852 21.0436C21.9852 21.2973 21.8792 21.5406 21.6904 21.7199C21.5016 21.8993 21.2456 22.0001 20.9787 22.0001H12.504L10.491 15.3044H21.5071C22.1311 22.7844 21.9852 20.5892 21.9852 21.0436Z" fill="#E2E2E2"/>
<path d="M9.48445 22.0001H1.00973C0.870493 22.0005 0.732683 21.9735 0.605006 21.9207C0.47733 21.8679 0.362566 21.7905 0.26797 21.6934C0.173374 21.5964 0.101003 21.4817 0.0554335 21.3566C0.00986404 21.2316 -0.0079129 21.0989 0.00322648 20.9671L0.481314 15.3044H7.47145C9.48445 22.0384 9.09695 20.6992 9.48445 22.0001Z" fill="#E2E2E2"/>
<path d="M13.0072 3.82618V12.4349H0.717834L1.35696 4.70618C1.37725 4.46598 1.49218 4.24191 1.67878 4.07876C1.86538 3.91561 2.1099 3.8254 2.36346 3.82618H2.9422C2.9422 5.94009 6.9682 10.5218 6.9682 10.5218C6.9682 10.5218 10.9942 5.94009 10.9942 3.82618H13.0072Z" fill="#E2E2E2"/>
<path d="M21.2706 12.4349H16.0267V3.82618H19.625C19.8785 3.8254 20.123 3.91561 20.3097 4.07876C20.4963 4.24191 20.6112 4.46598 20.6315 4.70618L21.2706 12.4349Z" fill="#E2E2E2"/>
<path d="M21.9852 21.0436C21.9852 21.2973 21.8792 21.5406 21.6904 21.7199C21.5016 21.8993 21.2456 22.0001 20.9787 22.0001H12.504L10.491 15.3044H21.5071C22.1311 22.7844 21.9852 20.5892 21.9852 21.0436Z" fill="#E2E2E2"/>
<path d="M12.504 22.0001H9.48446L7.47146 15.3044H0.481323L0.717851 12.4349H13.0072V3.82617H16.0267V12.4349H21.2706L21.5071 15.3044H10.491C12.504 22.0383 12.1165 20.6992 12.504 22.0001Z" fill="white"/>
<path d="M10.491 15.3044L12.2171 21.0436H9.19763L7.47148 15.3044H1.93573C2.03638 14.0992 1.98605 14.7353 2.17226 12.4349H13.0072V3.82617H16.0267V12.4349H21.2706L21.5071 15.3044H10.491Z" fill="white"/>
<path d="M13.0072 3.82617V12.4349H2.14709C2.25278 11.1675 2.14709 12.2531 2.68054 5.98791C3.63073 7.58863 4.72879 9.10591 5.96173 10.5218C5.96173 10.5218 6.158 10.297 6.46498 9.924C6.77196 10.297 6.96823 10.5218 6.96823 10.5218C6.96823 10.5218 10.9942 5.94008 10.9942 3.82617H13.0072Z" fill="#BBBBBB"/>
<path d="M9.19762 21.0436H2.51949C2.38026 21.044 2.24245 21.017 2.11477 20.9642C1.9871 20.9114 1.87233 20.834 1.77774 20.7369C1.68314 20.6398 1.61077 20.5251 1.5652 20.4001C1.51963 20.2751 1.50185 20.1424 1.51299 20.0105L1.93572 15.3044H7.47147L9.19762 21.0436Z" fill="#BBBBBB"/>
<path d="M21.9852 21.0436H12.2171L10.491 15.3044H21.5071C22.1311 22.7844 21.9852 20.5892 21.9852 21.0436Z" fill="#BBBBBB"/>
<path d="M21.2706 12.4349H16.0267V3.82618H19.625C19.8785 3.8254 20.123 3.91561 20.3097 4.07876C20.4963 4.24191 20.6112 4.46598 20.6315 4.70618L21.2706 12.4349Z" fill="#BBBBBB"/>
<path d="M10.9942 3.82609C10.9942 5.59087 8.12064 9.20174 6.9682 10.5217C6.9682 10.5217 2.9422 5.94 2.9422 3.82609C2.9422 2.81134 3.36637 1.83816 4.12139 1.12063C4.87641 0.403104 5.90044 0 6.9682 0C8.03596 0 9.05999 0.403104 9.81501 1.12063C10.57 1.83816 10.9942 2.81134 10.9942 3.82609Z" fill="#7B6F72"/>
<path d="M10.9942 3.82615C10.9942 5.29441 9.04661 7.95832 7.86397 9.44093C7.22987 8.69962 3.94869 4.78267 3.94869 2.86962C3.94638 2.08883 4.19963 1.32668 4.67336 0.688755C5.27683 0.290897 5.98333 0.0575021 6.71636 0.0138413C7.44938 -0.0298194 8.18101 0.117917 8.83203 0.441056C9.48305 0.764194 10.0287 1.25042 10.4098 1.84709C10.7909 2.44377 10.993 3.12815 10.9942 3.82615Z" fill="#ADA4A5"/>
<path d="M6.96825 5.26092C7.80206 5.26092 8.47799 4.61855 8.47799 3.82614C8.47799 3.03373 7.80206 2.39136 6.96825 2.39136C6.13443 2.39136 5.4585 3.03373 5.4585 3.82614C5.4585 4.61855 6.13443 5.26092 6.96825 5.26092Z" fill="#7B6F72"/>
</svg>

After

Width:  |  Height:  |  Size: 4.2 KiB

@ -0,0 +1,81 @@
<svg width="22" height="22" viewBox="0 0 22 22" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M9.48445 22.0001H1.00973C0.870493 22.0005 0.732683 21.9735 0.605006 21.9207C0.47733 21.8679 0.362566 21.7905 0.26797 21.6934C0.173374 21.5964 0.101003 21.4817 0.0554335 21.3566C0.00986404 21.2316 -0.0079129 21.0989 0.00322648 20.9671L0.481314 15.3044H7.47145C9.48445 22.0384 9.09695 20.6992 9.48445 22.0001Z" fill="url(#paint0_linear_1054_2509)"/>
<path d="M13.0072 3.82618V12.4349H0.717834L1.35696 4.70618C1.37725 4.46598 1.49218 4.24191 1.67878 4.07876C1.86538 3.91561 2.1099 3.8254 2.36346 3.82618H2.9422C2.9422 5.94009 6.9682 10.5218 6.9682 10.5218C6.9682 10.5218 10.9942 5.94009 10.9942 3.82618H13.0072Z" fill="url(#paint1_linear_1054_2509)"/>
<path d="M21.2706 12.4349H16.0267V3.82618H19.625C19.8785 3.8254 20.123 3.91561 20.3097 4.07876C20.4963 4.24191 20.6112 4.46598 20.6315 4.70618L21.2706 12.4349Z" fill="url(#paint2_linear_1054_2509)"/>
<path d="M21.9852 21.0436C21.9852 21.2973 21.8792 21.5406 21.6904 21.7199C21.5016 21.8993 21.2456 22.0001 20.9787 22.0001H12.504L10.491 15.3044H21.5071C22.1311 22.7844 21.9852 20.5892 21.9852 21.0436Z" fill="url(#paint3_linear_1054_2509)"/>
<path d="M9.48445 22.0001H1.00973C0.870493 22.0005 0.732683 21.9735 0.605006 21.9207C0.47733 21.8679 0.362566 21.7905 0.26797 21.6934C0.173374 21.5964 0.101003 21.4817 0.0554335 21.3566C0.00986404 21.2316 -0.0079129 21.0989 0.00322648 20.9671L0.481314 15.3044H7.47145C9.48445 22.0384 9.09695 20.6992 9.48445 22.0001Z" fill="url(#paint4_linear_1054_2509)"/>
<path d="M13.0072 3.82618V12.4349H0.717834L1.35696 4.70618C1.37725 4.46598 1.49218 4.24191 1.67878 4.07876C1.86538 3.91561 2.1099 3.8254 2.36346 3.82618H2.9422C2.9422 5.94009 6.9682 10.5218 6.9682 10.5218C6.9682 10.5218 10.9942 5.94009 10.9942 3.82618H13.0072Z" fill="url(#paint5_linear_1054_2509)"/>
<path d="M21.2706 12.4349H16.0267V3.82618H19.625C19.8785 3.8254 20.123 3.91561 20.3097 4.07876C20.4963 4.24191 20.6112 4.46598 20.6315 4.70618L21.2706 12.4349Z" fill="url(#paint6_linear_1054_2509)"/>
<path d="M21.9852 21.0436C21.9852 21.2973 21.8792 21.5406 21.6904 21.7199C21.5016 21.8993 21.2456 22.0001 20.9787 22.0001H12.504L10.491 15.3044H21.5071C22.1311 22.7844 21.9852 20.5892 21.9852 21.0436Z" fill="url(#paint7_linear_1054_2509)"/>
<path d="M12.504 22.0001H9.48446L7.47146 15.3044H0.481323L0.717851 12.4349H13.0072V3.82617H16.0267V12.4349H21.2706L21.5071 15.3044H10.491C12.504 22.0383 12.1165 20.6992 12.504 22.0001Z" fill="white"/>
<path d="M10.491 15.3044L12.2171 21.0436H9.19763L7.47148 15.3044H1.93573C2.03638 14.0992 1.98605 14.7353 2.17226 12.4349H13.0072V3.82617H16.0267V12.4349H21.2706L21.5071 15.3044H10.491Z" fill="white"/>
<path d="M13.0072 3.82617V12.4349H2.14709C2.25278 11.1675 2.14709 12.2531 2.68054 5.98791C3.63073 7.58863 4.72879 9.10591 5.96173 10.5218C5.96173 10.5218 6.158 10.297 6.46498 9.924C6.77196 10.297 6.96823 10.5218 6.96823 10.5218C6.96823 10.5218 10.9942 5.94008 10.9942 3.82617H13.0072Z" fill="url(#paint8_linear_1054_2509)"/>
<path d="M9.19762 21.0436H2.51949C2.38026 21.044 2.24245 21.017 2.11477 20.9642C1.9871 20.9114 1.87233 20.834 1.77774 20.7369C1.68314 20.6398 1.61077 20.5251 1.5652 20.4001C1.51963 20.2751 1.50185 20.1424 1.51299 20.0105L1.93572 15.3044H7.47147L9.19762 21.0436Z" fill="url(#paint9_linear_1054_2509)"/>
<path d="M21.9852 21.0436H12.2171L10.491 15.3044H21.5071C22.1311 22.7844 21.9852 20.5892 21.9852 21.0436Z" fill="url(#paint10_linear_1054_2509)"/>
<path d="M21.2706 12.4349H16.0267V3.82618H19.625C19.8785 3.8254 20.123 3.91561 20.3097 4.07876C20.4963 4.24191 20.6112 4.46598 20.6315 4.70618L21.2706 12.4349Z" fill="url(#paint11_linear_1054_2509)"/>
<path d="M10.9942 3.82609C10.9942 5.59087 8.12064 9.20174 6.9682 10.5217C6.9682 10.5217 2.9422 5.94 2.9422 3.82609C2.9422 2.81134 3.36637 1.83816 4.12139 1.12063C4.87641 0.403104 5.90044 0 6.9682 0C8.03596 0 9.05999 0.403104 9.81501 1.12063C10.57 1.83816 10.9942 2.81134 10.9942 3.82609Z" fill="url(#paint12_linear_1054_2509)"/>
<path d="M10.9942 3.82615C10.9942 5.29441 9.04661 7.95832 7.86397 9.44093C7.22987 8.69962 3.94869 4.78267 3.94869 2.86962C3.94638 2.08883 4.19963 1.32668 4.67336 0.688755C5.27683 0.290897 5.98333 0.0575021 6.71636 0.0138413C7.44938 -0.0298194 8.18101 0.117917 8.83203 0.441056C9.48305 0.764194 10.0287 1.25042 10.4098 1.84709C10.7909 2.44377 10.993 3.12815 10.9942 3.82615Z" fill="url(#paint13_linear_1054_2509)"/>
<path d="M6.96825 5.26092C7.80206 5.26092 8.47799 4.61855 8.47799 3.82614C8.47799 3.03373 7.80206 2.39136 6.96825 2.39136C6.13443 2.39136 5.4585 3.03373 5.4585 3.82614C5.4585 4.61855 6.13443 5.26092 6.96825 5.26092Z" fill="url(#paint14_linear_1054_2509)"/>
<defs>
<linearGradient id="paint0_linear_1054_2509" x1="4.74223" y1="9.73951" x2="4.74223" y2="19.3617" gradientUnits="userSpaceOnUse">
<stop stop-color="#C58BF2"/>
<stop offset="1" stop-color="#B4C0FE"/>
</linearGradient>
<linearGradient id="paint1_linear_1054_2509" x1="6.86251" y1="-3.32874" x2="6.86251" y2="9.0427" gradientUnits="userSpaceOnUse">
<stop stop-color="#C58BF2"/>
<stop offset="1" stop-color="#B4C0FE"/>
</linearGradient>
<linearGradient id="paint2_linear_1054_2509" x1="18.6487" y1="-3.32874" x2="18.6487" y2="9.0427" gradientUnits="userSpaceOnUse">
<stop stop-color="#C58BF2"/>
<stop offset="1" stop-color="#B4C0FE"/>
</linearGradient>
<linearGradient id="paint3_linear_1054_2509" x1="16.2455" y1="9.73952" x2="16.2455" y2="19.3617" gradientUnits="userSpaceOnUse">
<stop stop-color="#C58BF2"/>
<stop offset="1" stop-color="#B4C0FE"/>
</linearGradient>
<linearGradient id="paint4_linear_1054_2509" x1="4.74223" y1="9.73951" x2="4.74223" y2="19.3617" gradientUnits="userSpaceOnUse">
<stop stop-color="#C58BF2"/>
<stop offset="1" stop-color="#B4C0FE"/>
</linearGradient>
<linearGradient id="paint5_linear_1054_2509" x1="6.86251" y1="-3.32874" x2="6.86251" y2="9.0427" gradientUnits="userSpaceOnUse">
<stop stop-color="#C58BF2"/>
<stop offset="1" stop-color="#B4C0FE"/>
</linearGradient>
<linearGradient id="paint6_linear_1054_2509" x1="18.6487" y1="-3.32874" x2="18.6487" y2="9.0427" gradientUnits="userSpaceOnUse">
<stop stop-color="#C58BF2"/>
<stop offset="1" stop-color="#B4C0FE"/>
</linearGradient>
<linearGradient id="paint7_linear_1054_2509" x1="16.2455" y1="9.73952" x2="16.2455" y2="19.3617" gradientUnits="userSpaceOnUse">
<stop stop-color="#C58BF2"/>
<stop offset="1" stop-color="#B4C0FE"/>
</linearGradient>
<linearGradient id="paint8_linear_1054_2509" x1="13.0072" y1="12.4349" x2="-1.41631" y2="11.0269" gradientUnits="userSpaceOnUse">
<stop stop-color="#6131AD"/>
<stop offset="1" stop-color="#D4B9FF"/>
</linearGradient>
<linearGradient id="paint9_linear_1054_2509" x1="9.19762" y1="21.0436" x2="-1.00048" y2="19.9865" gradientUnits="userSpaceOnUse">
<stop stop-color="#6131AD"/>
<stop offset="1" stop-color="#D4B9FF"/>
</linearGradient>
<linearGradient id="paint10_linear_1054_2509" x1="22" y1="21.0436" x2="6.93183" y2="18.7053" gradientUnits="userSpaceOnUse">
<stop stop-color="#6131AD"/>
<stop offset="1" stop-color="#D4B9FF"/>
</linearGradient>
<linearGradient id="paint11_linear_1054_2509" x1="21.2706" y1="12.4349" x2="14.2553" y2="12.1042" gradientUnits="userSpaceOnUse">
<stop stop-color="#6131AD"/>
<stop offset="1" stop-color="#D4B9FF"/>
</linearGradient>
<linearGradient id="paint12_linear_1054_2509" x1="10.9942" y1="10.5217" x2="0.236016" y2="9.88466" gradientUnits="userSpaceOnUse">
<stop stop-color="#6131AD"/>
<stop offset="1" stop-color="#D4B9FF"/>
</linearGradient>
<linearGradient id="paint13_linear_1054_2509" x1="15.5794" y1="4.72364" x2="4.80068" y2="4.34559" gradientUnits="userSpaceOnUse">
<stop stop-color="#C58BF2"/>
<stop offset="1" stop-color="#92A3FD"/>
</linearGradient>
<linearGradient id="paint14_linear_1054_2509" x1="8.478" y1="5.26092" x2="4.45619" y2="4.93345" gradientUnits="userSpaceOnUse">
<stop stop-color="#6131AD"/>
<stop offset="1" stop-color="#D4B9FF"/>
</linearGradient>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 7.7 KiB

@ -45,17 +45,7 @@ class ProfileEntete extends StatelessWidget {
], ],
), ),
), ),
SizedBox(
width: 70,
height: 25,
child: RoundButton(
title: "Editer",
type: RoundButtonType.bgGradient,
fontSize: 12,
fontWeight: FontWeight.w400,
onPressed: () {},
),
)
], ],
); );
} }

@ -21,7 +21,7 @@ class ProfileInfoUser extends StatelessWidget {
), ),
Expanded( Expanded(
child: TitleSubtitleCell( child: TitleSubtitleCell(
title: context.watch<User>().getTotalTimeAllActivity().toString(), title: context.watch<User>().getTotalTimeAllActivity().toStringAsFixed(2),
subtitle: "Temps en activité", subtitle: "Temps en activité",
), ),
), ),
@ -31,7 +31,7 @@ class ProfileInfoUser extends StatelessWidget {
Expanded( Expanded(
child: TitleSubtitleCell( child: TitleSubtitleCell(
title: title:
"${context.watch<User>().getTotalDenivelePositifAllActivity().toString()} + m", "${context.watch<User>().getTotalDenivelePositifAllActivity().toStringAsFixed(2)} + m",
subtitle: "Total dénivelé positif", subtitle: "Total dénivelé positif",
), ),
), ),
@ -41,7 +41,7 @@ class ProfileInfoUser extends StatelessWidget {
Expanded( Expanded(
child: TitleSubtitleCell( child: TitleSubtitleCell(
title: title:
"${context.watch<User>().getTotalDeniveleNegatifAllActivity().toString()} - m", "${context.watch<User>().getTotalDeniveleNegatifAllActivity().toStringAsFixed(2)} - m",
subtitle: "Total dénivelé négatif", subtitle: "Total dénivelé négatif",
), ),
), ),

@ -1,5 +1,6 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:responsive_builder/responsive_builder.dart'; import 'package:responsive_builder/responsive_builder.dart';
import 'package:smartfit_app_mobile/common_widget/graph/data_for_graph/func_bpm_by_time.dart';
import 'package:smartfit_app_mobile/common_widget/graph/mobile/mobile_altitude_by_time.dart'; import 'package:smartfit_app_mobile/common_widget/graph/mobile/mobile_altitude_by_time.dart';
import 'package:smartfit_app_mobile/common_widget/graph/web/web_altitude_by_time.dart'; import 'package:smartfit_app_mobile/common_widget/graph/web/web_altitude_by_time.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';
@ -18,9 +19,10 @@ class GraphAltitudeByTime extends StatefulWidget {
class _GraphAltitudeByTime extends State<GraphAltitudeByTime> { class _GraphAltitudeByTime extends State<GraphAltitudeByTime> {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
final FuncBpmByTime funcBpm = FuncBpmByTime(widget.data);
return ScreenTypeLayout.builder( return ScreenTypeLayout.builder(
mobile: (_) => MobileGraphAltitudeByTime(widget.media, widget.data), mobile: (_) => MobileGraphAltitudeByTime(widget.media, widget.data, funcBpm),
desktop: (_) => WebGraphAltitudeByTime(widget.media, widget.data), desktop: (_) => WebGraphAltitudeByTime(widget.media, widget.data, funcBpm),
); );
} }
} }

@ -21,7 +21,7 @@ class _BpmByTime extends State<BpmByTime> {
final FuncBpmByTime funcBpm = FuncBpmByTime(widget.data); final FuncBpmByTime funcBpm = FuncBpmByTime(widget.data);
return ScreenTypeLayout.builder( return ScreenTypeLayout.builder(
mobile: (_) => MobileBpmByTime(widget.media, widget.data), mobile: (_) => MobileBpmByTime(widget.media, widget.data, funcBpm),
desktop: (_) => WebBpmByTime(widget.media, widget.data, funcBpm), desktop: (_) => WebBpmByTime(widget.media, widget.data, funcBpm),
); );
} }

@ -14,14 +14,14 @@ class FuncBpmAndSpeedByTime {
getTitlesWidget: rightTitleWidgets, getTitlesWidget: rightTitleWidgets,
showTitles: true, showTitles: true,
interval: 20, interval: 20,
reservedSize: 40, reservedSize: 42,
); );
SideTitles get leftTitles => SideTitles( SideTitles get leftTitles => SideTitles(
getTitlesWidget: leftTitleWidgets, getTitlesWidget: leftTitleWidgets,
showTitles: true, showTitles: true,
interval: 20, interval: 20,
reservedSize: 40, reservedSize: 42,
); );
SideTitles get bottomTitles => SideTitles( SideTitles get bottomTitles => SideTitles(
getTitlesWidget: bottomTitleWidgets, getTitlesWidget: bottomTitleWidgets,
@ -79,7 +79,7 @@ class FuncBpmAndSpeedByTime {
return Text(text, return Text(text,
style: TextStyle( style: TextStyle(
color: TColor.gray, color: TColor.gray,
fontSize: 12, fontSize: 8,
), ),
textAlign: TextAlign.center); textAlign: TextAlign.center);
} }
@ -113,7 +113,7 @@ class FuncBpmAndSpeedByTime {
return Text(text, return Text(text,
style: TextStyle( style: TextStyle(
color: TColor.gray, color: TColor.gray,
fontSize: 12, fontSize: 8,
), ),
textAlign: TextAlign.center); textAlign: TextAlign.center);
} }
@ -148,7 +148,7 @@ class FuncBpmAndSpeedByTime {
return Text(text, return Text(text,
style: TextStyle( style: TextStyle(
color: TColor.gray, color: TColor.gray,
fontSize: 12, fontSize: 8,
), ),
textAlign: TextAlign.center); textAlign: TextAlign.center);
} }

@ -67,19 +67,19 @@ class FuncBpmByTime {
text = '0 s'; text = '0 s';
break; break;
case 20: case 20:
text = "${(interval).toStringAsFixed(2)} s"; text = "${(interval).toStringAsFixed(0)} s";
break; break;
case 40: case 40:
text = "${(interval * 2).toStringAsFixed(2)} s"; text = "${(interval * 2).toStringAsFixed(0)} s";
break; break;
case 60: case 60:
text = "${(interval * 3).toStringAsFixed(2)} s"; text = "${(interval * 3).toStringAsFixed(0)} s";
break; break;
case 80: case 80:
text = "${(interval * 4).toStringAsFixed(2)} s"; text = "${(interval * 4).toStringAsFixed(0)} s";
break; break;
case 100: case 100:
text = "${(interval * 5).toStringAsFixed(2)} s"; text = "${(interval * 5).toStringAsFixed(0)} s";
break; break;
default: default:
return Container(); return Container();

@ -2,14 +2,16 @@ import 'package:fl_chart/fl_chart.dart';
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/common/colo_extension.dart'; import 'package:smartfit_app_mobile/common/colo_extension.dart';
import 'package:smartfit_app_mobile/common_widget/graph/data_for_graph/func_bpm_by_time.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';
class MobileGraphAltitudeByTime extends StatefulWidget { class MobileGraphAltitudeByTime extends StatefulWidget {
final Size media; final Size media;
final DataHomeView data; final DataHomeView data;
final FuncBpmByTime func;
const MobileGraphAltitudeByTime(this.media, this.data, {Key? key}) const MobileGraphAltitudeByTime(this.media, this.data, this.func, {Key? key})
: super(key: key); : super(key: key);
@override @override
@ -70,20 +72,19 @@ class _MobileGraphAltitudeByTime extends State<MobileGraphAltitudeByTime> {
leftTitles: const AxisTitles(), leftTitles: const AxisTitles(),
topTitles: const AxisTitles(), topTitles: const AxisTitles(),
bottomTitles: AxisTitles( bottomTitles: AxisTitles(
sideTitles: SideTitles( sideTitles: widget.func.bottomTitles,
reservedSize: 20, ),
showTitles: true,
getTitlesWidget: (value, meta) {
return Text(
"${double.parse((value / 10).toStringAsFixed(2))}s");
},
)),
rightTitles: AxisTitles( rightTitles: AxisTitles(
sideTitles: SideTitles( sideTitles: SideTitles(
reservedSize: 60, reservedSize: 60,
showTitles: true, showTitles: true,
getTitlesWidget: (value, meta) { getTitlesWidget: (value, meta) {
return Text("${double.parse(value.toStringAsFixed(2))} m"); return Text("${double.parse(value.toStringAsFixed(2))} m",
style: TextStyle(
color: TColor.gray,
fontSize: 12,
),
textAlign: TextAlign.center);
}, },
)), )),
)))); ))));

@ -111,27 +111,16 @@ class _MobileGraphBpmAndSpeedByTime
titlesData: FlTitlesData( titlesData: FlTitlesData(
show: true, show: true,
leftTitles: AxisTitles( leftTitles: AxisTitles(
sideTitles: widget.func.rightTitles, sideTitles: widget.func.leftTitles,
), ),
topTitles: const AxisTitles(), topTitles: const AxisTitles(),
bottomTitles: AxisTitles( bottomTitles: AxisTitles(
sideTitles: SideTitles( sideTitles: widget.func.bottomTitles,
reservedSize: 20, ),
showTitles: true,
getTitlesWidget: (value, meta) {
return Text(
"${double.parse((value / 10).toStringAsFixed(2))}s");
},
)),
rightTitles: AxisTitles( rightTitles: AxisTitles(
sideTitles: SideTitles( sideTitles: widget.func.rightTitles,
reservedSize: 70,
showTitles: true, ),),
getTitlesWidget: (value, meta) {
return Text(
"${double.parse(value.toStringAsFixed(2))} BPM");
},
))),
gridData: FlGridData( gridData: FlGridData(
drawVerticalLine: true, drawVerticalLine: true,
drawHorizontalLine: true, drawHorizontalLine: true,

@ -1,13 +1,15 @@
import 'package:fl_chart/fl_chart.dart'; import 'package:fl_chart/fl_chart.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:smartfit_app_mobile/common/colo_extension.dart'; import 'package:smartfit_app_mobile/common/colo_extension.dart';
import 'package:smartfit_app_mobile/common_widget/graph/data_for_graph/func_bpm_by_time.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';
class MobileBpmByTime extends StatefulWidget { class MobileBpmByTime extends StatefulWidget {
final Size media; final Size media;
final DataHomeView data; final DataHomeView data;
final FuncBpmByTime func;
const MobileBpmByTime(this.media, this.data, {Key? key}) : super(key: key); const MobileBpmByTime(this.media, this.data,this.func, {Key? key}) : super(key: key);
@override @override
State<MobileBpmByTime> createState() => _MobileBpmByTime(); State<MobileBpmByTime> createState() => _MobileBpmByTime();
@ -57,19 +59,19 @@ class _MobileBpmByTime extends State<MobileBpmByTime> {
leftTitles: const AxisTitles(), leftTitles: const AxisTitles(),
topTitles: const AxisTitles(), topTitles: const AxisTitles(),
bottomTitles: AxisTitles( bottomTitles: AxisTitles(
sideTitles: SideTitles( sideTitles: widget.func.bottomTitles,
reservedSize: 20, ),
showTitles: true,
getTitlesWidget: (value, meta) {
return Text("${double.parse((value/10).toStringAsFixed(2))}s");
},
)),
rightTitles: AxisTitles( rightTitles: AxisTitles(
sideTitles: SideTitles( sideTitles: SideTitles(
reservedSize: 70, reservedSize: 70,
showTitles: true, showTitles: true,
getTitlesWidget: (value, meta) { getTitlesWidget: (value, meta) {
return Text("${double.parse(value.toStringAsFixed(2))} BPM"); return Text("${double.parse(value.toStringAsFixed(2))} BPM",
style: TextStyle(
color: TColor.gray,
fontSize: 12,
),
textAlign: TextAlign.center);
}, },
)), )),
)))); ))));

@ -2,14 +2,16 @@ import 'package:fl_chart/fl_chart.dart';
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/common/colo_extension.dart'; import 'package:smartfit_app_mobile/common/colo_extension.dart';
import 'package:smartfit_app_mobile/common_widget/graph/data_for_graph/func_bpm_by_time.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';
class WebGraphAltitudeByTime extends StatefulWidget { class WebGraphAltitudeByTime extends StatefulWidget {
final Size media; final Size media;
final DataHomeView data; final DataHomeView data;
final FuncBpmByTime func;
const WebGraphAltitudeByTime(this.media, this.data, {Key? key}) const WebGraphAltitudeByTime(this.media, this.data, this.func, {Key? key})
: super(key: key); : super(key: key);
@override @override
@ -69,20 +71,19 @@ class _WebGraphAltitudeByTime extends State<WebGraphAltitudeByTime> {
leftTitles: const AxisTitles(), leftTitles: const AxisTitles(),
topTitles: const AxisTitles(), topTitles: const AxisTitles(),
bottomTitles: AxisTitles( bottomTitles: AxisTitles(
sideTitles: SideTitles( sideTitles: widget.func.bottomTitles,
reservedSize: 20, ),
showTitles: true,
getTitlesWidget: (value, meta) {
return Text(
"${double.parse((value / 10).toStringAsFixed(2))}s");
},
)),
rightTitles: AxisTitles( rightTitles: AxisTitles(
sideTitles: SideTitles( sideTitles: SideTitles(
reservedSize: 60, reservedSize: 60,
showTitles: true, showTitles: true,
getTitlesWidget: (value, meta) { getTitlesWidget: (value, meta) {
return Text("${double.parse(value.toStringAsFixed(2))} m"); return Text("${double.parse(value.toStringAsFixed(2))} m",
style: TextStyle(
color: TColor.gray,
fontSize: 12,
),
textAlign: TextAlign.center);
}, },
)), )),
)))); ))));

@ -22,7 +22,7 @@ class HomeViewUtil {
List<FlSpot> bpmSecondes2 = List.from(bpmSecondes); List<FlSpot> bpmSecondes2 = List.from(bpmSecondes);
return DataHomeView(normaliserPremierElement(bpmSecondes), normaliserPremierElement(normaliserDeuxiemeElement(bpmSecondes2)), return DataHomeView(normaliserPremierElement(bpmSecondes), normaliserPremierElement(normaliserDeuxiemeElement(bpmSecondes2)),
normaliserPremierElement(normaliserDeuxiemeElement(vitesseSecondes)), altitudeSeconde); normaliserPremierElement(normaliserDeuxiemeElement(vitesseSecondes)), normaliserPremierElement(altitudeSeconde));
} }
List<FlSpot> normaliserDeuxiemeElement(List<FlSpot> liste) { List<FlSpot> normaliserDeuxiemeElement(List<FlSpot> liste) {

@ -47,7 +47,8 @@ class _MobileHomeView extends State<MobileHomeView> {
// -- Speed -- // // -- Speed -- //
double maxSpeed = managerSelectedActivity.getMaxSpeedAllActivitySelected(); double maxSpeed = managerSelectedActivity.getMaxSpeedAllActivitySelected();
double avgSpeed = managerSelectedActivity.getAvgSpeedAllActivitySelected(); double avgSpeed = managerSelectedActivity.getAvgSpeedAllActivitySelected();
data.maxSpeed = maxSpeed;
data.time = context.watch<User>().managerSelectedActivity.getTimeAllActivitySelected();
return Scaffold( return Scaffold(
backgroundColor: TColor.white, backgroundColor: TColor.white,
body: SingleChildScrollView( body: SingleChildScrollView(

@ -92,8 +92,8 @@ class _MobileMainTabViewState extends State<MobileMainTabView> {
width: 40, width: 40,
), ),
TabButton( TabButton(
icon: "assets/img/Camera_tab.svg", icon: "assets/img/mapIcon.svg",
selectIcon: "assets/img/Camera_tab_select.svg", selectIcon: "assets/img/mapIcon_selected.svg",
isActive: selectTab == 2, isActive: selectTab == 2,
onTap: () { onTap: () {
selectTab = 2; selectTab = 2;

@ -76,8 +76,8 @@ class _WebMainTabViewState extends State<WebMainTabView> {
), ),
), ),
sideBarButton( sideBarButton(
icon: "assets/img/icon_map.svg", icon: "assets/img/mapIcon.svg",
selectIcon: "assets/img/icon_map.svg", selectIcon: "assets/img/mapIcon_selected.svg",
index: 2, index: 2,
onTap: () => updateTab(2, const MyMap()), onTap: () => updateTab(2, const MyMap()),
), ),

@ -1,5 +1,7 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_svg/svg.dart';
import 'package:smartfit_app_mobile/common/colo_extension.dart'; import 'package:smartfit_app_mobile/common/colo_extension.dart';
import 'package:smartfit_app_mobile/common_widget/button/round_button.dart';
import 'package:smartfit_app_mobile/view/map/mobile/mobile_my_map.dart'; import 'package:smartfit_app_mobile/view/map/mobile/mobile_my_map.dart';
import 'package:smartfit_app_mobile/view/map/my_map_osm.dart'; import 'package:smartfit_app_mobile/view/map/my_map_osm.dart';
@ -13,6 +15,58 @@ class ChoseMap extends StatefulWidget {
class _ChoseMap extends State<ChoseMap> { class _ChoseMap extends State<ChoseMap> {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
var media = MediaQuery.of(context).size;
return Scaffold(
backgroundColor: TColor.white,
body: SafeArea(
child: Center(
// Utilisation du widget Center pour centrer verticalement
child: Container(
width: media.width,
padding: const EdgeInsets.symmetric(vertical: 15, horizontal: 25),
child: Column(
crossAxisAlignment: CrossAxisAlignment.center,
mainAxisSize: MainAxisSize
.min, // Utilisation de MainAxisSize.min pour que la colonne prenne la hauteur minimale nécessaire
children: [
SizedBox(
height: media.height * 0.1,
),
SvgPicture.asset(
"assets/img/group.svg",
width: media.width * 0.75,
height: media.height * 0.4,
fit: BoxFit.fitWidth,
),
SizedBox(
height: media.height * 0.1,
),
RoundButton(
title: "Use map with google map",
onPressed: () {
Navigator.push(
context,
MaterialPageRoute(
builder: (context) => const MobileMyMaps()));
},
),
SizedBox(
height: media.height * 0.03,
),
RoundButton(
title : "Use map with Open Street Map",
onPressed: () {
Navigator.push(context,
MaterialPageRoute(builder: (context) => const MyMapOSM()));
},
),
Spacer(),
],
),
),
),
),
);
return Scaffold( return Scaffold(
backgroundColor: TColor.white, backgroundColor: TColor.white,
body: SafeArea( body: SafeArea(
@ -20,20 +74,7 @@ class _ChoseMap extends State<ChoseMap> {
mainAxisAlignment: MainAxisAlignment.center, mainAxisAlignment: MainAxisAlignment.center,
crossAxisAlignment: CrossAxisAlignment.center, crossAxisAlignment: CrossAxisAlignment.center,
children: [ children: [
TextButton(
onPressed: () {
Navigator.push(
context,
MaterialPageRoute(
builder: (context) => const MobileMyMaps()));
},
child: const Text("Use map with google map")),
TextButton(
onPressed: () {
Navigator.push(context,
MaterialPageRoute(builder: (context) => const MyMapOSM()));
},
child: const Text("Use map with Open Street Map")),
const Text( const Text(
"Mettre une image la en mode une personne avec des jumelles") "Mettre une image la en mode une personne avec des jumelles")
], ],

@ -25,7 +25,7 @@ class _MobileMyMaps extends State<MobileMyMaps> {
return Scaffold( return Scaffold(
appBar: AppBar( appBar: AppBar(
title: const Text("Carte Google Map "), title: const Text("Carte Google Map "),
backgroundColor: TColor.primaryColor1, backgroundColor: TColor.secondaryColor1,
), ),
body: _getMap()); body: _getMap());
} }

@ -23,7 +23,7 @@ class _MyMapOSM extends State<MyMapOSM> {
return Scaffold( return Scaffold(
appBar: AppBar( appBar: AppBar(
title: const Text("Carte Open Street Map "), title: const Text("Carte Open Street Map "),
backgroundColor: TColor.primaryColor1, backgroundColor: TColor.secondaryColor1,
), ),
body: FlutterMap( body: FlutterMap(
options: MapOptions(center: listPolynines.first), options: MapOptions(center: listPolynines.first),

@ -35,26 +35,6 @@ class _ProfileViewAllPlatforme extends State<ProfileViewAllPlatforme> {
style: TextStyle( style: TextStyle(
color: TColor.black, fontSize: 16, fontWeight: FontWeight.w700), color: TColor.black, fontSize: 16, fontWeight: FontWeight.w700),
), ),
actions: [
InkWell(
onTap: () {},
child: Container(
margin: const EdgeInsets.all(8),
height: 20,
width: 20,
alignment: Alignment.center,
decoration: BoxDecoration(
color: TColor.lightGray,
borderRadius: BorderRadius.circular(10)),
child: Image.asset(
"assets/img/more_btn.png",
width: 15,
height: 15,
fit: BoxFit.contain,
),
),
)
],
), ),
backgroundColor: TColor.white, backgroundColor: TColor.white,
body: SingleChildScrollView( body: SingleChildScrollView(
@ -75,10 +55,7 @@ class _ProfileViewAllPlatforme extends State<ProfileViewAllPlatforme> {
const SizedBox( const SizedBox(
height: 25, height: 25,
), ),
ProfileNotification(widget.positive),
const SizedBox(
height: 25,
),
ProfileOther(widget.otherArr) ProfileOther(widget.otherArr)
], ],
), ),

Loading…
Cancel
Save