forked from eatvio/eatvio_app
90 lines
3.4 KiB
Dart
90 lines
3.4 KiB
Dart
import 'package:flutter/material.dart';
|
||
|
||
class PhysicalActivityScreen extends StatefulWidget {
|
||
const PhysicalActivityScreen({super.key});
|
||
|
||
@override
|
||
State<PhysicalActivityScreen> createState() => _PhysicalActivityScreenState();
|
||
}
|
||
|
||
enum PhysicalActivity { minimum, low, medium, high, extreme, hardWork }
|
||
|
||
class _PhysicalActivityScreenState extends State<PhysicalActivityScreen> {
|
||
PhysicalActivity? _physicalActivity = PhysicalActivity.minimum;
|
||
|
||
@override
|
||
Widget build(BuildContext context) {
|
||
return Scaffold(
|
||
appBar: AppBar(
|
||
title: Text('Физическая нагрузка'),
|
||
),
|
||
body: SingleChildScrollView(
|
||
child: Column(
|
||
children: [
|
||
RadioListTile<PhysicalActivity>(
|
||
title: const Text('1,2 — минимальный (сидячая работа, отсутствие физических нагрузок);'),
|
||
value: PhysicalActivity.minimum,
|
||
groupValue: _physicalActivity,
|
||
onChanged: (PhysicalActivity? value) {
|
||
setState(() {
|
||
_physicalActivity = value;
|
||
});
|
||
},
|
||
),
|
||
RadioListTile<PhysicalActivity>(
|
||
title: const Text('1,375 — низкий (тренировки не менее 20 мин 1–3 раза в неделю);'),
|
||
value: PhysicalActivity.low,
|
||
groupValue: _physicalActivity,
|
||
onChanged: (PhysicalActivity? value) {
|
||
setState(() {
|
||
_physicalActivity = value;
|
||
});
|
||
},
|
||
),
|
||
RadioListTile<PhysicalActivity>(
|
||
title: const Text('1,55 — умеренный (тренировки 30–60 мин 3–4 раза в неделю);'),
|
||
value: PhysicalActivity.medium,
|
||
groupValue: _physicalActivity,
|
||
onChanged: (PhysicalActivity? value) {
|
||
setState(() {
|
||
_physicalActivity = value;
|
||
});
|
||
},
|
||
),
|
||
RadioListTile<PhysicalActivity>(
|
||
title: const Text('1,7 — высокий (тренировки 30–60 мин 5–7 раза в неделю; тяжёлая физическая работа);'),
|
||
value: PhysicalActivity.high,
|
||
groupValue: _physicalActivity,
|
||
onChanged: (PhysicalActivity? value) {
|
||
setState(() {
|
||
_physicalActivity = value;
|
||
});
|
||
},
|
||
),
|
||
RadioListTile<PhysicalActivity>(
|
||
title: const Text('1,9 — экстремальный (несколько интенсивных тренировок в день'),
|
||
value: PhysicalActivity.extreme,
|
||
groupValue: _physicalActivity,
|
||
onChanged: (PhysicalActivity? value) {
|
||
setState(() {
|
||
_physicalActivity = value;
|
||
});
|
||
},
|
||
),
|
||
RadioListTile<PhysicalActivity>(
|
||
title: const Text('1,9 6–7 раз в неделю; очень трудоёмкая работа).'),
|
||
value: PhysicalActivity.hardWork,
|
||
groupValue: _physicalActivity,
|
||
onChanged: (PhysicalActivity? value) {
|
||
setState(() {
|
||
_physicalActivity = value;
|
||
});
|
||
},
|
||
),
|
||
],
|
||
),
|
||
),
|
||
);
|
||
}
|
||
}
|