diff --git a/assets/images/img_female.png b/assets/images/img_female.png new file mode 100644 index 00000000..39e3e4a3 Binary files /dev/null and b/assets/images/img_female.png differ diff --git a/assets/images/img_male.png b/assets/images/img_male.png new file mode 100644 index 00000000..eba4ee26 Binary files /dev/null and b/assets/images/img_male.png differ diff --git a/lib/localization/ru/ru_translations.dart b/lib/localization/ru/ru_translations.dart index 38eb83b7..83806f19 100644 --- a/lib/localization/ru/ru_translations.dart +++ b/lib/localization/ru/ru_translations.dart @@ -51,6 +51,7 @@ final Map ru = { // language_select Screen "lbl_english": "English", + "finish": "Завершить", "preferred_language": "Предпочетаемый язык общения?", // Common String diff --git a/lib/presentation/additional_information_screen/additional_information_screen.dart b/lib/presentation/additional_information_screen/additional_information_screen.dart index 3265f0e0..295a98d7 100644 --- a/lib/presentation/additional_information_screen/additional_information_screen.dart +++ b/lib/presentation/additional_information_screen/additional_information_screen.dart @@ -39,15 +39,22 @@ class _AdditionalInformationScreenState padding: EdgeInsets.symmetric(horizontal: 16.h, vertical: 9.v), child: Column(children: [ SizedBox(height: 7.v), - _buildProgressIndicator(context), + Container( + height: 16.v, + width: 343.h, + decoration: BoxDecoration( + color: theme.colorScheme.onPrimary, + borderRadius: BorderRadius.circular(8.h), + border: Border.all( + color: theme.colorScheme.primary, width: 1.h)), + child: ClipRRect( + borderRadius: BorderRadius.circular(8.h), + child: LinearProgressIndicator( + value: 1, + backgroundColor: theme.colorScheme.onPrimary, + valueColor: AlwaysStoppedAnimation( + appTheme.blueA400)))), SizedBox(height: 20.v), - SizedBox( - width: 192.h, - child: Text("additional_information".tr, - maxLines: 2, - overflow: TextOverflow.ellipsis, - textAlign: TextAlign.center, - style: theme.textTheme.headlineSmall)), SizedBox(height: 73.v), _buildTextFormField(context), Spacer(), @@ -58,7 +65,7 @@ class _AdditionalInformationScreenState showSuccessMessage(context); }), SizedBox(height: 17.v), - Text("skip".tr, style: theme.textTheme.bodyLarge) + Text("finish".tr, style: theme.textTheme.bodyLarge) ])))); } @@ -98,12 +105,6 @@ class _AdditionalInformationScreenState height: 257.v, width: 343.h, child: Stack(alignment: Alignment.center, children: [ - Align( - alignment: Alignment.topLeft, - child: Padding( - padding: EdgeInsets.only(left: 10.h, top: 69.v), - child: Text("enter_information".tr, - style: theme.textTheme.bodyLarge))), Align( alignment: Alignment.center, child: Column(mainAxisSize: MainAxisSize.min, children: [ diff --git a/lib/presentation/allergies_screen/allergies_screen.dart b/lib/presentation/allergies_screen/allergies_screen.dart index e98c2c54..5ea99b12 100644 --- a/lib/presentation/allergies_screen/allergies_screen.dart +++ b/lib/presentation/allergies_screen/allergies_screen.dart @@ -47,7 +47,7 @@ class _AllergiesScreenState extends State { child: ClipRRect( borderRadius: BorderRadius.circular(8.h), child: LinearProgressIndicator( - value: 0.41, + value: 0.62, backgroundColor: theme.colorScheme.onPrimary, valueColor: AlwaysStoppedAnimation( appTheme.blueA400)))), diff --git a/lib/presentation/blood_pressure_screen/blood_pressure_screen.dart b/lib/presentation/blood_pressure_screen/blood_pressure_screen.dart index 79c3832e..a1c940af 100644 --- a/lib/presentation/blood_pressure_screen/blood_pressure_screen.dart +++ b/lib/presentation/blood_pressure_screen/blood_pressure_screen.dart @@ -51,7 +51,7 @@ class _BloodPressureScreenState extends State { child: ClipRRect( borderRadius: BorderRadius.circular(8.h), child: LinearProgressIndicator( - value: 0.63, + value: 0.76, backgroundColor: theme.colorScheme.onPrimary, valueColor: AlwaysStoppedAnimation( appTheme.blueA400))))), diff --git a/lib/presentation/body_circumferences_screen/body_circumferences_screen.dart b/lib/presentation/body_circumferences_screen/body_circumferences_screen.dart index 986271d2..5effd99e 100644 --- a/lib/presentation/body_circumferences_screen/body_circumferences_screen.dart +++ b/lib/presentation/body_circumferences_screen/body_circumferences_screen.dart @@ -48,7 +48,7 @@ class _BodyCircumferencesScreenState extends State { child: ClipRRect( borderRadius: BorderRadius.circular(8.h), child: LinearProgressIndicator( - value: 0.29, + value: 0.40, backgroundColor: theme.colorScheme.onPrimary, valueColor: AlwaysStoppedAnimation( appTheme.blueA400)))), diff --git a/lib/presentation/city_of_living_screen/city_of_living_screen.dart b/lib/presentation/city_of_living_screen/city_of_living_screen.dart index 90688e46..ca154c0b 100644 --- a/lib/presentation/city_of_living_screen/city_of_living_screen.dart +++ b/lib/presentation/city_of_living_screen/city_of_living_screen.dart @@ -8,7 +8,7 @@ import 'package:eatvio_app/widgets/custom_drop_down.dart'; import 'package:eatvio_app/widgets/custom_outlined_button.dart'; import 'package:flutter/material.dart'; -class CityOfLivingScreen extends StatefulWidget { +class CityOfLivingScreen extends StatelessWidget { const CityOfLivingScreen({Key? key}) : super(key: key); static Widget builder(BuildContext context) { @@ -19,11 +19,6 @@ class CityOfLivingScreen extends StatefulWidget { child: CityOfLivingScreen()); } - @override - State createState() => _CityOfLivingScreenState(); -} - -class _CityOfLivingScreenState extends State { @override Widget build(BuildContext context) { mediaQueryData = MediaQuery.of(context); @@ -46,7 +41,7 @@ class _CityOfLivingScreenState extends State { child: ClipRRect( borderRadius: BorderRadius.circular(8.h), child: LinearProgressIndicator( - value: 0.23, + value: 0.32, backgroundColor: theme.colorScheme.onPrimary, valueColor: AlwaysStoppedAnimation( appTheme.blueA400)))), diff --git a/lib/presentation/date_of_birth_screen/date_of_birth_screen.dart b/lib/presentation/date_of_birth_screen/date_of_birth_screen.dart index 26b3a1ab..1d0037fb 100644 --- a/lib/presentation/date_of_birth_screen/date_of_birth_screen.dart +++ b/lib/presentation/date_of_birth_screen/date_of_birth_screen.dart @@ -37,8 +37,21 @@ class _DateOfBirthScreenState extends State { padding: EdgeInsets.symmetric(horizontal: 16.h, vertical: 9.v), child: Column(children: [ - SizedBox(height: 7.v), - _buildProgressIndicator(context), + Container( + height: 16.v, + width: 343.h, + decoration: BoxDecoration( + color: theme.colorScheme.onPrimary, + borderRadius: BorderRadius.circular(8.h), + border: Border.all( + color: theme.colorScheme.primary, width: 1.h)), + child: ClipRRect( + borderRadius: BorderRadius.circular(8.h), + child: LinearProgressIndicator( + value: 0.24, + backgroundColor: theme.colorScheme.onPrimary, + valueColor: AlwaysStoppedAnimation( + appTheme.blueA400)))), SizedBox(height: 38.v), Text("date_of_birth".tr, style: theme.textTheme.headlineSmall), diff --git a/lib/presentation/favorite_foods_screen/favorite_foods_screen.dart b/lib/presentation/favorite_foods_screen/favorite_foods_screen.dart index 8619d3d1..c3d58c68 100644 --- a/lib/presentation/favorite_foods_screen/favorite_foods_screen.dart +++ b/lib/presentation/favorite_foods_screen/favorite_foods_screen.dart @@ -36,7 +36,21 @@ class _FavoriteFoodsScreenState extends State { padding: EdgeInsets.symmetric(horizontal: 16.h, vertical: 9.v), child: Column(children: [ SizedBox(height: 7.v), - _buildProgressIndicator(context), + Container( + height: 16.v, + width: 343.h, + decoration: BoxDecoration( + color: theme.colorScheme.onPrimary, + borderRadius: BorderRadius.circular(8.h), + border: Border.all( + color: theme.colorScheme.primary, width: 1.h)), + child: ClipRRect( + borderRadius: BorderRadius.circular(8.h), + child: LinearProgressIndicator( + value: 0.90, + backgroundColor: theme.colorScheme.onPrimary, + valueColor: AlwaysStoppedAnimation( + appTheme.blueA400)))), SizedBox(height: 19.v), Container( width: 327.h, diff --git a/lib/presentation/favorite_sports_screen/favorite_sports_screen.dart b/lib/presentation/favorite_sports_screen/favorite_sports_screen.dart index aa4c0b37..543a1465 100644 --- a/lib/presentation/favorite_sports_screen/favorite_sports_screen.dart +++ b/lib/presentation/favorite_sports_screen/favorite_sports_screen.dart @@ -38,7 +38,22 @@ class _FavoriteSportsScreenState extends State { mainAxisAlignment: MainAxisAlignment.center, children: [ SizedBox(height: 20.v), - _buildProgressIndicatorSection(context), + Container( + height: 16.v, + width: 343.h, + decoration: BoxDecoration( + color: theme.colorScheme.onPrimary, + borderRadius: BorderRadius.circular(8.h), + border: Border.all( + color: theme.colorScheme.primary, + width: 1.h)), + child: ClipRRect( + borderRadius: BorderRadius.circular(8.h), + child: LinearProgressIndicator( + value: 0.83, + backgroundColor: theme.colorScheme.onPrimary, + valueColor: AlwaysStoppedAnimation( + appTheme.blueA400)))), SizedBox(height: 38.v), Text("your_favorite_sports".tr, style: theme.textTheme.headlineSmall), diff --git a/lib/presentation/gender_screen/gender_screen.dart b/lib/presentation/gender_screen/gender_screen.dart index 6cf57ebc..66c4f3ff 100644 --- a/lib/presentation/gender_screen/gender_screen.dart +++ b/lib/presentation/gender_screen/gender_screen.dart @@ -7,6 +7,8 @@ import 'package:eatvio_app/widgets/app_bar/custom_app_bar.dart'; import 'package:eatvio_app/widgets/custom_outlined_button.dart'; import 'package:flutter/material.dart'; +enum Gender { male, female } + class GenderScreen extends StatefulWidget { const GenderScreen({Key? key}) : super(key: key); @@ -23,6 +25,7 @@ class GenderScreen extends StatefulWidget { } class _GenderScreenState extends State { + Gender? _gender; @override Widget build(BuildContext context) { mediaQueryData = MediaQuery.of(context); @@ -36,14 +39,58 @@ class _GenderScreenState extends State { EdgeInsets.symmetric(horizontal: 16.h, vertical: 9.v), child: Column(children: [ SizedBox(height: 7.v), - _buildProgressIndicator(context), + Container( + height: 16.v, + width: 343.h, + decoration: BoxDecoration( + color: theme.colorScheme.onPrimary, + borderRadius: BorderRadius.circular(8.h), + border: Border.all( + color: theme.colorScheme.primary, width: 1.h)), + child: ClipRRect( + borderRadius: BorderRadius.circular(8.h), + child: LinearProgressIndicator( + value: 0.16, + backgroundColor: theme.colorScheme.onPrimary, + valueColor: AlwaysStoppedAnimation( + appTheme.blueA400)))), SizedBox(height: 36.v), Text("your_gender".tr, style: theme.textTheme.headlineSmall), - Spacer(flex: 33), - Text(""), - SizedBox(height: 20.v), - Text(""), + RadioListTile( + title: Text('Мужской'), + value: Gender.male, + groupValue: _gender, + onChanged: (value) { + setState(() { + _gender = value as Gender?; + }); + }, + secondary: Image.asset( + _gender == Gender.male + ? 'assets/images/img_male.png' + : 'assets/images/img_male.png', + width: 40, + height: 40, + ), + ), + RadioListTile( + title: Text('Женский'), + value: Gender.female, + groupValue: _gender, + onChanged: (value) { + setState(() { + _gender = value as Gender?; + }); + }, + secondary: Image.asset( + _gender == Gender.female + ? 'assets/images/img_female.png' + : 'assets/images/img_female.png', + width: 40, + height: 40, + ), + ), Spacer(flex: 66), CustomOutlinedButton( text: "continue".tr.toUpperCase(), diff --git a/lib/presentation/height_screen/height_screen.dart b/lib/presentation/height_screen/height_screen.dart index 61108c63..0747e66b 100644 --- a/lib/presentation/height_screen/height_screen.dart +++ b/lib/presentation/height_screen/height_screen.dart @@ -46,7 +46,7 @@ class _HeightScreenState extends State { child: ClipRRect( borderRadius: BorderRadius.circular(8.h), child: LinearProgressIndicator( - value: 0.35, + value: 0.55, backgroundColor: theme.colorScheme.onPrimary, valueColor: AlwaysStoppedAnimation( appTheme.blueA400)))), diff --git a/lib/presentation/language_select_screen/language_select_screen.dart b/lib/presentation/language_select_screen/language_select_screen.dart index aa3a759e..c947456e 100644 --- a/lib/presentation/language_select_screen/language_select_screen.dart +++ b/lib/presentation/language_select_screen/language_select_screen.dart @@ -35,7 +35,21 @@ class _LanguageSelectScreenState extends State { height: 50.adaptSize, width: 50.adaptSize), SizedBox(height: 20.v), - _buildProgressIndicatorSection(context), + Container( + height: 16.v, + width: 343.h, + decoration: BoxDecoration( + color: theme.colorScheme.onPrimary, + borderRadius: BorderRadius.circular(8.h), + border: Border.all( + color: theme.colorScheme.primary, width: 1.h)), + child: ClipRRect( + borderRadius: BorderRadius.circular(8.h), + child: LinearProgressIndicator( + value: 0.08, + backgroundColor: theme.colorScheme.onPrimary, + valueColor: AlwaysStoppedAnimation( + appTheme.blueA400)))), SizedBox(height: 20.v), Container( width: 262.h, diff --git a/lib/presentation/medicine_intake_screen/medicine_intake_screen.dart b/lib/presentation/medicine_intake_screen/medicine_intake_screen.dart index b6361dba..7ca0eabd 100644 --- a/lib/presentation/medicine_intake_screen/medicine_intake_screen.dart +++ b/lib/presentation/medicine_intake_screen/medicine_intake_screen.dart @@ -47,7 +47,7 @@ class _MedicineIntakeScreenState extends State { child: ClipRRect( borderRadius: BorderRadius.circular(8.h), child: LinearProgressIndicator( - value: 0.47, + value: 0.69, backgroundColor: theme.colorScheme.onPrimary, valueColor: AlwaysStoppedAnimation( appTheme.blueA400)))), diff --git a/lib/presentation/schedule_screen/schedule_screen.dart b/lib/presentation/schedule_screen/schedule_screen.dart index c208cb5b..636bea39 100644 --- a/lib/presentation/schedule_screen/schedule_screen.dart +++ b/lib/presentation/schedule_screen/schedule_screen.dart @@ -36,7 +36,21 @@ class _ScheduleScreenState extends State { padding: EdgeInsets.symmetric(horizontal: 16.h, vertical: 9.v), child: Column(children: [ SizedBox(height: 7.v), - _buildProgressIndicator(context), + Container( + height: 16.v, + width: 343.h, + decoration: BoxDecoration( + color: theme.colorScheme.onPrimary, + borderRadius: BorderRadius.circular(8.h), + border: Border.all( + color: theme.colorScheme.primary, width: 1.h)), + child: ClipRRect( + borderRadius: BorderRadius.circular(8.h), + child: LinearProgressIndicator( + value: 0.95, + backgroundColor: theme.colorScheme.onPrimary, + valueColor: AlwaysStoppedAnimation( + appTheme.blueA400)))), SizedBox(height: 38.v), Text("your_schedule".tr, style: theme.textTheme.headlineSmall), diff --git a/lib/presentation/weight_screen/weight_screen.dart b/lib/presentation/weight_screen/weight_screen.dart index a77ab141..abe19eb4 100644 --- a/lib/presentation/weight_screen/weight_screen.dart +++ b/lib/presentation/weight_screen/weight_screen.dart @@ -46,7 +46,7 @@ class _WeightScreenState extends State { child: ClipRRect( borderRadius: BorderRadius.circular(8.h), child: LinearProgressIndicator( - value: 0.35, + value: 0.48, backgroundColor: theme.colorScheme.onPrimary, valueColor: AlwaysStoppedAnimation( appTheme.blueA400)))),