From 2a3864c287670bcb1f6f7464e8861fdb134962d7 Mon Sep 17 00:00:00 2001 From: 98spag Date: Sun, 25 Jun 2023 14:43:07 +0200 Subject: [PATCH] feat: refactoring --- .dart_tool/package_config.json | 222 ++++----- .dart_tool/package_config_subset | 448 +++++++++--------- .env | 9 +- .flutter-plugins-dependencies | 2 +- assets/images/fries.png | Bin 554 -> 0 bytes assets/images/ice.png | Bin 509 -> 0 bytes assets/images/tea.png | Bin 573 -> 0 bytes .../components/diet_chart_component.dart | 74 --- .../secondary_big_text_component.dart | 19 - .../components/not_found_component.dart | 20 - ...atistics_circular_indicator_component.dart | 26 - .../components/welcome_text_field.dart | 192 -------- lib/android/config/mock_data_helper.dart | 62 --- lib/{android/android_app.dart => app.dart} | 8 +- .../config => helper}/cast_helper.dart | 0 .../config => helper}/format_helper.dart | 0 .../setup_todaybox.dart} | 6 +- lib/main.dart | 19 +- lib/{android => }/models/card.dart | 0 lib/{android => }/models/card_item.dart | 0 lib/{android => }/models/food.dart | 0 lib/{android => }/models/food.g.dart | 0 lib/{android => }/models/food_dto.dart | 0 lib/{android => }/models/form_builder.dart | 0 lib/{android => }/models/user.dart | 0 lib/{android => }/models/user.g.dart | 0 .../pages/nav_pages/main_page.dart | 22 +- .../progress_page/progress_page.dart} | 18 +- .../charts/progress_charts_overview.dart} | 12 +- .../horizontal_chart_text_component.dart} | 4 +- .../charts/progress_charts.dart} | 20 +- .../charts/progress_circular_chart.dart} | 8 +- .../charts/progress_horizontal_chart.dart} | 10 +- .../sub_components/tabs/timespan_tabs.dart} | 22 +- .../tabs/timespan_tabs_text.dart} | 11 +- .../progress_all_meals_component.dart} | 14 +- .../list_view/progress_card.dart} | 23 +- .../list_view/progress_food_list.dart} | 14 +- .../statistics_page/statistics_page.dart} | 16 +- .../sub_components}/chart.dart | 31 +- .../today_page/sub_components}/meals.dart | 11 +- .../sub_components/card_data_food.dart} | 6 +- .../sub_components/card_food_item.dart} | 0 .../sub_components/card_title.dart} | 0 .../today_card/today_card.dart} | 14 +- .../subpages/today_page}/today_page.dart | 3 +- .../search_food}/search_food.dart | 3 +- .../search_food/sub_components/search.dart} | 21 +- .../sub_components/searched_food.dart} | 18 +- .../shared_components}/form_builder.dart | 5 +- .../form_builder_text_field.dart} | 7 +- .../shared_components/secondary_text.dart} | 0 .../shared_components/title.dart} | 0 .../initial_user_data_form.dart} | 2 +- .../user_data_form/user_data_form.dart} | 2 +- .../config => services}/statistics.dart | 53 ++- pubspec.yaml | 3 - test/statistics_test.dart | 44 +- 58 files changed, 558 insertions(+), 966 deletions(-) delete mode 100644 assets/images/fries.png delete mode 100644 assets/images/ice.png delete mode 100644 assets/images/tea.png delete mode 100644 lib/android/components/diet_chart_component.dart delete mode 100644 lib/android/components/meal_page_text/secondary_big_text_component.dart delete mode 100644 lib/android/components/not_found_component.dart delete mode 100644 lib/android/components/statistics_circular_indicator_component.dart delete mode 100644 lib/android/components/welcome_text_field.dart delete mode 100644 lib/android/config/mock_data_helper.dart rename lib/{android/android_app.dart => app.dart} (69%) rename lib/{android/config => helper}/cast_helper.dart (100%) rename lib/{android/config => helper}/format_helper.dart (100%) rename lib/{android/config/setup_todaybox_config.dart => helper/setup_todaybox.dart} (76%) rename lib/{android => }/models/card.dart (100%) rename lib/{android => }/models/card_item.dart (100%) rename lib/{android => }/models/food.dart (100%) rename lib/{android => }/models/food.g.dart (100%) rename lib/{android => }/models/food_dto.dart (100%) rename lib/{android => }/models/form_builder.dart (100%) rename lib/{android => }/models/user.dart (100%) rename lib/{android => }/models/user.g.dart (100%) rename lib/{android => }/pages/nav_pages/main_page.dart (79%) rename lib/{android/pages/nav_pages/meal_plan_page.dart => pages/nav_pages/subpages/progress_page/progress_page.dart} (57%) rename lib/{android/components/chart/round_chart.dart => pages/nav_pages/subpages/progress_page/sub_components/charts/progress_charts_overview.dart} (59%) rename lib/{android/components/meal_page_text/statistics_text_component.dart => pages/nav_pages/subpages/progress_page/sub_components/charts/sub_components/charts/horizontal_chart_text_component.dart} (73%) rename lib/{android/components/meal_page_text/statistics_today_component.dart => pages/nav_pages/subpages/progress_page/sub_components/charts/sub_components/charts/progress_charts.dart} (62%) rename lib/{android/components/circular/circular_component.dart => pages/nav_pages/subpages/progress_page/sub_components/charts/sub_components/charts/progress_circular_chart.dart} (77%) rename lib/{android/components/circular/line_circular_with_text_component.dart => pages/nav_pages/subpages/progress_page/sub_components/charts/sub_components/charts/progress_horizontal_chart.dart} (70%) rename lib/{android/components/meal_page_text/days_component.dart => pages/nav_pages/subpages/progress_page/sub_components/charts/sub_components/tabs/timespan_tabs.dart} (64%) rename lib/{android/components/meal_page_text/days_text_component.dart => pages/nav_pages/subpages/progress_page/sub_components/charts/sub_components/tabs/timespan_tabs_text.dart} (63%) rename lib/{android/components/meal_page_food_component.dart => pages/nav_pages/subpages/progress_page/sub_components/list_view/progress_all_meals_component.dart} (57%) rename lib/{android/components/card_component.dart => pages/nav_pages/subpages/progress_page/sub_components/list_view/progress_card.dart} (88%) rename lib/{android/components/food_list_component.dart => pages/nav_pages/subpages/progress_page/sub_components/list_view/progress_food_list.dart} (65%) rename lib/{android/pages/nav_pages/progress_page.dart => pages/nav_pages/subpages/statistics_page/statistics_page.dart} (80%) rename lib/{android/components/chart => pages/nav_pages/subpages/statistics_page/sub_components}/chart.dart (93%) rename lib/{android/components => pages/nav_pages/subpages/today_page/sub_components}/meals.dart (76%) rename lib/{android/components/card/card_data_food_component.dart => pages/nav_pages/subpages/today_page/sub_components/today_card/sub_components/card_data_food.dart} (91%) rename lib/{android/components/card/card_food_item_component.dart => pages/nav_pages/subpages/today_page/sub_components/today_card/sub_components/card_food_item.dart} (100%) rename lib/{android/components/card/card_title_component.dart => pages/nav_pages/subpages/today_page/sub_components/today_card/sub_components/card_title.dart} (100%) rename lib/{android/components/card/card_component.dart => pages/nav_pages/subpages/today_page/sub_components/today_card/today_card.dart} (82%) rename lib/{android/pages/nav_pages => pages/nav_pages/subpages/today_page}/today_page.dart (84%) rename lib/{android/pages/nav_pages => pages/search_food}/search_food.dart (93%) rename lib/{android/components/search_component.dart => pages/search_food/sub_components/search.dart} (83%) rename lib/{android/components/founded_search_component.dart => pages/search_food/sub_components/searched_food.dart} (92%) rename lib/{android/components/form => pages/shared_components}/form_builder.dart (97%) rename lib/{android/components/form/form_builder_text_field_component.dart => pages/shared_components/form_builder_text_field.dart} (94%) rename lib/{android/components/meal_page_text/secondary_text_component.dart => pages/shared_components/secondary_text.dart} (100%) rename lib/{android/components/meal_page_text/title_component.dart => pages/shared_components/title.dart} (100%) rename lib/{android/pages/welcome.dart => pages/user_data_form/initial_user_data_form.dart} (90%) rename lib/{android/pages/settings.dart => pages/user_data_form/user_data_form.dart} (93%) rename lib/{android/config => services}/statistics.dart (91%) diff --git a/.dart_tool/package_config.json b/.dart_tool/package_config.json index c1d9134..e73180a 100644 --- a/.dart_tool/package_config.json +++ b/.dart_tool/package_config.json @@ -3,661 +3,661 @@ "packages": [ { "name": "_fe_analyzer_shared", - "rootUri": "file:///Users/bogdan/.pub-cache/hosted/pub.dev/_fe_analyzer_shared-61.0.0", + "rootUri": "file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/_fe_analyzer_shared-61.0.0", "packageUri": "lib/", "languageVersion": "2.17" }, { "name": "adaptive_dialog", - "rootUri": "file:///Users/bogdan/.pub-cache/hosted/pub.dev/adaptive_dialog-1.8.3+1", + "rootUri": "file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/adaptive_dialog-1.8.3+1", "packageUri": "lib/", "languageVersion": "2.17" }, { "name": "analyzer", - "rootUri": "file:///Users/bogdan/.pub-cache/hosted/pub.dev/analyzer-5.13.0", + "rootUri": "file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/analyzer-5.13.0", "packageUri": "lib/", "languageVersion": "2.19" }, { "name": "animate_gradient", - "rootUri": "file:///Users/bogdan/.pub-cache/hosted/pub.dev/animate_gradient-0.0.2+1", + "rootUri": "file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/animate_gradient-0.0.2+1", "packageUri": "lib/", "languageVersion": "2.16" }, { "name": "animations", - "rootUri": "file:///Users/bogdan/.pub-cache/hosted/pub.dev/animations-2.0.7", + "rootUri": "file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/animations-2.0.7", "packageUri": "lib/", "languageVersion": "2.12" }, { "name": "args", - "rootUri": "file:///Users/bogdan/.pub-cache/hosted/pub.dev/args-2.4.2", + "rootUri": "file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/args-2.4.2", "packageUri": "lib/", "languageVersion": "2.19" }, { "name": "assorted_layout_widgets", - "rootUri": "file:///Users/bogdan/.pub-cache/hosted/pub.dev/assorted_layout_widgets-8.0.4", + "rootUri": "file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/assorted_layout_widgets-8.0.4", "packageUri": "lib/", "languageVersion": "2.18" }, { "name": "async", - "rootUri": "file:///Users/bogdan/.pub-cache/hosted/pub.dev/async-2.10.0", + "rootUri": "file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/async-2.10.0", "packageUri": "lib/", "languageVersion": "2.18" }, { "name": "basic_utils", - "rootUri": "file:///Users/bogdan/.pub-cache/hosted/pub.dev/basic_utils-5.5.4", + "rootUri": "file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/basic_utils-5.5.4", "packageUri": "lib/", "languageVersion": "2.18" }, { "name": "boolean_selector", - "rootUri": "file:///Users/bogdan/.pub-cache/hosted/pub.dev/boolean_selector-2.1.1", + "rootUri": "file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/boolean_selector-2.1.1", "packageUri": "lib/", "languageVersion": "2.17" }, { "name": "bs_flutter_modal", - "rootUri": "file:///Users/bogdan/.pub-cache/hosted/pub.dev/bs_flutter_modal-1.0.6", + "rootUri": "file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/bs_flutter_modal-1.0.6", "packageUri": "lib/", "languageVersion": "2.12" }, { "name": "bs_flutter_utils", - "rootUri": "file:///Users/bogdan/.pub-cache/hosted/pub.dev/bs_flutter_utils-1.0.2", + "rootUri": "file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/bs_flutter_utils-1.0.2", "packageUri": "lib/", "languageVersion": "2.12" }, { "name": "build", - "rootUri": "file:///Users/bogdan/.pub-cache/hosted/pub.dev/build-2.3.1", + "rootUri": "file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/build-2.3.1", "packageUri": "lib/", "languageVersion": "2.17" }, { "name": "build_config", - "rootUri": "file:///Users/bogdan/.pub-cache/hosted/pub.dev/build_config-1.1.1", + "rootUri": "file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/build_config-1.1.1", "packageUri": "lib/", "languageVersion": "2.14" }, { "name": "build_daemon", - "rootUri": "file:///Users/bogdan/.pub-cache/hosted/pub.dev/build_daemon-3.1.1", + "rootUri": "file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/build_daemon-3.1.1", "packageUri": "lib/", "languageVersion": "2.14" }, { "name": "build_resolvers", - "rootUri": "file:///Users/bogdan/.pub-cache/hosted/pub.dev/build_resolvers-2.2.0", + "rootUri": "file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/build_resolvers-2.2.0", "packageUri": "lib/", "languageVersion": "2.18" }, { "name": "build_runner", - "rootUri": "file:///Users/bogdan/.pub-cache/hosted/pub.dev/build_runner-2.3.3", + "rootUri": "file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/build_runner-2.3.3", "packageUri": "lib/", "languageVersion": "2.14" }, { "name": "build_runner_core", - "rootUri": "file:///Users/bogdan/.pub-cache/hosted/pub.dev/build_runner_core-7.2.7+1", + "rootUri": "file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/build_runner_core-7.2.7+1", "packageUri": "lib/", "languageVersion": "2.17" }, { "name": "built_collection", - "rootUri": "file:///Users/bogdan/.pub-cache/hosted/pub.dev/built_collection-5.1.1", + "rootUri": "file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/built_collection-5.1.1", "packageUri": "lib/", "languageVersion": "2.12" }, { "name": "built_value", - "rootUri": "file:///Users/bogdan/.pub-cache/hosted/pub.dev/built_value-8.6.1", + "rootUri": "file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/built_value-8.6.1", "packageUri": "lib/", "languageVersion": "2.12" }, { "name": "card_swiper", - "rootUri": "file:///Users/bogdan/.pub-cache/hosted/pub.dev/card_swiper-2.0.4", + "rootUri": "file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/card_swiper-2.0.4", "packageUri": "lib/", "languageVersion": "2.12" }, { "name": "characters", - "rootUri": "file:///Users/bogdan/.pub-cache/hosted/pub.dev/characters-1.2.1", + "rootUri": "file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/characters-1.2.1", "packageUri": "lib/", "languageVersion": "2.12" }, { "name": "checked_yaml", - "rootUri": "file:///Users/bogdan/.pub-cache/hosted/pub.dev/checked_yaml-2.0.3", + "rootUri": "file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/checked_yaml-2.0.3", "packageUri": "lib/", "languageVersion": "2.19" }, { "name": "clock", - "rootUri": "file:///Users/bogdan/.pub-cache/hosted/pub.dev/clock-1.1.1", + "rootUri": "file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/clock-1.1.1", "packageUri": "lib/", "languageVersion": "2.12" }, { "name": "code_builder", - "rootUri": "file:///Users/bogdan/.pub-cache/hosted/pub.dev/code_builder-4.5.0", + "rootUri": "file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/code_builder-4.5.0", "packageUri": "lib/", "languageVersion": "2.19" }, { "name": "collection", - "rootUri": "file:///Users/bogdan/.pub-cache/hosted/pub.dev/collection-1.17.0", + "rootUri": "file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/collection-1.17.0", "packageUri": "lib/", "languageVersion": "2.12" }, { "name": "convert", - "rootUri": "file:///Users/bogdan/.pub-cache/hosted/pub.dev/convert-3.1.1", + "rootUri": "file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/convert-3.1.1", "packageUri": "lib/", "languageVersion": "2.18" }, { "name": "crypto", - "rootUri": "file:///Users/bogdan/.pub-cache/hosted/pub.dev/crypto-3.0.3", + "rootUri": "file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/crypto-3.0.3", "packageUri": "lib/", "languageVersion": "2.19" }, { "name": "cupertino_icons", - "rootUri": "file:///Users/bogdan/.pub-cache/hosted/pub.dev/cupertino_icons-1.0.5", + "rootUri": "file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/cupertino_icons-1.0.5", "packageUri": "lib/", "languageVersion": "2.12" }, { "name": "dart_style", - "rootUri": "file:///Users/bogdan/.pub-cache/hosted/pub.dev/dart_style-2.3.1", + "rootUri": "file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/dart_style-2.3.1", "packageUri": "lib/", "languageVersion": "2.19" }, { "name": "dynamic_color", - "rootUri": "file:///Users/bogdan/.pub-cache/hosted/pub.dev/dynamic_color-1.6.5", + "rootUri": "file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/dynamic_color-1.6.5", "packageUri": "lib/", "languageVersion": "2.16" }, { "name": "empty_widget", - "rootUri": "file:///Users/bogdan/.pub-cache/hosted/pub.dev/empty_widget-0.0.5", + "rootUri": "file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/empty_widget-0.0.5", "packageUri": "lib/", "languageVersion": "2.12" }, { "name": "equatable", - "rootUri": "file:///Users/bogdan/.pub-cache/hosted/pub.dev/equatable-2.0.5", + "rootUri": "file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/equatable-2.0.5", "packageUri": "lib/", "languageVersion": "2.12" }, { "name": "fake_async", - "rootUri": "file:///Users/bogdan/.pub-cache/hosted/pub.dev/fake_async-1.3.1", + "rootUri": "file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/fake_async-1.3.1", "packageUri": "lib/", "languageVersion": "2.12" }, { "name": "ffi", - "rootUri": "file:///Users/bogdan/.pub-cache/hosted/pub.dev/ffi-2.0.2", + "rootUri": "file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/ffi-2.0.2", "packageUri": "lib/", "languageVersion": "2.17" }, { "name": "file", - "rootUri": "file:///Users/bogdan/.pub-cache/hosted/pub.dev/file-6.1.4", + "rootUri": "file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/file-6.1.4", "packageUri": "lib/", "languageVersion": "2.12" }, { "name": "fixnum", - "rootUri": "file:///Users/bogdan/.pub-cache/hosted/pub.dev/fixnum-1.1.0", + "rootUri": "file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/fixnum-1.1.0", "packageUri": "lib/", "languageVersion": "2.19" }, { "name": "fl_chart", - "rootUri": "file:///Users/bogdan/.pub-cache/hosted/pub.dev/fl_chart-0.62.0", + "rootUri": "file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/fl_chart-0.62.0", "packageUri": "lib/", "languageVersion": "2.17" }, { "name": "flutter", - "rootUri": "file:///usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter", + "rootUri": "file:///C:/Users/Nutzer/flutter/packages/flutter", "packageUri": "lib/", "languageVersion": "2.17" }, { "name": "flutter_dotenv", - "rootUri": "file:///Users/bogdan/.pub-cache/hosted/pub.dev/flutter_dotenv-5.1.0", + "rootUri": "file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/flutter_dotenv-5.1.0", "packageUri": "lib/", "languageVersion": "2.12" }, { "name": "flutter_form_builder", - "rootUri": "file:///Users/bogdan/.pub-cache/hosted/pub.dev/flutter_form_builder-8.0.0", + "rootUri": "file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/flutter_form_builder-8.0.0", "packageUri": "lib/", "languageVersion": "2.19" }, { "name": "flutter_lints", - "rootUri": "file:///Users/bogdan/.pub-cache/hosted/pub.dev/flutter_lints-2.0.1", + "rootUri": "file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/flutter_lints-2.0.1", "packageUri": "lib/", "languageVersion": "2.17" }, { "name": "flutter_localizations", - "rootUri": "file:///usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter_localizations", + "rootUri": "file:///C:/Users/Nutzer/flutter/packages/flutter_localizations", "packageUri": "lib/", "languageVersion": "2.17" }, { "name": "flutter_profile_picture", - "rootUri": "file:///Users/bogdan/.pub-cache/hosted/pub.dev/flutter_profile_picture-2.0.0", + "rootUri": "file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/flutter_profile_picture-2.0.0", "packageUri": "lib/", "languageVersion": "2.12" }, { "name": "flutter_test", - "rootUri": "file:///usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter_test", + "rootUri": "file:///C:/Users/Nutzer/flutter/packages/flutter_test", "packageUri": "lib/", "languageVersion": "2.17" }, { "name": "flutter_web_plugins", - "rootUri": "file:///usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter_web_plugins", + "rootUri": "file:///C:/Users/Nutzer/flutter/packages/flutter_web_plugins", "packageUri": "lib/", "languageVersion": "2.17" }, { "name": "fluttertoast", - "rootUri": "file:///Users/bogdan/.pub-cache/hosted/pub.dev/fluttertoast-8.2.2", + "rootUri": "file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/fluttertoast-8.2.2", "packageUri": "lib/", "languageVersion": "2.12" }, { "name": "form_builder_validators", - "rootUri": "file:///Users/bogdan/.pub-cache/hosted/pub.dev/form_builder_validators-8.6.1", + "rootUri": "file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/form_builder_validators-8.6.1", "packageUri": "lib/", "languageVersion": "2.19" }, { "name": "frontend_server_client", - "rootUri": "file:///Users/bogdan/.pub-cache/hosted/pub.dev/frontend_server_client-3.2.0", + "rootUri": "file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/frontend_server_client-3.2.0", "packageUri": "lib/", "languageVersion": "2.12" }, { "name": "glob", - "rootUri": "file:///Users/bogdan/.pub-cache/hosted/pub.dev/glob-2.1.2", + "rootUri": "file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/glob-2.1.2", "packageUri": "lib/", "languageVersion": "2.19" }, { "name": "graphs", - "rootUri": "file:///Users/bogdan/.pub-cache/hosted/pub.dev/graphs-2.3.1", + "rootUri": "file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/graphs-2.3.1", "packageUri": "lib/", "languageVersion": "2.18" }, { "name": "hive", - "rootUri": "file:///Users/bogdan/.pub-cache/hosted/pub.dev/hive-2.2.3", + "rootUri": "file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/hive-2.2.3", "packageUri": "lib/", "languageVersion": "2.12" }, { "name": "hive_flutter", - "rootUri": "file:///Users/bogdan/.pub-cache/hosted/pub.dev/hive_flutter-1.1.0", + "rootUri": "file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/hive_flutter-1.1.0", "packageUri": "lib/", "languageVersion": "2.12" }, { "name": "hive_generator", - "rootUri": "file:///Users/bogdan/.pub-cache/hosted/pub.dev/hive_generator-2.0.0", + "rootUri": "file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/hive_generator-2.0.0", "packageUri": "lib/", "languageVersion": "2.12" }, { "name": "http", - "rootUri": "file:///Users/bogdan/.pub-cache/hosted/pub.dev/http-0.13.6", + "rootUri": "file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/http-0.13.6", "packageUri": "lib/", "languageVersion": "2.19" }, { "name": "http_multi_server", - "rootUri": "file:///Users/bogdan/.pub-cache/hosted/pub.dev/http_multi_server-3.2.1", + "rootUri": "file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/http_multi_server-3.2.1", "packageUri": "lib/", "languageVersion": "2.12" }, { "name": "http_parser", - "rootUri": "file:///Users/bogdan/.pub-cache/hosted/pub.dev/http_parser-4.0.2", + "rootUri": "file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/http_parser-4.0.2", "packageUri": "lib/", "languageVersion": "2.12" }, { "name": "intersperse", - "rootUri": "file:///Users/bogdan/.pub-cache/hosted/pub.dev/intersperse-2.0.0", + "rootUri": "file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/intersperse-2.0.0", "packageUri": "lib/", "languageVersion": "2.12" }, { "name": "intl", - "rootUri": "file:///Users/bogdan/.pub-cache/hosted/pub.dev/intl-0.17.0", + "rootUri": "file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/intl-0.17.0", "packageUri": "lib/", "languageVersion": "2.12" }, { "name": "io", - "rootUri": "file:///Users/bogdan/.pub-cache/hosted/pub.dev/io-1.0.4", + "rootUri": "file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/io-1.0.4", "packageUri": "lib/", "languageVersion": "2.12" }, { "name": "js", - "rootUri": "file:///Users/bogdan/.pub-cache/hosted/pub.dev/js-0.6.5", + "rootUri": "file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/js-0.6.5", "packageUri": "lib/", "languageVersion": "2.16" }, { "name": "json_annotation", - "rootUri": "file:///Users/bogdan/.pub-cache/hosted/pub.dev/json_annotation-4.8.1", + "rootUri": "file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/json_annotation-4.8.1", "packageUri": "lib/", "languageVersion": "2.19" }, { "name": "lints", - "rootUri": "file:///Users/bogdan/.pub-cache/hosted/pub.dev/lints-2.0.1", + "rootUri": "file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/lints-2.0.1", "packageUri": "lib/", "languageVersion": "2.17" }, { "name": "logging", - "rootUri": "file:///Users/bogdan/.pub-cache/hosted/pub.dev/logging-1.2.0", + "rootUri": "file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/logging-1.2.0", "packageUri": "lib/", "languageVersion": "2.19" }, { "name": "macos_ui", - "rootUri": "file:///Users/bogdan/.pub-cache/hosted/pub.dev/macos_ui-1.12.2", + "rootUri": "file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/macos_ui-1.12.2", "packageUri": "lib/", "languageVersion": "2.17" }, { "name": "matcher", - "rootUri": "file:///Users/bogdan/.pub-cache/hosted/pub.dev/matcher-0.12.13", + "rootUri": "file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/matcher-0.12.13", "packageUri": "lib/", "languageVersion": "2.18" }, { "name": "material_color_utilities", - "rootUri": "file:///Users/bogdan/.pub-cache/hosted/pub.dev/material_color_utilities-0.2.0", + "rootUri": "file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/material_color_utilities-0.2.0", "packageUri": "lib/", "languageVersion": "2.13" }, { "name": "matrix4_transform", - "rootUri": "file:///Users/bogdan/.pub-cache/hosted/pub.dev/matrix4_transform-2.0.1", + "rootUri": "file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/matrix4_transform-2.0.1", "packageUri": "lib/", "languageVersion": "2.13" }, { "name": "meta", - "rootUri": "file:///Users/bogdan/.pub-cache/hosted/pub.dev/meta-1.8.0", + "rootUri": "file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/meta-1.8.0", "packageUri": "lib/", "languageVersion": "2.12" }, { "name": "mime", - "rootUri": "file:///Users/bogdan/.pub-cache/hosted/pub.dev/mime-1.0.4", + "rootUri": "file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/mime-1.0.4", "packageUri": "lib/", "languageVersion": "2.18" }, { "name": "package_config", - "rootUri": "file:///Users/bogdan/.pub-cache/hosted/pub.dev/package_config-2.1.0", + "rootUri": "file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/package_config-2.1.0", "packageUri": "lib/", "languageVersion": "2.12" }, { "name": "path", - "rootUri": "file:///Users/bogdan/.pub-cache/hosted/pub.dev/path-1.8.2", + "rootUri": "file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/path-1.8.2", "packageUri": "lib/", "languageVersion": "2.12" }, { "name": "path_provider", - "rootUri": "file:///Users/bogdan/.pub-cache/hosted/pub.dev/path_provider-2.0.15", + "rootUri": "file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/path_provider-2.0.15", "packageUri": "lib/", "languageVersion": "2.17" }, { "name": "path_provider_android", - "rootUri": "file:///Users/bogdan/.pub-cache/hosted/pub.dev/path_provider_android-2.0.27", + "rootUri": "file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/path_provider_android-2.0.27", "packageUri": "lib/", "languageVersion": "2.17" }, { "name": "path_provider_foundation", - "rootUri": "file:///Users/bogdan/.pub-cache/hosted/pub.dev/path_provider_foundation-2.2.3", + "rootUri": "file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/path_provider_foundation-2.2.3", "packageUri": "lib/", "languageVersion": "2.18" }, { "name": "path_provider_linux", - "rootUri": "file:///Users/bogdan/.pub-cache/hosted/pub.dev/path_provider_linux-2.1.11", + "rootUri": "file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/path_provider_linux-2.1.11", "packageUri": "lib/", "languageVersion": "2.18" }, { "name": "path_provider_platform_interface", - "rootUri": "file:///Users/bogdan/.pub-cache/hosted/pub.dev/path_provider_platform_interface-2.0.6", + "rootUri": "file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/path_provider_platform_interface-2.0.6", "packageUri": "lib/", "languageVersion": "2.12" }, { "name": "path_provider_windows", - "rootUri": "file:///Users/bogdan/.pub-cache/hosted/pub.dev/path_provider_windows-2.1.7", + "rootUri": "file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/path_provider_windows-2.1.7", "packageUri": "lib/", "languageVersion": "2.18" }, { "name": "percent_indicator", - "rootUri": "file:///Users/bogdan/.pub-cache/hosted/pub.dev/percent_indicator-4.2.3", + "rootUri": "file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/percent_indicator-4.2.3", "packageUri": "lib/", "languageVersion": "2.12" }, { "name": "platform", - "rootUri": "file:///Users/bogdan/.pub-cache/hosted/pub.dev/platform-3.1.0", + "rootUri": "file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/platform-3.1.0", "packageUri": "lib/", "languageVersion": "2.12" }, { "name": "plugin_platform_interface", - "rootUri": "file:///Users/bogdan/.pub-cache/hosted/pub.dev/plugin_platform_interface-2.1.4", + "rootUri": "file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/plugin_platform_interface-2.1.4", "packageUri": "lib/", "languageVersion": "2.17" }, { "name": "pointycastle", - "rootUri": "file:///Users/bogdan/.pub-cache/hosted/pub.dev/pointycastle-3.7.3", + "rootUri": "file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/pointycastle-3.7.3", "packageUri": "lib/", "languageVersion": "2.14" }, { "name": "pool", - "rootUri": "file:///Users/bogdan/.pub-cache/hosted/pub.dev/pool-1.5.1", + "rootUri": "file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/pool-1.5.1", "packageUri": "lib/", "languageVersion": "2.12" }, { "name": "process", - "rootUri": "file:///Users/bogdan/.pub-cache/hosted/pub.dev/process-4.2.4", + "rootUri": "file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/process-4.2.4", "packageUri": "lib/", "languageVersion": "2.14" }, { "name": "pub_semver", - "rootUri": "file:///Users/bogdan/.pub-cache/hosted/pub.dev/pub_semver-2.1.4", + "rootUri": "file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/pub_semver-2.1.4", "packageUri": "lib/", "languageVersion": "2.17" }, { "name": "pubspec_parse", - "rootUri": "file:///Users/bogdan/.pub-cache/hosted/pub.dev/pubspec_parse-1.2.3", + "rootUri": "file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/pubspec_parse-1.2.3", "packageUri": "lib/", "languageVersion": "2.18" }, { "name": "responsive_framework", - "rootUri": "file:///Users/bogdan/.pub-cache/hosted/pub.dev/responsive_framework-1.0.0", + "rootUri": "file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/responsive_framework-1.0.0", "packageUri": "lib/", "languageVersion": "2.17" }, { "name": "searchable_listview", - "rootUri": "file:///Users/bogdan/.pub-cache/hosted/pub.dev/searchable_listview-2.4.0", + "rootUri": "file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/searchable_listview-2.4.0", "packageUri": "lib/", "languageVersion": "2.12" }, { "name": "shelf", - "rootUri": "file:///Users/bogdan/.pub-cache/hosted/pub.dev/shelf-1.4.1", + "rootUri": "file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/shelf-1.4.1", "packageUri": "lib/", "languageVersion": "2.17" }, { "name": "shelf_web_socket", - "rootUri": "file:///Users/bogdan/.pub-cache/hosted/pub.dev/shelf_web_socket-1.0.4", + "rootUri": "file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/shelf_web_socket-1.0.4", "packageUri": "lib/", "languageVersion": "2.17" }, { "name": "sizer", - "rootUri": "file:///Users/bogdan/.pub-cache/hosted/pub.dev/sizer-2.0.15", + "rootUri": "file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/sizer-2.0.15", "packageUri": "lib/", "languageVersion": "2.12" }, { "name": "sky_engine", - "rootUri": "file:///usr/local/Caskroom/flutter/3.7.7/flutter/bin/cache/pkg/sky_engine", + "rootUri": "file:///C:/Users/Nutzer/flutter/bin/cache/pkg/sky_engine", "packageUri": "lib/", "languageVersion": "2.12" }, { "name": "source_gen", - "rootUri": "file:///Users/bogdan/.pub-cache/hosted/pub.dev/source_gen-1.3.2", + "rootUri": "file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/source_gen-1.3.2", "packageUri": "lib/", "languageVersion": "2.18" }, { "name": "source_helper", - "rootUri": "file:///Users/bogdan/.pub-cache/hosted/pub.dev/source_helper-1.3.3", + "rootUri": "file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/source_helper-1.3.3", "packageUri": "lib/", "languageVersion": "2.17" }, { "name": "source_span", - "rootUri": "file:///Users/bogdan/.pub-cache/hosted/pub.dev/source_span-1.9.1", + "rootUri": "file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/source_span-1.9.1", "packageUri": "lib/", "languageVersion": "2.14" }, { "name": "stack_trace", - "rootUri": "file:///Users/bogdan/.pub-cache/hosted/pub.dev/stack_trace-1.11.0", + "rootUri": "file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/stack_trace-1.11.0", "packageUri": "lib/", "languageVersion": "2.18" }, { "name": "stream_channel", - "rootUri": "file:///Users/bogdan/.pub-cache/hosted/pub.dev/stream_channel-2.1.1", + "rootUri": "file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/stream_channel-2.1.1", "packageUri": "lib/", "languageVersion": "2.14" }, { "name": "stream_transform", - "rootUri": "file:///Users/bogdan/.pub-cache/hosted/pub.dev/stream_transform-2.1.0", + "rootUri": "file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/stream_transform-2.1.0", "packageUri": "lib/", "languageVersion": "2.14" }, { "name": "string_scanner", - "rootUri": "file:///Users/bogdan/.pub-cache/hosted/pub.dev/string_scanner-1.2.0", + "rootUri": "file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/string_scanner-1.2.0", "packageUri": "lib/", "languageVersion": "2.18" }, { "name": "term_glyph", - "rootUri": "file:///Users/bogdan/.pub-cache/hosted/pub.dev/term_glyph-1.2.1", + "rootUri": "file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/term_glyph-1.2.1", "packageUri": "lib/", "languageVersion": "2.12" }, { "name": "test_api", - "rootUri": "file:///Users/bogdan/.pub-cache/hosted/pub.dev/test_api-0.4.16", + "rootUri": "file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/test_api-0.4.16", "packageUri": "lib/", "languageVersion": "2.18" }, { "name": "timing", - "rootUri": "file:///Users/bogdan/.pub-cache/hosted/pub.dev/timing-1.0.1", + "rootUri": "file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/timing-1.0.1", "packageUri": "lib/", "languageVersion": "2.14" }, { "name": "typed_data", - "rootUri": "file:///Users/bogdan/.pub-cache/hosted/pub.dev/typed_data-1.3.2", + "rootUri": "file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/typed_data-1.3.2", "packageUri": "lib/", "languageVersion": "2.17" }, { "name": "universal_io", - "rootUri": "file:///Users/bogdan/.pub-cache/hosted/pub.dev/universal_io-2.2.0", + "rootUri": "file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/universal_io-2.2.0", "packageUri": "lib/", "languageVersion": "2.15" }, { "name": "vector_math", - "rootUri": "file:///Users/bogdan/.pub-cache/hosted/pub.dev/vector_math-2.1.4", + "rootUri": "file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/vector_math-2.1.4", "packageUri": "lib/", "languageVersion": "2.14" }, { "name": "watcher", - "rootUri": "file:///Users/bogdan/.pub-cache/hosted/pub.dev/watcher-1.0.2", + "rootUri": "file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/watcher-1.0.2", "packageUri": "lib/", "languageVersion": "2.14" }, { "name": "web_socket_channel", - "rootUri": "file:///Users/bogdan/.pub-cache/hosted/pub.dev/web_socket_channel-2.4.0", + "rootUri": "file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/web_socket_channel-2.4.0", "packageUri": "lib/", "languageVersion": "2.15" }, { "name": "win32", - "rootUri": "file:///Users/bogdan/.pub-cache/hosted/pub.dev/win32-4.1.4", + "rootUri": "file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/win32-4.1.4", "packageUri": "lib/", "languageVersion": "2.17" }, { "name": "xdg_directories", - "rootUri": "file:///Users/bogdan/.pub-cache/hosted/pub.dev/xdg_directories-1.0.0", + "rootUri": "file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/xdg_directories-1.0.0", "packageUri": "lib/", "languageVersion": "2.17" }, { "name": "yaml", - "rootUri": "file:///Users/bogdan/.pub-cache/hosted/pub.dev/yaml-3.1.2", + "rootUri": "file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/yaml-3.1.2", "packageUri": "lib/", "languageVersion": "2.19" }, @@ -668,7 +668,7 @@ "languageVersion": "2.19" } ], - "generated": "2023-06-16T13:04:07.358776Z", + "generated": "2023-06-25T12:05:16.357241Z", "generator": "pub", "generatorVersion": "2.19.6" } diff --git a/.dart_tool/package_config_subset b/.dart_tool/package_config_subset index 909458d..7a39e08 100644 --- a/.dart_tool/package_config_subset +++ b/.dart_tool/package_config_subset @@ -1,445 +1,445 @@ _fe_analyzer_shared 2.17 -file:///Users/bogdan/.pub-cache/hosted/pub.dev/_fe_analyzer_shared-61.0.0/ -file:///Users/bogdan/.pub-cache/hosted/pub.dev/_fe_analyzer_shared-61.0.0/lib/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/_fe_analyzer_shared-61.0.0/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/_fe_analyzer_shared-61.0.0/lib/ adaptive_dialog 2.17 -file:///Users/bogdan/.pub-cache/hosted/pub.dev/adaptive_dialog-1.8.3+1/ -file:///Users/bogdan/.pub-cache/hosted/pub.dev/adaptive_dialog-1.8.3+1/lib/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/adaptive_dialog-1.8.3+1/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/adaptive_dialog-1.8.3+1/lib/ analyzer 2.19 -file:///Users/bogdan/.pub-cache/hosted/pub.dev/analyzer-5.13.0/ -file:///Users/bogdan/.pub-cache/hosted/pub.dev/analyzer-5.13.0/lib/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/analyzer-5.13.0/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/analyzer-5.13.0/lib/ animate_gradient 2.16 -file:///Users/bogdan/.pub-cache/hosted/pub.dev/animate_gradient-0.0.2+1/ -file:///Users/bogdan/.pub-cache/hosted/pub.dev/animate_gradient-0.0.2+1/lib/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/animate_gradient-0.0.2+1/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/animate_gradient-0.0.2+1/lib/ animations 2.12 -file:///Users/bogdan/.pub-cache/hosted/pub.dev/animations-2.0.7/ -file:///Users/bogdan/.pub-cache/hosted/pub.dev/animations-2.0.7/lib/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/animations-2.0.7/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/animations-2.0.7/lib/ args 2.19 -file:///Users/bogdan/.pub-cache/hosted/pub.dev/args-2.4.2/ -file:///Users/bogdan/.pub-cache/hosted/pub.dev/args-2.4.2/lib/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/args-2.4.2/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/args-2.4.2/lib/ assorted_layout_widgets 2.18 -file:///Users/bogdan/.pub-cache/hosted/pub.dev/assorted_layout_widgets-8.0.4/ -file:///Users/bogdan/.pub-cache/hosted/pub.dev/assorted_layout_widgets-8.0.4/lib/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/assorted_layout_widgets-8.0.4/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/assorted_layout_widgets-8.0.4/lib/ async 2.18 -file:///Users/bogdan/.pub-cache/hosted/pub.dev/async-2.10.0/ -file:///Users/bogdan/.pub-cache/hosted/pub.dev/async-2.10.0/lib/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/async-2.10.0/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/async-2.10.0/lib/ basic_utils 2.18 -file:///Users/bogdan/.pub-cache/hosted/pub.dev/basic_utils-5.5.4/ -file:///Users/bogdan/.pub-cache/hosted/pub.dev/basic_utils-5.5.4/lib/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/basic_utils-5.5.4/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/basic_utils-5.5.4/lib/ boolean_selector 2.17 -file:///Users/bogdan/.pub-cache/hosted/pub.dev/boolean_selector-2.1.1/ -file:///Users/bogdan/.pub-cache/hosted/pub.dev/boolean_selector-2.1.1/lib/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/boolean_selector-2.1.1/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/boolean_selector-2.1.1/lib/ bs_flutter_modal 2.12 -file:///Users/bogdan/.pub-cache/hosted/pub.dev/bs_flutter_modal-1.0.6/ -file:///Users/bogdan/.pub-cache/hosted/pub.dev/bs_flutter_modal-1.0.6/lib/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/bs_flutter_modal-1.0.6/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/bs_flutter_modal-1.0.6/lib/ bs_flutter_utils 2.12 -file:///Users/bogdan/.pub-cache/hosted/pub.dev/bs_flutter_utils-1.0.2/ -file:///Users/bogdan/.pub-cache/hosted/pub.dev/bs_flutter_utils-1.0.2/lib/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/bs_flutter_utils-1.0.2/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/bs_flutter_utils-1.0.2/lib/ build 2.17 -file:///Users/bogdan/.pub-cache/hosted/pub.dev/build-2.3.1/ -file:///Users/bogdan/.pub-cache/hosted/pub.dev/build-2.3.1/lib/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/build-2.3.1/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/build-2.3.1/lib/ build_config 2.14 -file:///Users/bogdan/.pub-cache/hosted/pub.dev/build_config-1.1.1/ -file:///Users/bogdan/.pub-cache/hosted/pub.dev/build_config-1.1.1/lib/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/build_config-1.1.1/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/build_config-1.1.1/lib/ build_daemon 2.14 -file:///Users/bogdan/.pub-cache/hosted/pub.dev/build_daemon-3.1.1/ -file:///Users/bogdan/.pub-cache/hosted/pub.dev/build_daemon-3.1.1/lib/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/build_daemon-3.1.1/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/build_daemon-3.1.1/lib/ build_resolvers 2.18 -file:///Users/bogdan/.pub-cache/hosted/pub.dev/build_resolvers-2.2.0/ -file:///Users/bogdan/.pub-cache/hosted/pub.dev/build_resolvers-2.2.0/lib/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/build_resolvers-2.2.0/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/build_resolvers-2.2.0/lib/ build_runner 2.14 -file:///Users/bogdan/.pub-cache/hosted/pub.dev/build_runner-2.3.3/ -file:///Users/bogdan/.pub-cache/hosted/pub.dev/build_runner-2.3.3/lib/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/build_runner-2.3.3/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/build_runner-2.3.3/lib/ build_runner_core 2.17 -file:///Users/bogdan/.pub-cache/hosted/pub.dev/build_runner_core-7.2.7+1/ -file:///Users/bogdan/.pub-cache/hosted/pub.dev/build_runner_core-7.2.7+1/lib/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/build_runner_core-7.2.7+1/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/build_runner_core-7.2.7+1/lib/ built_collection 2.12 -file:///Users/bogdan/.pub-cache/hosted/pub.dev/built_collection-5.1.1/ -file:///Users/bogdan/.pub-cache/hosted/pub.dev/built_collection-5.1.1/lib/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/built_collection-5.1.1/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/built_collection-5.1.1/lib/ built_value 2.12 -file:///Users/bogdan/.pub-cache/hosted/pub.dev/built_value-8.6.1/ -file:///Users/bogdan/.pub-cache/hosted/pub.dev/built_value-8.6.1/lib/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/built_value-8.6.1/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/built_value-8.6.1/lib/ card_swiper 2.12 -file:///Users/bogdan/.pub-cache/hosted/pub.dev/card_swiper-2.0.4/ -file:///Users/bogdan/.pub-cache/hosted/pub.dev/card_swiper-2.0.4/lib/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/card_swiper-2.0.4/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/card_swiper-2.0.4/lib/ characters 2.12 -file:///Users/bogdan/.pub-cache/hosted/pub.dev/characters-1.2.1/ -file:///Users/bogdan/.pub-cache/hosted/pub.dev/characters-1.2.1/lib/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/characters-1.2.1/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/characters-1.2.1/lib/ checked_yaml 2.19 -file:///Users/bogdan/.pub-cache/hosted/pub.dev/checked_yaml-2.0.3/ -file:///Users/bogdan/.pub-cache/hosted/pub.dev/checked_yaml-2.0.3/lib/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/checked_yaml-2.0.3/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/checked_yaml-2.0.3/lib/ clock 2.12 -file:///Users/bogdan/.pub-cache/hosted/pub.dev/clock-1.1.1/ -file:///Users/bogdan/.pub-cache/hosted/pub.dev/clock-1.1.1/lib/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/clock-1.1.1/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/clock-1.1.1/lib/ code_builder 2.19 -file:///Users/bogdan/.pub-cache/hosted/pub.dev/code_builder-4.5.0/ -file:///Users/bogdan/.pub-cache/hosted/pub.dev/code_builder-4.5.0/lib/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/code_builder-4.5.0/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/code_builder-4.5.0/lib/ collection 2.12 -file:///Users/bogdan/.pub-cache/hosted/pub.dev/collection-1.17.0/ -file:///Users/bogdan/.pub-cache/hosted/pub.dev/collection-1.17.0/lib/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/collection-1.17.0/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/collection-1.17.0/lib/ convert 2.18 -file:///Users/bogdan/.pub-cache/hosted/pub.dev/convert-3.1.1/ -file:///Users/bogdan/.pub-cache/hosted/pub.dev/convert-3.1.1/lib/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/convert-3.1.1/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/convert-3.1.1/lib/ crypto 2.19 -file:///Users/bogdan/.pub-cache/hosted/pub.dev/crypto-3.0.3/ -file:///Users/bogdan/.pub-cache/hosted/pub.dev/crypto-3.0.3/lib/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/crypto-3.0.3/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/crypto-3.0.3/lib/ cupertino_icons 2.12 -file:///Users/bogdan/.pub-cache/hosted/pub.dev/cupertino_icons-1.0.5/ -file:///Users/bogdan/.pub-cache/hosted/pub.dev/cupertino_icons-1.0.5/lib/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/cupertino_icons-1.0.5/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/cupertino_icons-1.0.5/lib/ dart_style 2.19 -file:///Users/bogdan/.pub-cache/hosted/pub.dev/dart_style-2.3.1/ -file:///Users/bogdan/.pub-cache/hosted/pub.dev/dart_style-2.3.1/lib/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/dart_style-2.3.1/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/dart_style-2.3.1/lib/ dynamic_color 2.16 -file:///Users/bogdan/.pub-cache/hosted/pub.dev/dynamic_color-1.6.5/ -file:///Users/bogdan/.pub-cache/hosted/pub.dev/dynamic_color-1.6.5/lib/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/dynamic_color-1.6.5/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/dynamic_color-1.6.5/lib/ empty_widget 2.12 -file:///Users/bogdan/.pub-cache/hosted/pub.dev/empty_widget-0.0.5/ -file:///Users/bogdan/.pub-cache/hosted/pub.dev/empty_widget-0.0.5/lib/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/empty_widget-0.0.5/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/empty_widget-0.0.5/lib/ equatable 2.12 -file:///Users/bogdan/.pub-cache/hosted/pub.dev/equatable-2.0.5/ -file:///Users/bogdan/.pub-cache/hosted/pub.dev/equatable-2.0.5/lib/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/equatable-2.0.5/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/equatable-2.0.5/lib/ fake_async 2.12 -file:///Users/bogdan/.pub-cache/hosted/pub.dev/fake_async-1.3.1/ -file:///Users/bogdan/.pub-cache/hosted/pub.dev/fake_async-1.3.1/lib/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/fake_async-1.3.1/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/fake_async-1.3.1/lib/ ffi 2.17 -file:///Users/bogdan/.pub-cache/hosted/pub.dev/ffi-2.0.2/ -file:///Users/bogdan/.pub-cache/hosted/pub.dev/ffi-2.0.2/lib/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/ffi-2.0.2/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/ffi-2.0.2/lib/ file 2.12 -file:///Users/bogdan/.pub-cache/hosted/pub.dev/file-6.1.4/ -file:///Users/bogdan/.pub-cache/hosted/pub.dev/file-6.1.4/lib/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/file-6.1.4/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/file-6.1.4/lib/ fixnum 2.19 -file:///Users/bogdan/.pub-cache/hosted/pub.dev/fixnum-1.1.0/ -file:///Users/bogdan/.pub-cache/hosted/pub.dev/fixnum-1.1.0/lib/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/fixnum-1.1.0/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/fixnum-1.1.0/lib/ fl_chart 2.17 -file:///Users/bogdan/.pub-cache/hosted/pub.dev/fl_chart-0.62.0/ -file:///Users/bogdan/.pub-cache/hosted/pub.dev/fl_chart-0.62.0/lib/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/fl_chart-0.62.0/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/fl_chart-0.62.0/lib/ flutter_dotenv 2.12 -file:///Users/bogdan/.pub-cache/hosted/pub.dev/flutter_dotenv-5.1.0/ -file:///Users/bogdan/.pub-cache/hosted/pub.dev/flutter_dotenv-5.1.0/lib/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/flutter_dotenv-5.1.0/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/flutter_dotenv-5.1.0/lib/ flutter_form_builder 2.19 -file:///Users/bogdan/.pub-cache/hosted/pub.dev/flutter_form_builder-8.0.0/ -file:///Users/bogdan/.pub-cache/hosted/pub.dev/flutter_form_builder-8.0.0/lib/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/flutter_form_builder-8.0.0/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/flutter_form_builder-8.0.0/lib/ flutter_lints 2.17 -file:///Users/bogdan/.pub-cache/hosted/pub.dev/flutter_lints-2.0.1/ -file:///Users/bogdan/.pub-cache/hosted/pub.dev/flutter_lints-2.0.1/lib/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/flutter_lints-2.0.1/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/flutter_lints-2.0.1/lib/ flutter_profile_picture 2.12 -file:///Users/bogdan/.pub-cache/hosted/pub.dev/flutter_profile_picture-2.0.0/ -file:///Users/bogdan/.pub-cache/hosted/pub.dev/flutter_profile_picture-2.0.0/lib/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/flutter_profile_picture-2.0.0/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/flutter_profile_picture-2.0.0/lib/ fluttertoast 2.12 -file:///Users/bogdan/.pub-cache/hosted/pub.dev/fluttertoast-8.2.2/ -file:///Users/bogdan/.pub-cache/hosted/pub.dev/fluttertoast-8.2.2/lib/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/fluttertoast-8.2.2/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/fluttertoast-8.2.2/lib/ form_builder_validators 2.19 -file:///Users/bogdan/.pub-cache/hosted/pub.dev/form_builder_validators-8.6.1/ -file:///Users/bogdan/.pub-cache/hosted/pub.dev/form_builder_validators-8.6.1/lib/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/form_builder_validators-8.6.1/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/form_builder_validators-8.6.1/lib/ frontend_server_client 2.12 -file:///Users/bogdan/.pub-cache/hosted/pub.dev/frontend_server_client-3.2.0/ -file:///Users/bogdan/.pub-cache/hosted/pub.dev/frontend_server_client-3.2.0/lib/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/frontend_server_client-3.2.0/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/frontend_server_client-3.2.0/lib/ glob 2.19 -file:///Users/bogdan/.pub-cache/hosted/pub.dev/glob-2.1.2/ -file:///Users/bogdan/.pub-cache/hosted/pub.dev/glob-2.1.2/lib/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/glob-2.1.2/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/glob-2.1.2/lib/ graphs 2.18 -file:///Users/bogdan/.pub-cache/hosted/pub.dev/graphs-2.3.1/ -file:///Users/bogdan/.pub-cache/hosted/pub.dev/graphs-2.3.1/lib/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/graphs-2.3.1/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/graphs-2.3.1/lib/ hive 2.12 -file:///Users/bogdan/.pub-cache/hosted/pub.dev/hive-2.2.3/ -file:///Users/bogdan/.pub-cache/hosted/pub.dev/hive-2.2.3/lib/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/hive-2.2.3/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/hive-2.2.3/lib/ hive_flutter 2.12 -file:///Users/bogdan/.pub-cache/hosted/pub.dev/hive_flutter-1.1.0/ -file:///Users/bogdan/.pub-cache/hosted/pub.dev/hive_flutter-1.1.0/lib/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/hive_flutter-1.1.0/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/hive_flutter-1.1.0/lib/ hive_generator 2.12 -file:///Users/bogdan/.pub-cache/hosted/pub.dev/hive_generator-2.0.0/ -file:///Users/bogdan/.pub-cache/hosted/pub.dev/hive_generator-2.0.0/lib/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/hive_generator-2.0.0/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/hive_generator-2.0.0/lib/ http 2.19 -file:///Users/bogdan/.pub-cache/hosted/pub.dev/http-0.13.6/ -file:///Users/bogdan/.pub-cache/hosted/pub.dev/http-0.13.6/lib/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/http-0.13.6/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/http-0.13.6/lib/ http_multi_server 2.12 -file:///Users/bogdan/.pub-cache/hosted/pub.dev/http_multi_server-3.2.1/ -file:///Users/bogdan/.pub-cache/hosted/pub.dev/http_multi_server-3.2.1/lib/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/http_multi_server-3.2.1/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/http_multi_server-3.2.1/lib/ http_parser 2.12 -file:///Users/bogdan/.pub-cache/hosted/pub.dev/http_parser-4.0.2/ -file:///Users/bogdan/.pub-cache/hosted/pub.dev/http_parser-4.0.2/lib/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/http_parser-4.0.2/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/http_parser-4.0.2/lib/ intersperse 2.12 -file:///Users/bogdan/.pub-cache/hosted/pub.dev/intersperse-2.0.0/ -file:///Users/bogdan/.pub-cache/hosted/pub.dev/intersperse-2.0.0/lib/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/intersperse-2.0.0/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/intersperse-2.0.0/lib/ intl 2.12 -file:///Users/bogdan/.pub-cache/hosted/pub.dev/intl-0.17.0/ -file:///Users/bogdan/.pub-cache/hosted/pub.dev/intl-0.17.0/lib/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/intl-0.17.0/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/intl-0.17.0/lib/ io 2.12 -file:///Users/bogdan/.pub-cache/hosted/pub.dev/io-1.0.4/ -file:///Users/bogdan/.pub-cache/hosted/pub.dev/io-1.0.4/lib/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/io-1.0.4/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/io-1.0.4/lib/ js 2.16 -file:///Users/bogdan/.pub-cache/hosted/pub.dev/js-0.6.5/ -file:///Users/bogdan/.pub-cache/hosted/pub.dev/js-0.6.5/lib/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/js-0.6.5/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/js-0.6.5/lib/ json_annotation 2.19 -file:///Users/bogdan/.pub-cache/hosted/pub.dev/json_annotation-4.8.1/ -file:///Users/bogdan/.pub-cache/hosted/pub.dev/json_annotation-4.8.1/lib/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/json_annotation-4.8.1/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/json_annotation-4.8.1/lib/ lints 2.17 -file:///Users/bogdan/.pub-cache/hosted/pub.dev/lints-2.0.1/ -file:///Users/bogdan/.pub-cache/hosted/pub.dev/lints-2.0.1/lib/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/lints-2.0.1/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/lints-2.0.1/lib/ logging 2.19 -file:///Users/bogdan/.pub-cache/hosted/pub.dev/logging-1.2.0/ -file:///Users/bogdan/.pub-cache/hosted/pub.dev/logging-1.2.0/lib/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/logging-1.2.0/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/logging-1.2.0/lib/ macos_ui 2.17 -file:///Users/bogdan/.pub-cache/hosted/pub.dev/macos_ui-1.12.2/ -file:///Users/bogdan/.pub-cache/hosted/pub.dev/macos_ui-1.12.2/lib/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/macos_ui-1.12.2/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/macos_ui-1.12.2/lib/ matcher 2.18 -file:///Users/bogdan/.pub-cache/hosted/pub.dev/matcher-0.12.13/ -file:///Users/bogdan/.pub-cache/hosted/pub.dev/matcher-0.12.13/lib/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/matcher-0.12.13/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/matcher-0.12.13/lib/ material_color_utilities 2.13 -file:///Users/bogdan/.pub-cache/hosted/pub.dev/material_color_utilities-0.2.0/ -file:///Users/bogdan/.pub-cache/hosted/pub.dev/material_color_utilities-0.2.0/lib/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/material_color_utilities-0.2.0/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/material_color_utilities-0.2.0/lib/ matrix4_transform 2.13 -file:///Users/bogdan/.pub-cache/hosted/pub.dev/matrix4_transform-2.0.1/ -file:///Users/bogdan/.pub-cache/hosted/pub.dev/matrix4_transform-2.0.1/lib/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/matrix4_transform-2.0.1/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/matrix4_transform-2.0.1/lib/ meta 2.12 -file:///Users/bogdan/.pub-cache/hosted/pub.dev/meta-1.8.0/ -file:///Users/bogdan/.pub-cache/hosted/pub.dev/meta-1.8.0/lib/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/meta-1.8.0/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/meta-1.8.0/lib/ mime 2.18 -file:///Users/bogdan/.pub-cache/hosted/pub.dev/mime-1.0.4/ -file:///Users/bogdan/.pub-cache/hosted/pub.dev/mime-1.0.4/lib/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/mime-1.0.4/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/mime-1.0.4/lib/ package_config 2.12 -file:///Users/bogdan/.pub-cache/hosted/pub.dev/package_config-2.1.0/ -file:///Users/bogdan/.pub-cache/hosted/pub.dev/package_config-2.1.0/lib/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/package_config-2.1.0/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/package_config-2.1.0/lib/ path 2.12 -file:///Users/bogdan/.pub-cache/hosted/pub.dev/path-1.8.2/ -file:///Users/bogdan/.pub-cache/hosted/pub.dev/path-1.8.2/lib/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/path-1.8.2/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/path-1.8.2/lib/ path_provider 2.17 -file:///Users/bogdan/.pub-cache/hosted/pub.dev/path_provider-2.0.15/ -file:///Users/bogdan/.pub-cache/hosted/pub.dev/path_provider-2.0.15/lib/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/path_provider-2.0.15/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/path_provider-2.0.15/lib/ path_provider_android 2.17 -file:///Users/bogdan/.pub-cache/hosted/pub.dev/path_provider_android-2.0.27/ -file:///Users/bogdan/.pub-cache/hosted/pub.dev/path_provider_android-2.0.27/lib/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/path_provider_android-2.0.27/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/path_provider_android-2.0.27/lib/ path_provider_foundation 2.18 -file:///Users/bogdan/.pub-cache/hosted/pub.dev/path_provider_foundation-2.2.3/ -file:///Users/bogdan/.pub-cache/hosted/pub.dev/path_provider_foundation-2.2.3/lib/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/path_provider_foundation-2.2.3/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/path_provider_foundation-2.2.3/lib/ path_provider_linux 2.18 -file:///Users/bogdan/.pub-cache/hosted/pub.dev/path_provider_linux-2.1.11/ -file:///Users/bogdan/.pub-cache/hosted/pub.dev/path_provider_linux-2.1.11/lib/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/path_provider_linux-2.1.11/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/path_provider_linux-2.1.11/lib/ path_provider_platform_interface 2.12 -file:///Users/bogdan/.pub-cache/hosted/pub.dev/path_provider_platform_interface-2.0.6/ -file:///Users/bogdan/.pub-cache/hosted/pub.dev/path_provider_platform_interface-2.0.6/lib/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/path_provider_platform_interface-2.0.6/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/path_provider_platform_interface-2.0.6/lib/ path_provider_windows 2.18 -file:///Users/bogdan/.pub-cache/hosted/pub.dev/path_provider_windows-2.1.7/ -file:///Users/bogdan/.pub-cache/hosted/pub.dev/path_provider_windows-2.1.7/lib/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/path_provider_windows-2.1.7/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/path_provider_windows-2.1.7/lib/ percent_indicator 2.12 -file:///Users/bogdan/.pub-cache/hosted/pub.dev/percent_indicator-4.2.3/ -file:///Users/bogdan/.pub-cache/hosted/pub.dev/percent_indicator-4.2.3/lib/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/percent_indicator-4.2.3/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/percent_indicator-4.2.3/lib/ platform 2.12 -file:///Users/bogdan/.pub-cache/hosted/pub.dev/platform-3.1.0/ -file:///Users/bogdan/.pub-cache/hosted/pub.dev/platform-3.1.0/lib/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/platform-3.1.0/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/platform-3.1.0/lib/ plugin_platform_interface 2.17 -file:///Users/bogdan/.pub-cache/hosted/pub.dev/plugin_platform_interface-2.1.4/ -file:///Users/bogdan/.pub-cache/hosted/pub.dev/plugin_platform_interface-2.1.4/lib/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/plugin_platform_interface-2.1.4/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/plugin_platform_interface-2.1.4/lib/ pointycastle 2.14 -file:///Users/bogdan/.pub-cache/hosted/pub.dev/pointycastle-3.7.3/ -file:///Users/bogdan/.pub-cache/hosted/pub.dev/pointycastle-3.7.3/lib/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/pointycastle-3.7.3/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/pointycastle-3.7.3/lib/ pool 2.12 -file:///Users/bogdan/.pub-cache/hosted/pub.dev/pool-1.5.1/ -file:///Users/bogdan/.pub-cache/hosted/pub.dev/pool-1.5.1/lib/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/pool-1.5.1/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/pool-1.5.1/lib/ process 2.14 -file:///Users/bogdan/.pub-cache/hosted/pub.dev/process-4.2.4/ -file:///Users/bogdan/.pub-cache/hosted/pub.dev/process-4.2.4/lib/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/process-4.2.4/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/process-4.2.4/lib/ pub_semver 2.17 -file:///Users/bogdan/.pub-cache/hosted/pub.dev/pub_semver-2.1.4/ -file:///Users/bogdan/.pub-cache/hosted/pub.dev/pub_semver-2.1.4/lib/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/pub_semver-2.1.4/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/pub_semver-2.1.4/lib/ pubspec_parse 2.18 -file:///Users/bogdan/.pub-cache/hosted/pub.dev/pubspec_parse-1.2.3/ -file:///Users/bogdan/.pub-cache/hosted/pub.dev/pubspec_parse-1.2.3/lib/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/pubspec_parse-1.2.3/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/pubspec_parse-1.2.3/lib/ responsive_framework 2.17 -file:///Users/bogdan/.pub-cache/hosted/pub.dev/responsive_framework-1.0.0/ -file:///Users/bogdan/.pub-cache/hosted/pub.dev/responsive_framework-1.0.0/lib/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/responsive_framework-1.0.0/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/responsive_framework-1.0.0/lib/ searchable_listview 2.12 -file:///Users/bogdan/.pub-cache/hosted/pub.dev/searchable_listview-2.4.0/ -file:///Users/bogdan/.pub-cache/hosted/pub.dev/searchable_listview-2.4.0/lib/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/searchable_listview-2.4.0/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/searchable_listview-2.4.0/lib/ shelf 2.17 -file:///Users/bogdan/.pub-cache/hosted/pub.dev/shelf-1.4.1/ -file:///Users/bogdan/.pub-cache/hosted/pub.dev/shelf-1.4.1/lib/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/shelf-1.4.1/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/shelf-1.4.1/lib/ shelf_web_socket 2.17 -file:///Users/bogdan/.pub-cache/hosted/pub.dev/shelf_web_socket-1.0.4/ -file:///Users/bogdan/.pub-cache/hosted/pub.dev/shelf_web_socket-1.0.4/lib/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/shelf_web_socket-1.0.4/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/shelf_web_socket-1.0.4/lib/ sizer 2.12 -file:///Users/bogdan/.pub-cache/hosted/pub.dev/sizer-2.0.15/ -file:///Users/bogdan/.pub-cache/hosted/pub.dev/sizer-2.0.15/lib/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/sizer-2.0.15/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/sizer-2.0.15/lib/ source_gen 2.18 -file:///Users/bogdan/.pub-cache/hosted/pub.dev/source_gen-1.3.2/ -file:///Users/bogdan/.pub-cache/hosted/pub.dev/source_gen-1.3.2/lib/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/source_gen-1.3.2/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/source_gen-1.3.2/lib/ source_helper 2.17 -file:///Users/bogdan/.pub-cache/hosted/pub.dev/source_helper-1.3.3/ -file:///Users/bogdan/.pub-cache/hosted/pub.dev/source_helper-1.3.3/lib/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/source_helper-1.3.3/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/source_helper-1.3.3/lib/ source_span 2.14 -file:///Users/bogdan/.pub-cache/hosted/pub.dev/source_span-1.9.1/ -file:///Users/bogdan/.pub-cache/hosted/pub.dev/source_span-1.9.1/lib/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/source_span-1.9.1/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/source_span-1.9.1/lib/ stack_trace 2.18 -file:///Users/bogdan/.pub-cache/hosted/pub.dev/stack_trace-1.11.0/ -file:///Users/bogdan/.pub-cache/hosted/pub.dev/stack_trace-1.11.0/lib/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/stack_trace-1.11.0/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/stack_trace-1.11.0/lib/ stream_channel 2.14 -file:///Users/bogdan/.pub-cache/hosted/pub.dev/stream_channel-2.1.1/ -file:///Users/bogdan/.pub-cache/hosted/pub.dev/stream_channel-2.1.1/lib/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/stream_channel-2.1.1/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/stream_channel-2.1.1/lib/ stream_transform 2.14 -file:///Users/bogdan/.pub-cache/hosted/pub.dev/stream_transform-2.1.0/ -file:///Users/bogdan/.pub-cache/hosted/pub.dev/stream_transform-2.1.0/lib/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/stream_transform-2.1.0/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/stream_transform-2.1.0/lib/ string_scanner 2.18 -file:///Users/bogdan/.pub-cache/hosted/pub.dev/string_scanner-1.2.0/ -file:///Users/bogdan/.pub-cache/hosted/pub.dev/string_scanner-1.2.0/lib/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/string_scanner-1.2.0/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/string_scanner-1.2.0/lib/ term_glyph 2.12 -file:///Users/bogdan/.pub-cache/hosted/pub.dev/term_glyph-1.2.1/ -file:///Users/bogdan/.pub-cache/hosted/pub.dev/term_glyph-1.2.1/lib/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/term_glyph-1.2.1/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/term_glyph-1.2.1/lib/ test_api 2.18 -file:///Users/bogdan/.pub-cache/hosted/pub.dev/test_api-0.4.16/ -file:///Users/bogdan/.pub-cache/hosted/pub.dev/test_api-0.4.16/lib/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/test_api-0.4.16/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/test_api-0.4.16/lib/ timing 2.14 -file:///Users/bogdan/.pub-cache/hosted/pub.dev/timing-1.0.1/ -file:///Users/bogdan/.pub-cache/hosted/pub.dev/timing-1.0.1/lib/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/timing-1.0.1/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/timing-1.0.1/lib/ typed_data 2.17 -file:///Users/bogdan/.pub-cache/hosted/pub.dev/typed_data-1.3.2/ -file:///Users/bogdan/.pub-cache/hosted/pub.dev/typed_data-1.3.2/lib/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/typed_data-1.3.2/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/typed_data-1.3.2/lib/ universal_io 2.15 -file:///Users/bogdan/.pub-cache/hosted/pub.dev/universal_io-2.2.0/ -file:///Users/bogdan/.pub-cache/hosted/pub.dev/universal_io-2.2.0/lib/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/universal_io-2.2.0/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/universal_io-2.2.0/lib/ vector_math 2.14 -file:///Users/bogdan/.pub-cache/hosted/pub.dev/vector_math-2.1.4/ -file:///Users/bogdan/.pub-cache/hosted/pub.dev/vector_math-2.1.4/lib/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/vector_math-2.1.4/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/vector_math-2.1.4/lib/ watcher 2.14 -file:///Users/bogdan/.pub-cache/hosted/pub.dev/watcher-1.0.2/ -file:///Users/bogdan/.pub-cache/hosted/pub.dev/watcher-1.0.2/lib/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/watcher-1.0.2/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/watcher-1.0.2/lib/ web_socket_channel 2.15 -file:///Users/bogdan/.pub-cache/hosted/pub.dev/web_socket_channel-2.4.0/ -file:///Users/bogdan/.pub-cache/hosted/pub.dev/web_socket_channel-2.4.0/lib/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/web_socket_channel-2.4.0/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/web_socket_channel-2.4.0/lib/ win32 2.17 -file:///Users/bogdan/.pub-cache/hosted/pub.dev/win32-4.1.4/ -file:///Users/bogdan/.pub-cache/hosted/pub.dev/win32-4.1.4/lib/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/win32-4.1.4/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/win32-4.1.4/lib/ xdg_directories 2.17 -file:///Users/bogdan/.pub-cache/hosted/pub.dev/xdg_directories-1.0.0/ -file:///Users/bogdan/.pub-cache/hosted/pub.dev/xdg_directories-1.0.0/lib/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/xdg_directories-1.0.0/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/xdg_directories-1.0.0/lib/ yaml 2.19 -file:///Users/bogdan/.pub-cache/hosted/pub.dev/yaml-3.1.2/ -file:///Users/bogdan/.pub-cache/hosted/pub.dev/yaml-3.1.2/lib/ -ernaehrung -2.19 -file:///Users/bogdan/IdeaProjects/ernaehrung/ -file:///Users/bogdan/IdeaProjects/ernaehrung/lib/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/yaml-3.1.2/ +file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/yaml-3.1.2/lib/ sky_engine 2.12 -file:///usr/local/Caskroom/flutter/3.7.7/flutter/bin/cache/pkg/sky_engine/ -file:///usr/local/Caskroom/flutter/3.7.7/flutter/bin/cache/pkg/sky_engine/lib/ +file:///C:/Users/Nutzer/flutter/bin/cache/pkg/sky_engine/ +file:///C:/Users/Nutzer/flutter/bin/cache/pkg/sky_engine/lib/ flutter 2.17 -file:///usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/ -file:///usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/ +file:///C:/Users/Nutzer/flutter/packages/flutter/ +file:///C:/Users/Nutzer/flutter/packages/flutter/lib/ flutter_localizations 2.17 -file:///usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter_localizations/ -file:///usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter_localizations/lib/ +file:///C:/Users/Nutzer/flutter/packages/flutter_localizations/ +file:///C:/Users/Nutzer/flutter/packages/flutter_localizations/lib/ flutter_test 2.17 -file:///usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter_test/ -file:///usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter_test/lib/ +file:///C:/Users/Nutzer/flutter/packages/flutter_test/ +file:///C:/Users/Nutzer/flutter/packages/flutter_test/lib/ flutter_web_plugins 2.17 -file:///usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter_web_plugins/ -file:///usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter_web_plugins/lib/ +file:///C:/Users/Nutzer/flutter/packages/flutter_web_plugins/ +file:///C:/Users/Nutzer/flutter/packages/flutter_web_plugins/lib/ +ernaehrung +2.19 +file:///C:/Users/Nutzer/source/repos/Flutter-Ernaehrungsapp/ +file:///C:/Users/Nutzer/source/repos/Flutter-Ernaehrungsapp/lib/ 2 diff --git a/.env b/.env index 2ff6b22..d5fae57 100644 --- a/.env +++ b/.env @@ -13,7 +13,8 @@ DINNER_FIELD=ABENDESSEN # abendessen YESTERDAY_AND_BEFORE=YESTERDAY # gestern und alles was davor war TOMORROW_AND_AFTER=TOMORROW # morgen und alles was kommen wird -MEALPLAN_BOX=MEALPLAN -STATISTICS_TODAY_BOX=STATISTICS_TODAY -STATISTICS_PROGRESS_BOX=STATISTICS_PROGRESS -STATISTICS_MAIN_BOX=STATISTICS_MAIN \ No newline at end of file +TODAY_BOX=TODAY +PROGRESS_BOX=PROGRESS +STATISTICS_BOX=STATISTICS +MAIN_BOX=MAIN +USER_BOX=USER diff --git a/.flutter-plugins-dependencies b/.flutter-plugins-dependencies index 431c38f..d4b489b 100644 --- a/.flutter-plugins-dependencies +++ b/.flutter-plugins-dependencies @@ -1 +1 @@ -{"info":"This is a generated file; do not edit or check into version control.","plugins":{"ios":[{"name":"bs_flutter_modal","path":"/Users/bogdan/.pub-cache/hosted/pub.dev/bs_flutter_modal-1.0.6/","native_build":true,"dependencies":["bs_flutter_utils"]},{"name":"bs_flutter_utils","path":"/Users/bogdan/.pub-cache/hosted/pub.dev/bs_flutter_utils-1.0.2/","native_build":true,"dependencies":[]},{"name":"fluttertoast","path":"/Users/bogdan/.pub-cache/hosted/pub.dev/fluttertoast-8.2.2/","native_build":true,"dependencies":[]},{"name":"path_provider_foundation","path":"/Users/bogdan/.pub-cache/hosted/pub.dev/path_provider_foundation-2.2.3/","native_build":true,"dependencies":[]}],"android":[{"name":"bs_flutter_modal","path":"/Users/bogdan/.pub-cache/hosted/pub.dev/bs_flutter_modal-1.0.6/","native_build":true,"dependencies":["bs_flutter_utils"]},{"name":"bs_flutter_utils","path":"/Users/bogdan/.pub-cache/hosted/pub.dev/bs_flutter_utils-1.0.2/","native_build":true,"dependencies":[]},{"name":"dynamic_color","path":"/Users/bogdan/.pub-cache/hosted/pub.dev/dynamic_color-1.6.5/","native_build":true,"dependencies":[]},{"name":"fluttertoast","path":"/Users/bogdan/.pub-cache/hosted/pub.dev/fluttertoast-8.2.2/","native_build":true,"dependencies":[]},{"name":"path_provider_android","path":"/Users/bogdan/.pub-cache/hosted/pub.dev/path_provider_android-2.0.27/","native_build":true,"dependencies":[]}],"macos":[{"name":"dynamic_color","path":"/Users/bogdan/.pub-cache/hosted/pub.dev/dynamic_color-1.6.5/","native_build":true,"dependencies":[]},{"name":"macos_ui","path":"/Users/bogdan/.pub-cache/hosted/pub.dev/macos_ui-1.12.2/","native_build":true,"dependencies":[]},{"name":"path_provider_foundation","path":"/Users/bogdan/.pub-cache/hosted/pub.dev/path_provider_foundation-2.2.3/","native_build":true,"dependencies":[]}],"linux":[{"name":"dynamic_color","path":"/Users/bogdan/.pub-cache/hosted/pub.dev/dynamic_color-1.6.5/","native_build":true,"dependencies":[]},{"name":"path_provider_linux","path":"/Users/bogdan/.pub-cache/hosted/pub.dev/path_provider_linux-2.1.11/","native_build":false,"dependencies":[]}],"windows":[{"name":"dynamic_color","path":"/Users/bogdan/.pub-cache/hosted/pub.dev/dynamic_color-1.6.5/","native_build":true,"dependencies":[]},{"name":"path_provider_windows","path":"/Users/bogdan/.pub-cache/hosted/pub.dev/path_provider_windows-2.1.7/","native_build":false,"dependencies":[]}],"web":[{"name":"bs_flutter_modal","path":"/Users/bogdan/.pub-cache/hosted/pub.dev/bs_flutter_modal-1.0.6/","dependencies":["bs_flutter_utils"]},{"name":"bs_flutter_utils","path":"/Users/bogdan/.pub-cache/hosted/pub.dev/bs_flutter_utils-1.0.2/","dependencies":[]},{"name":"fluttertoast","path":"/Users/bogdan/.pub-cache/hosted/pub.dev/fluttertoast-8.2.2/","dependencies":[]}]},"dependencyGraph":[{"name":"bs_flutter_modal","dependencies":["bs_flutter_utils"]},{"name":"bs_flutter_utils","dependencies":[]},{"name":"dynamic_color","dependencies":[]},{"name":"fluttertoast","dependencies":[]},{"name":"macos_ui","dependencies":[]},{"name":"path_provider","dependencies":["path_provider_android","path_provider_foundation","path_provider_linux","path_provider_windows"]},{"name":"path_provider_android","dependencies":[]},{"name":"path_provider_foundation","dependencies":[]},{"name":"path_provider_linux","dependencies":[]},{"name":"path_provider_windows","dependencies":[]}],"date_created":"2023-06-20 19:30:43.546201","version":"3.7.9"} \ No newline at end of file +{"info":"This is a generated file; do not edit or check into version control.","plugins":{"ios":[{"name":"bs_flutter_modal","path":"C:\\\\Users\\\\Nutzer\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\bs_flutter_modal-1.0.6\\\\","native_build":true,"dependencies":["bs_flutter_utils"]},{"name":"bs_flutter_utils","path":"C:\\\\Users\\\\Nutzer\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\bs_flutter_utils-1.0.2\\\\","native_build":true,"dependencies":[]},{"name":"fluttertoast","path":"C:\\\\Users\\\\Nutzer\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\fluttertoast-8.2.2\\\\","native_build":true,"dependencies":[]},{"name":"path_provider_foundation","path":"C:\\\\Users\\\\Nutzer\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\path_provider_foundation-2.2.3\\\\","native_build":true,"dependencies":[]}],"android":[{"name":"bs_flutter_modal","path":"C:\\\\Users\\\\Nutzer\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\bs_flutter_modal-1.0.6\\\\","native_build":true,"dependencies":["bs_flutter_utils"]},{"name":"bs_flutter_utils","path":"C:\\\\Users\\\\Nutzer\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\bs_flutter_utils-1.0.2\\\\","native_build":true,"dependencies":[]},{"name":"dynamic_color","path":"C:\\\\Users\\\\Nutzer\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\dynamic_color-1.6.5\\\\","native_build":true,"dependencies":[]},{"name":"fluttertoast","path":"C:\\\\Users\\\\Nutzer\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\fluttertoast-8.2.2\\\\","native_build":true,"dependencies":[]},{"name":"path_provider_android","path":"C:\\\\Users\\\\Nutzer\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\path_provider_android-2.0.27\\\\","native_build":true,"dependencies":[]}],"macos":[{"name":"dynamic_color","path":"C:\\\\Users\\\\Nutzer\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\dynamic_color-1.6.5\\\\","native_build":true,"dependencies":[]},{"name":"macos_ui","path":"C:\\\\Users\\\\Nutzer\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\macos_ui-1.12.2\\\\","native_build":true,"dependencies":[]},{"name":"path_provider_foundation","path":"C:\\\\Users\\\\Nutzer\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\path_provider_foundation-2.2.3\\\\","native_build":true,"dependencies":[]}],"linux":[{"name":"dynamic_color","path":"C:\\\\Users\\\\Nutzer\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\dynamic_color-1.6.5\\\\","native_build":true,"dependencies":[]},{"name":"path_provider_linux","path":"C:\\\\Users\\\\Nutzer\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\path_provider_linux-2.1.11\\\\","native_build":false,"dependencies":[]}],"windows":[{"name":"dynamic_color","path":"C:\\\\Users\\\\Nutzer\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\dynamic_color-1.6.5\\\\","native_build":true,"dependencies":[]},{"name":"path_provider_windows","path":"C:\\\\Users\\\\Nutzer\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\path_provider_windows-2.1.7\\\\","native_build":false,"dependencies":[]}],"web":[{"name":"bs_flutter_modal","path":"C:\\\\Users\\\\Nutzer\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\bs_flutter_modal-1.0.6\\\\","dependencies":["bs_flutter_utils"]},{"name":"bs_flutter_utils","path":"C:\\\\Users\\\\Nutzer\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\bs_flutter_utils-1.0.2\\\\","dependencies":[]},{"name":"fluttertoast","path":"C:\\\\Users\\\\Nutzer\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\fluttertoast-8.2.2\\\\","dependencies":[]}]},"dependencyGraph":[{"name":"bs_flutter_modal","dependencies":["bs_flutter_utils"]},{"name":"bs_flutter_utils","dependencies":[]},{"name":"dynamic_color","dependencies":[]},{"name":"fluttertoast","dependencies":[]},{"name":"macos_ui","dependencies":[]},{"name":"path_provider","dependencies":["path_provider_android","path_provider_foundation","path_provider_linux","path_provider_windows"]},{"name":"path_provider_android","dependencies":[]},{"name":"path_provider_foundation","dependencies":[]},{"name":"path_provider_linux","dependencies":[]},{"name":"path_provider_windows","dependencies":[]}],"date_created":"2023-06-25 14:42:43.177562","version":"3.7.11"} \ No newline at end of file diff --git a/assets/images/fries.png b/assets/images/fries.png deleted file mode 100644 index 21790b6b2a6ee09d249a8546c286d015ba5e317a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 554 zcmV+_0@eMAP)Imja-t%B$R5@B4v{!QJaXbS@mxyBXWg&KGH6Gw z@MU04JZ+Hk)mqkMd;{v)QfPSu1)6Js(>|#g%CK#W<+i330I z0dEiRy$5*liDhnL7%)4Zi7r~!KmkV|H;me%WCz#Sp#wfBc#6>XEawRLfjLJUxHkA! sa2MoTWUYgcA{-zcVUo&9G1 zfhA#+_wwfv;K-41&PfXYKt#$(73ov1sZ3~c?qtxY^-Pg6c|Q3hGT76;CMEFX#Iqkq zw1keB?+Y2IwDjdHT)=}ldb&9{P=Ey48ovyH_ozVPQhFw?3mO&Kk+cyY~xNE9} zv?XoiJ{>Z+Zz*mM*1k3<=b@?P)MlS zPGjPgm=H_i9v(>-VP9a}$$Zn}Hi_?Ji345kR70);HWD2~sw7sCl!(v@@oMbDw+J=j zozRF>&iqO{$s*LmDZ-^77`=2GW(Z$&$HbSfV`&5m*t9Ldos1?2EPb8FoQ4W^v?Z#u zAXw4}sG9l=HZoH#Z%SbcJHT~RHq`$V0W<&JR4mnIE=XZhv{Sdn2~qxNb0Ja06YM3V z!-kv#=D;#%K*GOo%>j*SPTh0HhLSa-F63ed+U$aY7_tF#-siB}ZHVehrXXB^QU?~O zLT^Hzu<;3F$}aH?5FqIkI0sVLc^$nlHQ7Q$o_)4J7K=ou2IrkaX}oxpIF|A57=n9^551sK9+}nEiS*?00000 LNkvXXu0mjfzmD*y diff --git a/lib/android/components/diet_chart_component.dart b/lib/android/components/diet_chart_component.dart deleted file mode 100644 index f63bf46..0000000 --- a/lib/android/components/diet_chart_component.dart +++ /dev/null @@ -1,74 +0,0 @@ -import 'package:flutter/material.dart'; -import 'package:percent_indicator/linear_percent_indicator.dart'; - -class DietChatComponent extends StatefulWidget { - final double fatPercentPerThousandCalorie = 3.7; - final double proteinPercentPerThousandCalorie = 4.5; - final double carbsPercentPerThousandCalorie = 12.8; - - final String carbs = "Kohlenhydrate"; - final String protein = "Protein"; - final String fat = "Fett"; - - late String fatGramm, carbGramm, proteinGramm = ""; - late double fatSummary, carbSummary, proteinSummary = 0.0; - - DietChatComponent(int calorienSummary, {super.key, int calorienLeft = 0}){ - fatSummary = (calorienSummary / 100) * fatPercentPerThousandCalorie; - carbSummary = (calorienSummary / 100) * carbsPercentPerThousandCalorie; - proteinSummary = (calorienSummary / 100) * proteinPercentPerThousandCalorie; - fatGramm = '0 / $fatSummary g'; - carbGramm = '0 / $carbSummary g'; - proteinGramm = '0 / $proteinSummary g'; - } - - @override - State createState() => _DietChatComponentState(); -} - -class _DietChatComponentState extends State { - @override - Widget build(BuildContext context) { - return Row( - mainAxisAlignment: MainAxisAlignment.spaceBetween, - children: [ - Column( - children: [ - Text(widget.carbs), - LinearPercentIndicator( - width: 100.0, - lineHeight: 8.0, - percent: 0.9, - progressColor: Colors.blue, - ), - Text(widget.carbGramm) - ], - ), - Column( - children: [ - Text(widget.protein), - LinearPercentIndicator( - width: 100.0, - lineHeight: 8.0, - percent: 0.9, - progressColor: Colors.blue, - ), - Text(widget.proteinGramm) - ], - ), - Column( - children: [ - Text(widget.fat), - LinearPercentIndicator( - width: 100.0, - lineHeight: 8.0, - percent: 0.9, - progressColor: Colors.blue, - ), - Text(widget.fatGramm) - ], - ) - ], - ); - } -} diff --git a/lib/android/components/meal_page_text/secondary_big_text_component.dart b/lib/android/components/meal_page_text/secondary_big_text_component.dart deleted file mode 100644 index 2eccc37..0000000 --- a/lib/android/components/meal_page_text/secondary_big_text_component.dart +++ /dev/null @@ -1,19 +0,0 @@ -import 'package:flutter/material.dart'; - -class SecondaryBigTextComponent extends StatelessWidget { - final String title; - - const SecondaryBigTextComponent(this.title, {Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - return Text( - title.toString(), - style: const TextStyle( - color: Colors.black, - fontSize: 30, - fontWeight: FontWeight.w600), - textAlign: TextAlign.left, - ); - } -} diff --git a/lib/android/components/not_found_component.dart b/lib/android/components/not_found_component.dart deleted file mode 100644 index 714ba26..0000000 --- a/lib/android/components/not_found_component.dart +++ /dev/null @@ -1,20 +0,0 @@ -import 'package:empty_widget/empty_widget.dart'; -import 'package:flutter/cupertino.dart'; - -class NotFoundComponent extends StatelessWidget { - const NotFoundComponent({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - return EmptyWidget( - image: null, - packageImage: PackageImage.Image_1, - title: 'Gericht existiert nicht', - titleTextStyle: const TextStyle( - fontSize: 18, - color: Color(0xff9da9c7), - fontWeight: FontWeight.w500, - ), - ); - } -} diff --git a/lib/android/components/statistics_circular_indicator_component.dart b/lib/android/components/statistics_circular_indicator_component.dart deleted file mode 100644 index 9a68cab..0000000 --- a/lib/android/components/statistics_circular_indicator_component.dart +++ /dev/null @@ -1,26 +0,0 @@ -import 'package:ernaehrung/android/components/circular/circular_component.dart'; -import 'package:flutter/material.dart'; - -class StatisticsPercentComponent extends StatelessWidget { - final int eaten, calorienBurned, calorienLeft, calorienLeftPercent; - - const StatisticsPercentComponent( - {super.key, - required this.calorienLeftPercent, - required this.eaten, - required this.calorienBurned, - required this.calorienLeft}); - - @override - Widget build(BuildContext context) { - return Row( - crossAxisAlignment: CrossAxisAlignment.center, - mainAxisAlignment: MainAxisAlignment.spaceBetween, - children: [ - Text("$eaten gegessen"), - const CircularLoadingComponent(123), - Text("$calorienBurned verbrannt"), - ], - ); - } -} diff --git a/lib/android/components/welcome_text_field.dart b/lib/android/components/welcome_text_field.dart deleted file mode 100644 index cb08911..0000000 --- a/lib/android/components/welcome_text_field.dart +++ /dev/null @@ -1,192 +0,0 @@ -import 'package:ernaehrung/android/pages/nav_pages/main_page.dart'; -import 'package:flutter/material.dart'; - -class WelcomePageStateTextFieldState extends StatefulWidget { - const WelcomePageStateTextFieldState({super.key}); - - @override - State createState() => - _WelcomePageStateTextFieldState(); -} - -class _WelcomePageStateTextFieldState - extends State { - final firstnameTextEditingController = TextEditingController(); - final secondnameTextEditingController = TextEditingController(); - final weightTextEditingController = TextEditingController(); - final heightTextEditingController = TextEditingController(); - final caloriesTextEditingController = TextEditingController(); - - bool isNameVisible = false; - bool isSNameVisible = false; - bool isWeightVisible = false; - bool isHeightVisible = false; - bool isCaloriesVisible = false; - - void setNameVisible(bool visibility) { - setState(() => isNameVisible = visibility); - } - - void setSNameVisible(bool visibility) { - setState(() => isSNameVisible = visibility); - } - - void setWeightVisible(bool visibility) { - setState(() => isWeightVisible = visibility); - } - - void setHeightVisible(bool visibility) { - setState(() => isHeightVisible = visibility); - } - - void setCaloriesVisible(bool visibility) { - setState(() => isCaloriesVisible = visibility); - } - - @override - Widget build(BuildContext context) { - return Column( - crossAxisAlignment: CrossAxisAlignment.center, - children: [ - const SizedBox( - height: 24, - ), - TextFormField( - onChanged: (newText) { - if (newText.isNotEmpty) { - setNameVisible(true); - } else { - setNameVisible(false); - } - }, - controller: firstnameTextEditingController, - decoration: InputDecoration( - hintText: 'Name', - border: const OutlineInputBorder(gapPadding: 8), - suffixIcon: isNameVisible - ? IconButton( - onPressed: () { - firstnameTextEditingController.clear(); - setState(() => isNameVisible = false); - }, - icon: const Icon(Icons.clear)) - : null, - ), - keyboardType: TextInputType.text, - ), - const SizedBox( - height: 24, - ), - TextFormField( - onChanged: (newText) { - if (newText.isNotEmpty) { - setSNameVisible(true); - } else { - setSNameVisible(false); - } - }, - controller: secondnameTextEditingController, - decoration: InputDecoration( - hintText: 'Vorname', - border: const OutlineInputBorder(gapPadding: 8), - suffixIcon: isSNameVisible - ? IconButton( - onPressed: () { - secondnameTextEditingController.clear(); - setState(() => isSNameVisible = false); - }, - icon: const Icon(Icons.clear)) - : null, - ), - keyboardType: TextInputType.text), - const SizedBox( - height: 24, - ), - TextFormField( - onChanged: (newText) { - if (newText.isNotEmpty) { - setWeightVisible(true); - } else { - setWeightVisible(false); - } - }, - controller: weightTextEditingController, - decoration: InputDecoration( - hintText: 'Gewicht', - border: const OutlineInputBorder(gapPadding: 8), - suffixIcon: isWeightVisible - ? IconButton( - onPressed: () { - weightTextEditingController.clear(); - setState(() => isWeightVisible = false); - }, - icon: const Icon(Icons.clear)) - : null, - ), - keyboardType: TextInputType.number), - const SizedBox( - height: 24, - ), - TextFormField( - onChanged: (newText) { - if (newText.isNotEmpty) { - setHeightVisible(true); - } else { - setHeightVisible(false); - } - }, - controller: heightTextEditingController, - decoration: InputDecoration( - hintText: 'Größe', - border: const OutlineInputBorder(gapPadding: 8), - suffixIcon: isHeightVisible - ? IconButton( - onPressed: () { - heightTextEditingController.clear(); - setState(() => isHeightVisible = false); - }, - icon: const Icon(Icons.clear)) - : null, - ), - keyboardType: TextInputType.number), - const SizedBox( - height: 24, - ), - TextFormField( - onChanged: (newText) { - if (newText.isNotEmpty) { - setCaloriesVisible(true); - } else { - setCaloriesVisible(false); - } - }, - controller: caloriesTextEditingController, - decoration: InputDecoration( - hintText: 'gewünschte Kalorienzufuhr', - border: const OutlineInputBorder(gapPadding: 8), - suffixIcon: isCaloriesVisible - ? IconButton( - onPressed: () { - caloriesTextEditingController.clear(); - setState(() => isCaloriesVisible = false); - }, - icon: const Icon(Icons.clear)) - : null, - ), - keyboardType: TextInputType.number), - const SizedBox( - height: 24, - ), - ElevatedButton( - onPressed: () { - Navigator.pushAndRemoveUntil( - context, - MaterialPageRoute( - builder: (context) => const MainPage()), - (r) => false); - }, - child: const Text('Bestätigen')) - ], - ); - } -} diff --git a/lib/android/config/mock_data_helper.dart b/lib/android/config/mock_data_helper.dart deleted file mode 100644 index ec970fb..0000000 --- a/lib/android/config/mock_data_helper.dart +++ /dev/null @@ -1,62 +0,0 @@ - -import 'package:ernaehrung/android/components/meal_page_text/days_component.dart'; -import 'package:ernaehrung/android/config/statistics.dart'; -import 'package:hive/hive.dart'; -import '../models/food.dart'; - -// TODO REMOVE IN PROD - -mockDataForWholeWeek(){ - StatisticsService statisticsService = StatisticsService.instance; - Box box = Hive.box('STATISTICS_MAIN'); - int timestamp = statisticsService.getTimestampFromNow(); - List currentWeek = statisticsService.getTimestampsByTimestampAndTimespan(TimeSpan.week, timestamp); - for(int i = 0;i < currentWeek.length;i++){ - box.put(currentWeek[i], mockFood(i)); - } -} - - -mockFood(int i) { - List>> foods = [ - { - 'FRÜHSTÜCK':[ Food(167543,"Snacks Granola Bars Hard Almond","Snacks",495,25.5,7.7,62,0,4.8,),Food(167543,"Snacks Granola Bars Hard Almond","Snacks",495,25.5,7.7,62,0,4.8,),], - 'MITTAGESSEN':[ Food(167543,"Snacks Granola Bars Hard Almond","Snacks",495,25.5,7.7,62,0,4.8,),Food(167543,"Snacks Granola Bars Hard Almond","Snacks",495,25.5,7.7,62,0,4.8,),], - 'ABENDESSEN':[ Food(167543,"Snacks Granola Bars Hard Almond","Snacks",495,25.5,7.7,62,0,4.8,),Food(167543,"Snacks Granola Bars Hard Almond","Snacks",495,25.5,7.7,62,0,4.8,),], - }, - { - 'FRÜHSTÜCK':[ Food(167543,"Snacks Granola Bars Hard Almond","Snacks",495,25.5,7.7,62,0,4.8,),Food(167543,"Snacks Granola Bars Hard Almond","Snacks",495,25.5,7.7,62,0,4.8,),], - 'MITTAGESSEN':[ Food(167543,"Snacks Granola Bars Hard Almond","Snacks",495,25.5,7.7,62,0,4.8,),Food(167543,"Snacks Granola Bars Hard Almond","Snacks",495,25.5,7.7,62,0,4.8,),], - 'ABENDESSEN':[ Food(167543,"Snacks Granola Bars Hard Almond","Snacks",495,25.5,7.7,62,0,4.8,),Food(167543,"Snacks Granola Bars Hard Almond","Snacks",495,25.5,7.7,62,0,4.8,),], - }, - { - 'FRÜHSTÜCK':[ Food(167543,"Snacks Granola Bars Hard Almond","Snacks",495,25.5,7.7,62,0,4.8,),Food(167543,"Snacks Granola Bars Hard Almond","Snacks",495,25.5,7.7,62,0,4.8,),], - 'MITTAGESSEN':[ Food(167543,"Snacks Granola Bars Hard Almond","Snacks",495,25.5,7.7,62,0,4.8,),Food(167543,"Snacks Granola Bars Hard Almond","Snacks",495,25.5,7.7,62,0,4.8,),], - 'ABENDESSEN':[ Food(167543,"Snacks Granola Bars Hard Almond","Snacks",495,25.5,7.7,62,0,4.8,),Food(167543,"Snacks Granola Bars Hard Almond","Snacks",495,25.5,7.7,62,0,4.8,),], - }, - { - 'FRÜHSTÜCK':[ Food(167543,"Snacks Granola Bars Hard Almond","Snacks",495,25.5,7.7,62,0,4.8,),Food(167543,"Snacks Granola Bars Hard Almond","Snacks",495,25.5,7.7,62,0,4.8,),], - 'MITTAGESSEN':[ Food(167543,"Snacks Granola Bars Hard Almond","Snacks",495,25.5,7.7,62,0,4.8,),Food(167543,"Snacks Granola Bars Hard Almond","Snacks",495,25.5,7.7,62,0,4.8,),], - 'ABENDESSEN':[ Food(167543,"Snacks Granola Bars Hard Almond","Snacks",495,25.5,7.7,62,0,4.8,),Food(167543,"Snacks Granola Bars Hard Almond","Snacks",495,25.5,7.7,62,0,4.8,),], - }, - { - 'FRÜHSTÜCK':[ Food(167543,"Snacks Granola Bars Hard Almond","Snacks",495,25.5,7.7,62,0,4.8,),Food(167543,"Snacks Granola Bars Hard Almond","Snacks",495,25.5,7.7,62,0,4.8,),], - 'MITTAGESSEN':[ Food(167543,"Snacks Granola Bars Hard Almond","Snacks",495,25.5,7.7,62,0,4.8,),Food(167543,"Snacks Granola Bars Hard Almond","Snacks",495,25.5,7.7,62,0,4.8,),], - 'ABENDESSEN':[ Food(167543,"Snacks Granola Bars Hard Almond","Snacks",495,25.5,7.7,62,0,4.8,),Food(167543,"Snacks Granola Bars Hard Almond","Snacks",495,25.5,7.7,62,0,4.8,),], - }, - { - 'FRÜHSTÜCK':[ Food(167543,"Snacks Granola Bars Hard Almond","Snacks",495,25.5,7.7,62,0,4.8,),Food(167543,"Snacks Granola Bars Hard Almond","Snacks",495,25.5,7.7,62,0,4.8,),], - 'MITTAGESSEN':[ Food(167543,"Snacks Granola Bars Hard Almond","Snacks",495,25.5,7.7,62,0,4.8,),Food(167543,"Snacks Granola Bars Hard Almond","Snacks",495,25.5,7.7,62,0,4.8,),], - 'ABENDESSEN':[ Food(167543,"Snacks Granola Bars Hard Almond","Snacks",495,25.5,7.7,62,0,4.8,),Food(167543,"Snacks Granola Bars Hard Almond","Snacks",495,25.5,7.7,62,0,4.8,),], - }, - { - 'FRÜHSTÜCK':[ Food(167543,"Snacks Granola Bars Hard Almond","Snacks",495,25.5,7.7,62,0,4.8,),Food(167543,"Snacks Granola Bars Hard Almond","Snacks",495,25.5,7.7,62,0,4.8,),], - 'MITTAGESSEN':[ Food(167543,"Snacks Granola Bars Hard Almond","Snacks",495,25.5,7.7,62,0,4.8,),Food(167543,"Snacks Granola Bars Hard Almond","Snacks",495,25.5,7.7,62,0,4.8,),], - 'ABENDESSEN':[ Food(167543,"Snacks Granola Bars Hard Almond","Snacks",495,25.5,7.7,62,0,4.8,),Food(167543,"Snacks Granola Bars Hard Almond","Snacks",495,25.5,7.7,62,0,4.8,),], - }, - ]; - return foods[i]; -} - - - diff --git a/lib/android/android_app.dart b/lib/app.dart similarity index 69% rename from lib/android/android_app.dart rename to lib/app.dart index d5958a1..86c9c2c 100644 --- a/lib/android/android_app.dart +++ b/lib/app.dart @@ -1,8 +1,8 @@ -import 'package:ernaehrung/android/pages/nav_pages/main_page.dart'; -import 'package:ernaehrung/android/pages/welcome.dart'; +import 'package:ernaehrung/pages/nav_pages/main_page.dart'; +import 'package:ernaehrung/pages/user_data_form/initial_user_data_form.dart'; import 'package:flutter/material.dart'; +import 'package:flutter_dotenv/flutter_dotenv.dart'; import 'package:hive/hive.dart'; - import 'models/user.dart'; class AndroidApp extends StatelessWidget { @@ -10,7 +10,7 @@ class AndroidApp extends StatelessWidget { @override Widget build(BuildContext context) { - final box = Hive.box('USER_BOX'); + final box = Hive.box(dotenv.env['USER_BOX'] ?? 'USER'); return MaterialApp( debugShowCheckedModeBanner: false, title: 'Flutter Demo', diff --git a/lib/android/config/cast_helper.dart b/lib/helper/cast_helper.dart similarity index 100% rename from lib/android/config/cast_helper.dart rename to lib/helper/cast_helper.dart diff --git a/lib/android/config/format_helper.dart b/lib/helper/format_helper.dart similarity index 100% rename from lib/android/config/format_helper.dart rename to lib/helper/format_helper.dart diff --git a/lib/android/config/setup_todaybox_config.dart b/lib/helper/setup_todaybox.dart similarity index 76% rename from lib/android/config/setup_todaybox_config.dart rename to lib/helper/setup_todaybox.dart index 36d3734..d514f57 100644 --- a/lib/android/config/setup_todaybox_config.dart +++ b/lib/helper/setup_todaybox.dart @@ -7,11 +7,10 @@ final List emptyList = []; void setupTodayBox() async{ - final todayBox = Hive.box(dotenv.env['MEALPLAN_BOX']!); + final todayBox = Hive.box(dotenv.env['TODAY_BOX']!); putIfKeyNotExists(todayBox, 'FRÜHSTÜCK', []); putIfKeyNotExists(todayBox, 'MITTAGESSEN', []); putIfKeyNotExists(todayBox, 'ABENDESSEN', []); - } @@ -20,6 +19,3 @@ void putIfKeyNotExists(Box box, String key, List value) { box.put(key, value); } } -String getFormatedTodayDate(){ - return DateTime.now().toString().substring(0,10); -} \ No newline at end of file diff --git a/lib/main.dart b/lib/main.dart index 60bafcc..467b4b6 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -1,10 +1,10 @@ -import 'package:ernaehrung/android/models/food.dart'; -import 'package:ernaehrung/android/models/user.dart'; import 'package:flutter/material.dart'; import 'package:hive_flutter/hive_flutter.dart'; import 'package:flutter_dotenv/flutter_dotenv.dart'; -import 'android/android_app.dart'; -import 'android/config/setup_todaybox_config.dart'; +import 'app.dart'; +import 'helper/setup_todaybox.dart'; +import 'models/food.dart'; +import 'models/user.dart'; void main() async { @@ -16,12 +16,13 @@ void main() async { if (!Hive.isAdapterRegistered(1)) { Hive.registerAdapter(UserAdapter()); } - await Hive.openBox(dotenv.env['STATISTICS_TODAY_BOX'] ?? 'STATISTICS_TODAY_BOX'); - await Hive.openBox( dotenv.env['STATISTICS_PROGRESS_BOX'] ?? 'STATISTICS_PROGRESS_BOX'); - await Hive.openBox(dotenv.env['STATISTICS_MAIN_BOX'] ?? 'STATISTICS_MAIN_BOX'); - await Hive.openBox(dotenv.env['MEALPLAN_BOX'] ?? 'MEALPLAN'); - await Hive.openBox('USER_BOX'); + await Hive.openBox(dotenv.env['PROGRESS_BOX'] ?? 'PROGRESS'); + await Hive.openBox( dotenv.env['STATISTICS_BOX'] ?? 'STATISTICS'); + await Hive.openBox(dotenv.env['MAIN_BOX'] ?? 'MAIN'); + await Hive.openBox(dotenv.env['TODAY_BOX'] ?? 'TODAY'); + await Hive.openBox(dotenv.env['USER_BOX'] ?? 'USER'); setupTodayBox(); + //Hive.deleteFromDisk(); runApp(const AndroidApp()); } diff --git a/lib/android/models/card.dart b/lib/models/card.dart similarity index 100% rename from lib/android/models/card.dart rename to lib/models/card.dart diff --git a/lib/android/models/card_item.dart b/lib/models/card_item.dart similarity index 100% rename from lib/android/models/card_item.dart rename to lib/models/card_item.dart diff --git a/lib/android/models/food.dart b/lib/models/food.dart similarity index 100% rename from lib/android/models/food.dart rename to lib/models/food.dart diff --git a/lib/android/models/food.g.dart b/lib/models/food.g.dart similarity index 100% rename from lib/android/models/food.g.dart rename to lib/models/food.g.dart diff --git a/lib/android/models/food_dto.dart b/lib/models/food_dto.dart similarity index 100% rename from lib/android/models/food_dto.dart rename to lib/models/food_dto.dart diff --git a/lib/android/models/form_builder.dart b/lib/models/form_builder.dart similarity index 100% rename from lib/android/models/form_builder.dart rename to lib/models/form_builder.dart diff --git a/lib/android/models/user.dart b/lib/models/user.dart similarity index 100% rename from lib/android/models/user.dart rename to lib/models/user.dart diff --git a/lib/android/models/user.g.dart b/lib/models/user.g.dart similarity index 100% rename from lib/android/models/user.g.dart rename to lib/models/user.g.dart diff --git a/lib/android/pages/nav_pages/main_page.dart b/lib/pages/nav_pages/main_page.dart similarity index 79% rename from lib/android/pages/nav_pages/main_page.dart rename to lib/pages/nav_pages/main_page.dart index d11c689..1ea2f4c 100644 --- a/lib/android/pages/nav_pages/main_page.dart +++ b/lib/pages/nav_pages/main_page.dart @@ -1,10 +1,10 @@ -import 'package:ernaehrung/android/components/meal_page_text/days_component.dart'; -import 'package:ernaehrung/android/config/statistics.dart'; -import 'package:ernaehrung/android/pages/nav_pages/progress_page.dart'; -import 'package:ernaehrung/android/pages/nav_pages/today_page.dart'; -import 'package:ernaehrung/android/pages/settings.dart'; +import 'package:ernaehrung/pages/nav_pages/subpages/statistics_page/statistics_page.dart'; +import 'package:ernaehrung/pages/nav_pages/subpages/today_page/today_page.dart'; import 'package:flutter/material.dart'; -import 'meal_plan_page.dart'; +import '../../services/statistics.dart'; +import 'subpages/progress_page/sub_components/charts/sub_components/tabs/timespan_tabs.dart'; +import '../user_data_form/user_data_form.dart'; +import 'subpages/progress_page/progress_page.dart'; class MainPage extends StatefulWidget { const MainPage({Key? key}) : super(key: key); @@ -16,8 +16,8 @@ class MainPage extends StatefulWidget { class MainPageState extends State { List pages = [ const TodayPage(title: 'Essensplan'), - const MealPlanPage(title: 'Gesamtübersicht'), - const ProgressPage(title: 'Statistiken') + const ProgressPage(title: 'Gesamtübersicht'), + const StatisticsPage(title: 'Statistiken') ]; int currentIndex = 0; @@ -26,10 +26,10 @@ class MainPageState extends State { setState(() { currentIndex = index; if (currentIndex == 1) { - StatisticsService.instance + DataService.instance .updateStatisticsTodayBoxByTimespan(TimeSpan.day); } else if (currentIndex == 2) { - StatisticsService.instance.updateProgressBoxValues(); + DataService.instance.updateProgressBoxValues(); } pages[currentIndex]; }); @@ -45,7 +45,7 @@ class MainPageState extends State { children: [ Text( pages[currentIndex].title, - style: const TextStyle( + style: const TextStyle( color: Colors.black ), ), diff --git a/lib/android/pages/nav_pages/meal_plan_page.dart b/lib/pages/nav_pages/subpages/progress_page/progress_page.dart similarity index 57% rename from lib/android/pages/nav_pages/meal_plan_page.dart rename to lib/pages/nav_pages/subpages/progress_page/progress_page.dart index 52d1ac4..0a33a66 100644 --- a/lib/android/pages/nav_pages/meal_plan_page.dart +++ b/lib/pages/nav_pages/subpages/progress_page/progress_page.dart @@ -1,12 +1,14 @@ -import 'package:ernaehrung/android/components/chart/round_chart.dart'; -import 'package:ernaehrung/android/components/meal_page_food_component.dart'; + import 'package:flutter/material.dart'; -class MealPlanPage extends StatefulWidget { +import 'sub_components/charts/progress_charts_overview.dart'; +import 'sub_components/list_view/progress_all_meals_component.dart'; + +class ProgressPage extends StatefulWidget { final String title; final Color backgroundColor = const Color(0xff47a44b); - const MealPlanPage({Key? key, required this.title}) : super(key: key); + const ProgressPage({Key? key, required this.title}) : super(key: key); String get getTitle => title; @@ -16,10 +18,10 @@ class MealPlanPage extends StatefulWidget { } @override - State createState() => _MealPlanState(); + State createState() => ProgressState(); } -class _MealPlanState extends State { +class ProgressState extends State { @override Widget build(BuildContext context) { return Scaffold( @@ -29,8 +31,8 @@ class _MealPlanState extends State { child: SingleChildScrollView( child: Column( children: const [ - RoundChartComponent(), - MealPageStatisticsFoodComponent(), + ProgressChartsOverviewComponent(), + ProgressAllMealsComponent(), ], ), ))); diff --git a/lib/android/components/chart/round_chart.dart b/lib/pages/nav_pages/subpages/progress_page/sub_components/charts/progress_charts_overview.dart similarity index 59% rename from lib/android/components/chart/round_chart.dart rename to lib/pages/nav_pages/subpages/progress_page/sub_components/charts/progress_charts_overview.dart index 4ae6a29..281c160 100644 --- a/lib/android/components/chart/round_chart.dart +++ b/lib/pages/nav_pages/subpages/progress_page/sub_components/charts/progress_charts_overview.dart @@ -1,10 +1,10 @@ import 'package:flutter/material.dart'; -import '../meal_page_text/days_component.dart'; -import '../meal_page_text/statistics_today_component.dart'; +import 'sub_components/tabs/timespan_tabs.dart'; +import 'sub_components/charts/progress_charts.dart'; -class RoundChartComponent extends StatelessWidget { - const RoundChartComponent({Key? key}) : super(key: key); +class ProgressChartsOverviewComponent extends StatelessWidget { + const ProgressChartsOverviewComponent({Key? key}) : super(key: key); @override Widget build(BuildContext context) { @@ -17,8 +17,8 @@ class RoundChartComponent extends StatelessWidget { vertical: 8, horizontal: 16), child: Column( children: const [ - DaysMealPageComponent(), - StatisticsPercentage(), + TimespanTabsComponent(), + ProgressChartsComponent(), ], ), ), diff --git a/lib/android/components/meal_page_text/statistics_text_component.dart b/lib/pages/nav_pages/subpages/progress_page/sub_components/charts/sub_components/charts/horizontal_chart_text_component.dart similarity index 73% rename from lib/android/components/meal_page_text/statistics_text_component.dart rename to lib/pages/nav_pages/subpages/progress_page/sub_components/charts/sub_components/charts/horizontal_chart_text_component.dart index 098fe8a..845ccb5 100644 --- a/lib/android/components/meal_page_text/statistics_text_component.dart +++ b/lib/pages/nav_pages/subpages/progress_page/sub_components/charts/sub_components/charts/horizontal_chart_text_component.dart @@ -1,10 +1,10 @@ import 'package:flutter/cupertino.dart'; -class StaticsTextComponent extends StatelessWidget { +class HorizontalChartTextComponent extends StatelessWidget { final String name; final bool titleOrSecondary; - const StaticsTextComponent(this.name, this.titleOrSecondary, {super.key}); + const HorizontalChartTextComponent(this.name, this.titleOrSecondary, {super.key}); @override Widget build(BuildContext context) { diff --git a/lib/android/components/meal_page_text/statistics_today_component.dart b/lib/pages/nav_pages/subpages/progress_page/sub_components/charts/sub_components/charts/progress_charts.dart similarity index 62% rename from lib/android/components/meal_page_text/statistics_today_component.dart rename to lib/pages/nav_pages/subpages/progress_page/sub_components/charts/sub_components/charts/progress_charts.dart index 4386065..143f923 100644 --- a/lib/android/components/meal_page_text/statistics_today_component.dart +++ b/lib/pages/nav_pages/subpages/progress_page/sub_components/charts/sub_components/charts/progress_charts.dart @@ -1,18 +1,18 @@ -import 'package:ernaehrung/android/components/circular/circular_component.dart'; -import 'package:ernaehrung/android/components/circular/line_circular_with_text_component.dart'; -import 'package:ernaehrung/android/config/statistics.dart'; +import 'package:ernaehrung/pages/nav_pages/subpages/progress_page/sub_components/charts/sub_components/charts/progress_circular_chart.dart'; +import 'package:ernaehrung/pages/nav_pages/subpages/progress_page/sub_components/charts/sub_components/charts/progress_horizontal_chart.dart'; import 'package:flutter/material.dart'; +import '../../../../../../../../services/statistics.dart'; -class StatisticsPercentage extends StatelessWidget { +class ProgressChartsComponent extends StatelessWidget { final double heightStatisticsContainer = 220.0; final double widthStatisticsContainer = double.infinity; - const StatisticsPercentage({Key? key}) : super(key: key); + const ProgressChartsComponent({Key? key}) : super(key: key); @override Widget build(BuildContext context) { return ValueListenableBuilder>( - valueListenable: StatisticsService.instance.ingredients, + valueListenable: DataService.instance.ingredients, builder: (context, value, child) { return Container( height: heightStatisticsContainer, @@ -26,7 +26,7 @@ class StatisticsPercentage extends StatelessWidget { padding: const EdgeInsets.symmetric( vertical: 0, horizontal: 8), child: FittedBox( - child: CircularLoadingComponent(value[6].toInt()), + child: ProgressCircularChartComponent(value[6].toInt()), ), ), ), @@ -36,11 +36,11 @@ class StatisticsPercentage extends StatelessWidget { mainAxisAlignment: MainAxisAlignment.spaceEvenly, children: [ // TODO adjust 200 to values from user box - LineCircularWiTextComponent(Colors.lightGreen, value[0], + ProgressHorizontalChartComponent(Colors.lightGreen, value[0], value[3].toInt(), "Fat (g)"), - LineCircularWiTextComponent(Colors.lightGreen, value[1], + ProgressHorizontalChartComponent(Colors.lightGreen, value[1], value[4].toInt(), "Protein (g)"), - LineCircularWiTextComponent(Colors.lightGreen, value[2], + ProgressHorizontalChartComponent(Colors.lightGreen, value[2], value[5].toInt(), "Carbohydrate (g)"), ], )) diff --git a/lib/android/components/circular/circular_component.dart b/lib/pages/nav_pages/subpages/progress_page/sub_components/charts/sub_components/charts/progress_circular_chart.dart similarity index 77% rename from lib/android/components/circular/circular_component.dart rename to lib/pages/nav_pages/subpages/progress_page/sub_components/charts/sub_components/charts/progress_circular_chart.dart index 44f19ff..08065ef 100644 --- a/lib/android/components/circular/circular_component.dart +++ b/lib/pages/nav_pages/subpages/progress_page/sub_components/charts/sub_components/charts/progress_circular_chart.dart @@ -1,15 +1,15 @@ -import 'package:ernaehrung/android/config/statistics.dart'; import 'package:flutter/material.dart'; import 'package:percent_indicator/circular_percent_indicator.dart'; +import '../../../../../../../../services/statistics.dart'; -class CircularLoadingComponent extends StatelessWidget { +class ProgressCircularChartComponent extends StatelessWidget { final int totalCalories; - const CircularLoadingComponent(this.totalCalories, {Key? key}) : super(key: key); + const ProgressCircularChartComponent(this.totalCalories, {Key? key}) : super(key: key); @override Widget build(BuildContext context) { return ValueListenableBuilder( - valueListenable: StatisticsService.instance.eatenCalories, + valueListenable: DataService.instance.eatenCalories, builder: (context, value, child) { double progress = double.parse((value / totalCalories).toStringAsFixed(1)); diff --git a/lib/android/components/circular/line_circular_with_text_component.dart b/lib/pages/nav_pages/subpages/progress_page/sub_components/charts/sub_components/charts/progress_horizontal_chart.dart similarity index 70% rename from lib/android/components/circular/line_circular_with_text_component.dart rename to lib/pages/nav_pages/subpages/progress_page/sub_components/charts/sub_components/charts/progress_horizontal_chart.dart index 1cd91c4..037e821 100644 --- a/lib/android/components/circular/line_circular_with_text_component.dart +++ b/lib/pages/nav_pages/subpages/progress_page/sub_components/charts/sub_components/charts/progress_horizontal_chart.dart @@ -1,15 +1,15 @@ -import 'package:ernaehrung/android/components/meal_page_text/statistics_text_component.dart'; +import 'package:ernaehrung/pages/nav_pages/subpages/progress_page/sub_components/charts/sub_components/charts/horizontal_chart_text_component.dart'; import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:percent_indicator/linear_percent_indicator.dart'; -class LineCircularWiTextComponent extends StatelessWidget { +class ProgressHorizontalChartComponent extends StatelessWidget { final Color progressColor; final double value; final int total; final String textName; - const LineCircularWiTextComponent( + const ProgressHorizontalChartComponent( this.progressColor, this.value, this.total, this.textName, {super.key}); @@ -22,7 +22,7 @@ class LineCircularWiTextComponent extends StatelessWidget { child: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ - StaticsTextComponent(double.parse(value.toString()).toStringAsFixed(2), true), + HorizontalChartTextComponent(double.parse(value.toString()).toStringAsFixed(2), true), const SizedBox(height: 4,), LinearPercentIndicator( padding: EdgeInsets.zero, @@ -31,7 +31,7 @@ class LineCircularWiTextComponent extends StatelessWidget { progressColor: progressColor, ), const SizedBox(height: 4,), - StaticsTextComponent(textName, false), + HorizontalChartTextComponent(textName, false), ], ), ); diff --git a/lib/android/components/meal_page_text/days_component.dart b/lib/pages/nav_pages/subpages/progress_page/sub_components/charts/sub_components/tabs/timespan_tabs.dart similarity index 64% rename from lib/android/components/meal_page_text/days_component.dart rename to lib/pages/nav_pages/subpages/progress_page/sub_components/charts/sub_components/tabs/timespan_tabs.dart index 4a3811d..804a2b3 100644 --- a/lib/android/components/meal_page_text/days_component.dart +++ b/lib/pages/nav_pages/subpages/progress_page/sub_components/charts/sub_components/tabs/timespan_tabs.dart @@ -1,6 +1,6 @@ -import 'package:ernaehrung/android/components/meal_page_text/days_text_component.dart'; -import 'package:ernaehrung/android/config/statistics.dart'; +import 'package:ernaehrung/pages/nav_pages/subpages/progress_page/sub_components/charts/sub_components/tabs/timespan_tabs_text.dart'; import 'package:flutter/material.dart'; +import '../../../../../../../../services/statistics.dart'; enum TimeSpan { day, @@ -9,25 +9,25 @@ enum TimeSpan { } -class DaysMealPageComponent extends StatefulWidget { - const DaysMealPageComponent({Key? key}) : super(key: key); +class TimespanTabsComponent extends StatefulWidget { + const TimespanTabsComponent({Key? key}) : super(key: key); @override State createState() => _DaysMealPageState(); } -class _DaysMealPageState extends State { +class _DaysMealPageState extends State { int activatedIndex = 0; void updateValue(int index) { setState(() { activatedIndex = index; if(activatedIndex == 0){ - StatisticsService.instance.updateStatisticsTodayBoxByTimespan(TimeSpan.day); + DataService.instance.updateStatisticsTodayBoxByTimespan(TimeSpan.day); }else if(activatedIndex == 1){ - StatisticsService.instance.updateStatisticsTodayBoxByTimespan(TimeSpan.week); + DataService.instance.updateStatisticsTodayBoxByTimespan(TimeSpan.week); }else if(activatedIndex == 2){ - StatisticsService.instance.updateStatisticsTodayBoxByTimespan(TimeSpan.month); + DataService.instance.updateStatisticsTodayBoxByTimespan(TimeSpan.month); } }); } @@ -37,7 +37,7 @@ class _DaysMealPageState extends State { return Row( mainAxisAlignment: MainAxisAlignment.start, children: [ - DaysTextComponent( + TimespanTabsTextComponent( timeSpan: TimeSpan.day, textColor: activatedIndex == 0 ? const Color(0xff47a44b) @@ -46,7 +46,7 @@ class _DaysMealPageState extends State { index: 0 ), - DaysTextComponent( + TimespanTabsTextComponent( timeSpan: TimeSpan.week, textColor: activatedIndex == 1 ? const Color(0xff47a44b) @@ -54,7 +54,7 @@ class _DaysMealPageState extends State { onPressed: updateValue, index: 1 ), - DaysTextComponent( + TimespanTabsTextComponent( timeSpan: TimeSpan.month, textColor: activatedIndex == 2 ? const Color(0xff47a44b) diff --git a/lib/android/components/meal_page_text/days_text_component.dart b/lib/pages/nav_pages/subpages/progress_page/sub_components/charts/sub_components/tabs/timespan_tabs_text.dart similarity index 63% rename from lib/android/components/meal_page_text/days_text_component.dart rename to lib/pages/nav_pages/subpages/progress_page/sub_components/charts/sub_components/tabs/timespan_tabs_text.dart index 120e535..396ece1 100644 --- a/lib/android/components/meal_page_text/days_text_component.dart +++ b/lib/pages/nav_pages/subpages/progress_page/sub_components/charts/sub_components/tabs/timespan_tabs_text.dart @@ -1,16 +1,17 @@ -import 'package:ernaehrung/android/components/meal_page_text/days_component.dart'; -import 'package:ernaehrung/android/config/statistics.dart'; +import 'package:ernaehrung/pages/nav_pages/subpages/progress_page/sub_components/charts/sub_components/tabs/timespan_tabs.dart'; import 'package:flutter/material.dart'; -class DaysTextComponent extends StatelessWidget { +import '../../../../../../../../services/statistics.dart'; + +class TimespanTabsTextComponent extends StatelessWidget { late final String timeSpan; late final TimeSpan timespan; Function(int i) onPressed; int index; Color textColor; - late StatisticsService statisticsService; + late DataService statisticsService; - DaysTextComponent({super.key, required TimeSpan timeSpan, required this.textColor, required this.onPressed, required this.index}){ + TimespanTabsTextComponent({super.key, required TimeSpan timeSpan, required this.textColor, required this.onPressed, required this.index}){ timespan = timeSpan; switch(timeSpan){ case TimeSpan.day: diff --git a/lib/android/components/meal_page_food_component.dart b/lib/pages/nav_pages/subpages/progress_page/sub_components/list_view/progress_all_meals_component.dart similarity index 57% rename from lib/android/components/meal_page_food_component.dart rename to lib/pages/nav_pages/subpages/progress_page/sub_components/list_view/progress_all_meals_component.dart index ce715e7..6406e89 100644 --- a/lib/android/components/meal_page_food_component.dart +++ b/lib/pages/nav_pages/subpages/progress_page/sub_components/list_view/progress_all_meals_component.dart @@ -1,11 +1,11 @@ -import 'package:ernaehrung/android/components/food_list_component.dart'; -import 'package:ernaehrung/android/config/statistics.dart'; +import 'package:ernaehrung/pages/nav_pages/subpages/progress_page/sub_components/list_view/progress_food_list.dart'; import 'package:flutter/material.dart'; import 'package:hive/hive.dart'; -import 'meal_page_text/title_component.dart'; +import '../../../../../../services/statistics.dart'; +import '../../../../../shared_components/title.dart'; -class MealPageStatisticsFoodComponent extends StatelessWidget { - const MealPageStatisticsFoodComponent({Key? key}) : super(key: key); +class ProgressAllMealsComponent extends StatelessWidget { + const ProgressAllMealsComponent({Key? key}) : super(key: key); @override Widget build(BuildContext context) { @@ -19,8 +19,8 @@ class MealPageStatisticsFoodComponent extends StatelessWidget { crossAxisAlignment: CrossAxisAlignment.start, children: [ const TitleComponent("Alle Mahlzeiten"), - FoodComponent( - box: Hive.box(StatisticsService.instance.todayStatisticsBoxName), + ProgressFoodListComponent( + box: Hive.box(DataService.instance.progressBoxName), ) ], ), diff --git a/lib/android/components/card_component.dart b/lib/pages/nav_pages/subpages/progress_page/sub_components/list_view/progress_card.dart similarity index 88% rename from lib/android/components/card_component.dart rename to lib/pages/nav_pages/subpages/progress_page/sub_components/list_view/progress_card.dart index 2f53973..fb92fca 100644 --- a/lib/android/components/card_component.dart +++ b/lib/pages/nav_pages/subpages/progress_page/sub_components/list_view/progress_card.dart @@ -1,15 +1,15 @@ import 'package:basic_utils/basic_utils.dart'; import 'package:flutter/material.dart'; -import '../config/format_helper.dart'; -import '../models/food.dart'; -import '../pages/nav_pages/search_food.dart'; +import '../../../../../../helper/format_helper.dart'; +import '../../../../../../models/food.dart'; +import '../../../../../search_food/search_food.dart'; -class CardComponent extends StatefulWidget { +class ProgressCardComponent extends StatefulWidget { final String eatingMealName; final List selectedMeal; final bool addButtonVisible; - const CardComponent( + const ProgressCardComponent( {Key? key, required this.eatingMealName, required this.selectedMeal, @@ -17,10 +17,10 @@ class CardComponent extends StatefulWidget { : super(key: key); @override - State createState() => _CardComponentState(); + State createState() => _ProgressCardComponentState(); } -class _CardComponentState extends State { +class _ProgressCardComponentState extends State { Route createRoute(String cardName) { return PageRouteBuilder( pageBuilder: (context, animation, secondaryAnimation) => @@ -42,17 +42,8 @@ class _CardComponentState extends State { } - String capitalize(String s) => s[0].toUpperCase() + s.substring(1); - String listFoodAsString() { - String mealAsString = ""; - for (final food in widget.selectedMeal) { - mealAsString = "${food.name} "; - } - return mealAsString; - } - Widget getElevatedButton() { if (widget.addButtonVisible) { return ElevatedButton( diff --git a/lib/android/components/food_list_component.dart b/lib/pages/nav_pages/subpages/progress_page/sub_components/list_view/progress_food_list.dart similarity index 65% rename from lib/android/components/food_list_component.dart rename to lib/pages/nav_pages/subpages/progress_page/sub_components/list_view/progress_food_list.dart index cda9b35..5141bee 100644 --- a/lib/android/components/food_list_component.dart +++ b/lib/pages/nav_pages/subpages/progress_page/sub_components/list_view/progress_food_list.dart @@ -1,12 +1,12 @@ -import 'package:ernaehrung/android/config/cast_helper.dart'; -import 'package:ernaehrung/android/config/statistics.dart'; import 'package:flutter/cupertino.dart'; import 'package:hive_flutter/adapters.dart'; -import 'card_component.dart'; +import '../../../../../../helper/cast_helper.dart'; +import '../../../../../../services/statistics.dart'; +import 'progress_card.dart'; -class FoodComponent extends StatelessWidget { +class ProgressFoodListComponent extends StatelessWidget { final Box box; - const FoodComponent({super.key, required this.box}); + const ProgressFoodListComponent({super.key, required this.box}); @override Widget build(BuildContext context) { @@ -20,10 +20,10 @@ class FoodComponent extends StatelessWidget { shrinkWrap: true, itemCount: box.keys.length, itemBuilder: (context, i) { - return CardComponent( + return ProgressCardComponent( eatingMealName: mealTypes[i], selectedMeal: castDynamicToListFood(box.get(mealTypes[i])), - addButtonVisible: box.name != StatisticsService.instance.todayStatisticsBoxName.toLowerCase(), + addButtonVisible: box.name != DataService.instance.progressBoxName.toLowerCase(), ); } ); diff --git a/lib/android/pages/nav_pages/progress_page.dart b/lib/pages/nav_pages/subpages/statistics_page/statistics_page.dart similarity index 80% rename from lib/android/pages/nav_pages/progress_page.dart rename to lib/pages/nav_pages/subpages/statistics_page/statistics_page.dart index d69e748..6bdcbcb 100644 --- a/lib/android/pages/nav_pages/progress_page.dart +++ b/lib/pages/nav_pages/subpages/statistics_page/statistics_page.dart @@ -1,15 +1,15 @@ -import 'package:ernaehrung/android/components/chart/chart.dart'; -import 'package:ernaehrung/android/components/meal_page_text/secondary_text_component.dart'; -import 'package:ernaehrung/android/components/meal_page_text/title_component.dart'; -import 'package:ernaehrung/android/config/statistics.dart'; import 'package:flutter/material.dart'; -import '../../config/format_helper.dart'; +import '../../../../helper/format_helper.dart'; +import '../../../../services/statistics.dart'; +import 'sub_components/chart.dart'; +import '../../../shared_components/secondary_text.dart'; +import '../../../shared_components/title.dart'; -class ProgressPage extends StatelessWidget { +class StatisticsPage extends StatelessWidget { final String title; final Color backgroundColor = const Color(0xff47a44b); - const ProgressPage({Key? key, required this.title}) : super(key: key); + const StatisticsPage({Key? key, required this.title}) : super(key: key); String get getTitle => title; @@ -35,7 +35,7 @@ class ProgressPage extends StatelessWidget { const EdgeInsets.symmetric(vertical: 8, horizontal: 16), child: ValueListenableBuilder( valueListenable: - StatisticsService.instance.weeklyCaloryRanking, + DataService.instance.weeklyCaloryRanking, builder: (context, value, child) { return Column( children: [ diff --git a/lib/android/components/chart/chart.dart b/lib/pages/nav_pages/subpages/statistics_page/sub_components/chart.dart similarity index 93% rename from lib/android/components/chart/chart.dart rename to lib/pages/nav_pages/subpages/statistics_page/sub_components/chart.dart index b4436be..7af503d 100644 --- a/lib/android/components/chart/chart.dart +++ b/lib/pages/nav_pages/subpages/statistics_page/sub_components/chart.dart @@ -1,9 +1,8 @@ import 'package:fl_chart/fl_chart.dart'; import 'package:flutter/material.dart'; -import '../../config/statistics.dart'; -import '../meal_page_text/secondary_big_text_component.dart'; -import '../meal_page_text/secondary_text_component.dart'; -import '../meal_page_text/title_component.dart'; +import '../../../../../services/statistics.dart'; +import '../../../../shared_components/secondary_text.dart'; +import '../../../../shared_components/title.dart'; class ChartComponent extends StatelessWidget { const ChartComponent({Key? key}) : super(key: key); @@ -137,7 +136,7 @@ class ChartComponent extends StatelessWidget { child: Column( children: [ ValueListenableBuilder( - valueListenable: StatisticsService + valueListenable: DataService .instance.dailyAverageForCurrentWeek, builder: (context, value, child) { return SizedBox( @@ -154,8 +153,16 @@ class ChartComponent extends StatelessWidget { "Durchschnittlich", null ), - SecondaryBigTextComponent( - "${value.toString()} kcal/Tag"), + Text( + "${value.toString()} kcal/Tag", + style: const TextStyle( + color: Colors.black, + fontSize: 30, + fontWeight: FontWeight.w600 + ), + textAlign: TextAlign.left, + ), + ], ), ); @@ -163,7 +170,7 @@ class ChartComponent extends StatelessWidget { ), ValueListenableBuilder( valueListenable: - StatisticsService.instance.barChartData, + DataService.instance.barChartData, builder: (context, value, child) { return SizedBox( height: 300, @@ -186,7 +193,7 @@ class ChartComponent extends StatelessWidget { width: 12, height: 12, decoration: const BoxDecoration( - color: Colors.red, + color: Colors.yellow, // Use the color of the first bar rod for the legend item shape: BoxShape.circle, ), @@ -213,7 +220,7 @@ class ChartComponent extends StatelessWidget { width: 12, height: 12, decoration: const BoxDecoration( - color: Colors.green, + color: Colors.red, // Use the color of the first bar rod for the legend item shape: BoxShape.circle, ), @@ -240,7 +247,7 @@ class ChartComponent extends StatelessWidget { width: 12, height: 12, decoration: const BoxDecoration( - color: Colors.yellow, + color: Colors.green, // Use the color of the first bar rod for the legend item shape: BoxShape.circle, ), @@ -275,7 +282,7 @@ class ChartComponent extends StatelessWidget { extraLinesData: ExtraLinesData( horizontalLines: [ HorizontalLine( - y: StatisticsService.instance.getCaloryTargetForOneDay(), // Specify the y-value where you want the line to be positioned + y: DataService.instance.getCaloryTargetForOneDay(), // Specify the y-value where you want the line to be positioned color: Colors.black, // Change the color as per your requirement strokeWidth: 2, // Adjust the width as needed dashArray: [3, 2], diff --git a/lib/android/components/meals.dart b/lib/pages/nav_pages/subpages/today_page/sub_components/meals.dart similarity index 76% rename from lib/android/components/meals.dart rename to lib/pages/nav_pages/subpages/today_page/sub_components/meals.dart index 5dd5687..19f2160 100644 --- a/lib/android/components/meals.dart +++ b/lib/pages/nav_pages/subpages/today_page/sub_components/meals.dart @@ -2,9 +2,8 @@ import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:flutter_dotenv/flutter_dotenv.dart'; import 'package:hive_flutter/adapters.dart'; - -import '../config/statistics.dart'; -import 'card/card_component.dart'; +import '../../../../../services/statistics.dart'; +import 'today_card/today_card.dart'; class MealsComponent extends StatelessWidget { MealsComponent({Key? key}) : super(key: key); @@ -13,7 +12,7 @@ class MealsComponent extends StatelessWidget { @override Widget build(BuildContext context) { return ValueListenableBuilder( - valueListenable: Hive.box(dotenv.env['MEALPLAN_BOX'] ?? 'MEALPLAN').listenable(), + valueListenable: Hive.box(dotenv.env['TODAY_BOX'] ?? 'TODAY').listenable(), builder: (context, box, widget) { final mealTypes = ['FRÜHSTÜCK','MITTAGESSEN','ABENDESSEN']; // Specify the desired order of meal types return ListView.builder( @@ -22,9 +21,9 @@ class MealsComponent extends StatelessWidget { itemCount: box.keys.length, itemBuilder: (context, i) { String mealTypeAsString = mealTypes[i]; - return CardComponent( + return TodayCardComponent( mealTypeAsString, - StatisticsService.instance.getMealsOfTodayByMealtype(mealTypeAsString), + DataService.instance.getMealsOfTodayByMealtype(mealTypeAsString), color: colors[i], ); }); diff --git a/lib/android/components/card/card_data_food_component.dart b/lib/pages/nav_pages/subpages/today_page/sub_components/today_card/sub_components/card_data_food.dart similarity index 91% rename from lib/android/components/card/card_data_food_component.dart rename to lib/pages/nav_pages/subpages/today_page/sub_components/today_card/sub_components/card_data_food.dart index 12cc653..244dbec 100644 --- a/lib/android/components/card/card_data_food_component.dart +++ b/lib/pages/nav_pages/subpages/today_page/sub_components/today_card/sub_components/card_data_food.dart @@ -1,8 +1,8 @@ -import 'package:ernaehrung/android/components/card/card_food_item_component.dart'; -import 'package:ernaehrung/android/models/food.dart'; import 'package:flutter/material.dart'; +import '../../../../../../../helper/format_helper.dart'; +import '../../../../../../../models/food.dart'; +import 'card_food_item.dart'; -import '../../config/format_helper.dart'; class CardDataFoodComponent extends StatelessWidget { final List foods; diff --git a/lib/android/components/card/card_food_item_component.dart b/lib/pages/nav_pages/subpages/today_page/sub_components/today_card/sub_components/card_food_item.dart similarity index 100% rename from lib/android/components/card/card_food_item_component.dart rename to lib/pages/nav_pages/subpages/today_page/sub_components/today_card/sub_components/card_food_item.dart diff --git a/lib/android/components/card/card_title_component.dart b/lib/pages/nav_pages/subpages/today_page/sub_components/today_card/sub_components/card_title.dart similarity index 100% rename from lib/android/components/card/card_title_component.dart rename to lib/pages/nav_pages/subpages/today_page/sub_components/today_card/sub_components/card_title.dart diff --git a/lib/android/components/card/card_component.dart b/lib/pages/nav_pages/subpages/today_page/sub_components/today_card/today_card.dart similarity index 82% rename from lib/android/components/card/card_component.dart rename to lib/pages/nav_pages/subpages/today_page/sub_components/today_card/today_card.dart index a653b97..ae95ce4 100644 --- a/lib/android/components/card/card_component.dart +++ b/lib/pages/nav_pages/subpages/today_page/sub_components/today_card/today_card.dart @@ -1,17 +1,17 @@ import 'package:basic_utils/basic_utils.dart'; -import 'package:ernaehrung/android/components/card/card_data_food_component.dart'; -import 'package:ernaehrung/android/components/card/card_title_component.dart'; -import 'package:ernaehrung/android/config/cast_helper.dart'; +import 'package:ernaehrung/pages/nav_pages/subpages/today_page/sub_components/today_card/sub_components/card_data_food.dart'; +import 'package:ernaehrung/pages/nav_pages/subpages/today_page/sub_components/today_card/sub_components/card_title.dart'; import 'package:flutter/material.dart'; -import '../../models/food.dart'; -import '../../pages/nav_pages/search_food.dart'; +import '../../../../../../helper/cast_helper.dart'; +import '../../../../../../models/food.dart'; +import '../../../../../search_food/search_food.dart'; -class CardComponent extends StatelessWidget { +class TodayCardComponent extends StatelessWidget { final String title; final Color color; final List foods; - const CardComponent(this.title, this.foods, {super.key, Color? color}) + const TodayCardComponent(this.title, this.foods, {super.key, Color? color}) : color = color ?? Colors.black; Route createRoute(String cardName) { diff --git a/lib/android/pages/nav_pages/today_page.dart b/lib/pages/nav_pages/subpages/today_page/today_page.dart similarity index 84% rename from lib/android/pages/nav_pages/today_page.dart rename to lib/pages/nav_pages/subpages/today_page/today_page.dart index afb6a1b..7638d08 100644 --- a/lib/android/pages/nav_pages/today_page.dart +++ b/lib/pages/nav_pages/subpages/today_page/today_page.dart @@ -1,6 +1,7 @@ -import 'package:ernaehrung/android/components/meals.dart'; +import 'package:ernaehrung/pages/nav_pages/subpages/today_page/sub_components/meals.dart'; import 'package:flutter/material.dart'; + class TodayPage extends StatefulWidget { final String title; final Color backgroundColor = const Color(0xff47a44b); diff --git a/lib/android/pages/nav_pages/search_food.dart b/lib/pages/search_food/search_food.dart similarity index 93% rename from lib/android/pages/nav_pages/search_food.dart rename to lib/pages/search_food/search_food.dart index b847313..6fa8251 100644 --- a/lib/android/pages/nav_pages/search_food.dart +++ b/lib/pages/search_food/search_food.dart @@ -1,6 +1,5 @@ +import 'package:ernaehrung/pages/search_food/sub_components/search.dart'; import 'package:flutter/material.dart'; - -import '../../components/search_component.dart'; import '../../models/food.dart'; import '../../models/food_dto.dart'; diff --git a/lib/android/components/search_component.dart b/lib/pages/search_food/sub_components/search.dart similarity index 83% rename from lib/android/components/search_component.dart rename to lib/pages/search_food/sub_components/search.dart index 8652164..554913a 100644 --- a/lib/android/components/search_component.dart +++ b/lib/pages/search_food/sub_components/search.dart @@ -1,7 +1,7 @@ import 'package:empty_widget/empty_widget.dart'; import 'package:flutter/material.dart'; -import '../models/food.dart'; -import 'founded_search_component.dart'; +import '../../../models/food.dart'; +import 'searched_food.dart'; class SearchComponent extends StatefulWidget { final List foods; @@ -72,20 +72,5 @@ class _SearchComponentState extends State { foundedFood; }); } -/* - void findOnChanged(String searchedFood) async { - foundedFood.clear(); - if(searchedFood.isEmpty){ - setState(() {}); - return; - }else{ - for (final food in allFoods) { - if (food.name.toString().toLowerCase().contains(searchedFood)) { - foundedFood.add(food); - } - } - setState(() => {foundedFood}); - } - } -*/ + } diff --git a/lib/android/components/founded_search_component.dart b/lib/pages/search_food/sub_components/searched_food.dart similarity index 92% rename from lib/android/components/founded_search_component.dart rename to lib/pages/search_food/sub_components/searched_food.dart index 61fce70..40b111c 100644 --- a/lib/android/components/founded_search_component.dart +++ b/lib/pages/search_food/sub_components/searched_food.dart @@ -1,13 +1,13 @@ import 'package:assorted_layout_widgets/assorted_layout_widgets.dart'; import 'package:basic_utils/basic_utils.dart'; -import 'package:ernaehrung/android/config/cast_helper.dart'; -import 'package:ernaehrung/android/config/statistics.dart'; import 'package:flutter/material.dart'; import 'package:flutter_dotenv/flutter_dotenv.dart'; import 'package:fluttertoast/fluttertoast.dart'; import 'package:hive/hive.dart'; -import '../config/format_helper.dart'; -import '../models/food.dart'; +import '../../../helper/cast_helper.dart'; +import '../../../helper/format_helper.dart'; +import '../../../models/food.dart'; +import '../../../services/statistics.dart'; class SearchedFoodComponent extends StatefulWidget { final Food food; @@ -21,13 +21,13 @@ class SearchedFoodComponent extends StatefulWidget { class _SearchFoodComponentState extends State { int counter = 1; void storeFood(int counter, BuildContext context) async { - final mealplanBox = Hive.box(dotenv.env['MEALPLAN_BOX']!); - if (!mealplanBox.isOpen){ - Hive.openBox(dotenv.env['MEALPLAN_BOX']!); + final todayBox = Hive.box(dotenv.env['TODAY_BOX']!); + if (!todayBox.isOpen){ + Hive.openBox(dotenv.env['TODAY_BOX']!); } for(int i = 0; i < counter; i++){ - StatisticsService.instance.addItemToMainBox(widget.food, widget.cardName); - addValuesToList(mealplanBox, widget.cardName, [widget.food]); + DataService.instance.addItemToMainBox(widget.food, widget.cardName); + addValuesToList(todayBox, widget.cardName, [widget.food]); } showSuccessToast(context); } diff --git a/lib/android/components/form/form_builder.dart b/lib/pages/shared_components/form_builder.dart similarity index 97% rename from lib/android/components/form/form_builder.dart rename to lib/pages/shared_components/form_builder.dart index c4663f5..ed457c1 100644 --- a/lib/android/components/form/form_builder.dart +++ b/lib/pages/shared_components/form_builder.dart @@ -1,10 +1,11 @@ -import 'package:ernaehrung/android/components/form/form_builder_text_field_component.dart'; import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; +import 'package:flutter_dotenv/flutter_dotenv.dart'; import 'package:flutter_form_builder/flutter_form_builder.dart'; import 'package:hive/hive.dart'; import '../../models/form_builder.dart'; import '../../models/user.dart'; +import 'form_builder_text_field.dart'; class FormBuilderComponent extends StatefulWidget { final bool lockTextFields; @@ -117,7 +118,7 @@ class _FormBuilderComponentState extends State { shape: const StadiumBorder(), ), onPressed: () { - final Box box = Hive.box("USER_BOX"); + final Box box = Hive.box(dotenv.env['USER_BOX'] ?? 'USER'); if (widget.lockTextFields) { box.put( diff --git a/lib/android/components/form/form_builder_text_field_component.dart b/lib/pages/shared_components/form_builder_text_field.dart similarity index 94% rename from lib/android/components/form/form_builder_text_field_component.dart rename to lib/pages/shared_components/form_builder_text_field.dart index 2505e0a..b341e3b 100644 --- a/lib/android/components/form/form_builder_text_field_component.dart +++ b/lib/pages/shared_components/form_builder_text_field.dart @@ -1,10 +1,11 @@ import 'package:basic_utils/basic_utils.dart'; -import 'package:ernaehrung/android/models/form_builder.dart'; -import 'package:ernaehrung/android/models/user.dart'; import 'package:flutter/material.dart'; +import 'package:flutter_dotenv/flutter_dotenv.dart'; import 'package:flutter_form_builder/flutter_form_builder.dart'; import 'package:form_builder_validators/form_builder_validators.dart'; import 'package:hive/hive.dart'; +import '../../models/form_builder.dart'; +import '../../models/user.dart'; class FormBuilderTextFieldComponent extends StatefulWidget { final bool isSettingsPage; @@ -65,7 +66,7 @@ class TextFieldChild extends StatelessWidget { dynamic getInitialValue(FormTextField textField){ - final User user = Hive.box("USER_BOX").values.last; + final User user = Hive.box(dotenv.env['USER_BOX'] ?? 'USER').values.last; if (textField.title == "vorname"){ return user.vorname; }else if (textField.title == "nachname"){ diff --git a/lib/android/components/meal_page_text/secondary_text_component.dart b/lib/pages/shared_components/secondary_text.dart similarity index 100% rename from lib/android/components/meal_page_text/secondary_text_component.dart rename to lib/pages/shared_components/secondary_text.dart diff --git a/lib/android/components/meal_page_text/title_component.dart b/lib/pages/shared_components/title.dart similarity index 100% rename from lib/android/components/meal_page_text/title_component.dart rename to lib/pages/shared_components/title.dart diff --git a/lib/android/pages/welcome.dart b/lib/pages/user_data_form/initial_user_data_form.dart similarity index 90% rename from lib/android/pages/welcome.dart rename to lib/pages/user_data_form/initial_user_data_form.dart index 71def2b..98828f1 100644 --- a/lib/android/pages/welcome.dart +++ b/lib/pages/user_data_form/initial_user_data_form.dart @@ -1,5 +1,5 @@ -import 'package:ernaehrung/android/components/form/form_builder.dart'; import 'package:flutter/material.dart'; +import '../shared_components/form_builder.dart'; class OnboardingPage extends StatefulWidget { const OnboardingPage({Key? key}) : super(key: key); diff --git a/lib/android/pages/settings.dart b/lib/pages/user_data_form/user_data_form.dart similarity index 93% rename from lib/android/pages/settings.dart rename to lib/pages/user_data_form/user_data_form.dart index eba79fb..565037f 100644 --- a/lib/android/pages/settings.dart +++ b/lib/pages/user_data_form/user_data_form.dart @@ -1,7 +1,7 @@ import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; +import '../shared_components/form_builder.dart'; -import '../components/form/form_builder.dart'; class SettingsPage extends StatefulWidget { const SettingsPage({Key? key}) : super(key: key); diff --git a/lib/android/config/statistics.dart b/lib/services/statistics.dart similarity index 91% rename from lib/android/config/statistics.dart rename to lib/services/statistics.dart index 47525d2..9569748 100644 --- a/lib/android/config/statistics.dart +++ b/lib/services/statistics.dart @@ -1,27 +1,28 @@ import 'dart:math'; -import 'package:ernaehrung/android/components/meal_page_text/days_component.dart'; -import 'package:ernaehrung/android/config/cast_helper.dart'; import 'package:fl_chart/fl_chart.dart'; import 'package:flutter/material.dart'; import 'package:flutter_dotenv/flutter_dotenv.dart'; import 'package:hive/hive.dart'; +import '../pages/nav_pages/subpages/progress_page/sub_components/charts/sub_components/tabs/timespan_tabs.dart'; import '../models/food.dart'; import '../models/user.dart'; -import 'format_helper.dart'; +import '../helper/cast_helper.dart'; +import '../helper/format_helper.dart'; -class StatisticsService { +class DataService { - static final StatisticsService _instance = StatisticsService._internal(); - factory StatisticsService() => _instance; + static final DataService _instance = DataService._internal(); + factory DataService() => _instance; - static StatisticsService get instance => _instance; + static DataService get instance => _instance; - StatisticsService._internal() { - //initBoxes(); + DataService._internal() { + // TO RUN TESTS -> COMMENT initBoxes() out -> HIVE behavior is tested in other tests + initBoxes(); } - String todayStatisticsBoxName = dotenv.env['STATISTICS_TODAY_BOX'] ?? 'STATISTICS_TODAY_BOX'; - String mainStatisticsBoxName = dotenv.env['STATISTICS_MAIN_BOX'] ?? 'STATISTICS_MAIN_BOX'; - String progressStatisticsBoxName = dotenv.env['STATISTICS_PROGRESS_BOX'] ?? 'STATISTICS_PROGRESS_BOX'; + String progressBoxName = dotenv.env['PROGRESS_BOX'] ?? 'PROGRESS_BOX'; + String mainBoxName = dotenv.env['MAIN_BOX'] ?? 'MAIN_BOX'; + String statisticsBoxName = dotenv.env['STATISTICS_BOX'] ?? 'STATISTICS_BOX'; ValueNotifier eatenCalories = ValueNotifier(0); /* @@ -39,8 +40,8 @@ class StatisticsService { ValueNotifier> barChartData = ValueNotifier>([]); initBoxes()async{ - Box reducedBox = Hive.box(todayStatisticsBoxName); - Box progressBox = Hive.box(progressStatisticsBoxName); + Box reducedBox = Hive.box(progressBoxName); + Box progressBox = Hive.box(statisticsBoxName); putIfKeyNotExists([reducedBox,progressBox], 'FRÜHSTÜCK', []); putIfKeyNotExists([reducedBox,progressBox], 'MITTAGESSEN', []); @@ -57,24 +58,24 @@ class StatisticsService { } updateStatisticsTodayBoxByTimespan(TimeSpan timespan){ - clearBoxByBox(Hive.box(todayStatisticsBoxName)); + clearBoxByBox(Hive.box(progressBoxName)); int timestamp = getTimestampFromNow(); int dayLen = 1; switch(timespan){ case TimeSpan.day: - getNewFoodAndUpdateBoxByTimestampAndBox(timestamp, Hive.box(todayStatisticsBoxName)); + getNewFoodAndUpdateBoxByTimestampAndBox(timestamp, Hive.box(progressBoxName)); break; case TimeSpan.week: List currentWeek = getTimestampsByTimestampAndTimespan(TimeSpan.week,timestamp); for(int i = 0;i < currentWeek.length;i++){ - getNewFoodAndUpdateBoxByTimestampAndBox(currentWeek[i],Hive.box(todayStatisticsBoxName)); + getNewFoodAndUpdateBoxByTimestampAndBox(currentWeek[i],Hive.box(progressBoxName)); } dayLen = currentWeek.length; break; case TimeSpan.month: List currentMonth = getTimestampsByTimestampAndTimespan(TimeSpan.month,timestamp); for(int i = 0;i < currentMonth.length;i++){ - getNewFoodAndUpdateBoxByTimestampAndBox(currentMonth[i],Hive.box(todayStatisticsBoxName)); + getNewFoodAndUpdateBoxByTimestampAndBox(currentMonth[i],Hive.box(progressBoxName)); } dayLen = currentMonth.length; break; @@ -83,7 +84,7 @@ class StatisticsService { } void updateCalculationsAndNotfiyListenersForPorgressStatistics(int dayLen){ - eatenCalories.value = getAllEatenCaloriesByBox(Hive.box(todayStatisticsBoxName)); + eatenCalories.value = getAllEatenCaloriesByBox(Hive.box(progressBoxName)); ingredients.value = getAllEatenIngredientsForTodayStatistics(dayLen.roundToDouble()); } @@ -143,7 +144,7 @@ class StatisticsService { } Map> getFoodMapForGivenTimestampFromMainBox(int timestamp){ - Box box = Hive.box(mainStatisticsBoxName); + Box box = Hive.box(mainBoxName); dynamic matchingTimestamp = getMatchingTimestamp(box, timestamp); if(matchingTimestamp != null){ return castDynamicMap(box.get(matchingTimestamp)); @@ -185,7 +186,7 @@ class StatisticsService { addItemToMainBox(Food value, String mealType){ // Hive.deleteFromDisk(); - Box box = Hive.box(mainStatisticsBoxName); + Box box = Hive.box(mainBoxName); DateTime dateTime = DateTime.now(); // DEBUG @@ -230,13 +231,13 @@ class StatisticsService { } double getCaloryTargetForOneDay(){ - final Box userBox = Hive.box("USER_BOX"); + final Box userBox = Hive.box(dotenv.env['USER_BOX'] ?? 'USER'); return userBox.get("USER").kalorien.toDouble(); } List getAllEatenIngredientsForTodayStatistics(double dayLen){ - Box box = Hive.box(todayStatisticsBoxName); - final Box userBox = Hive.box("USER_BOX"); + Box box = Hive.box(progressBoxName); + final Box userBox = Hive.box(dotenv.env['USER_BOX'] ?? 'USER'); final calorieSummary = userBox.get("USER").kalorien; const double fatPercentPerThousandCalorie = 3.7; @@ -276,7 +277,7 @@ class StatisticsService { } void updateProgressBoxValues(){ - Box box = Hive.box(progressStatisticsBoxName); + Box box = Hive.box(statisticsBoxName); box.clear(); int timestamp = getTimestampFromNow(); List currentWeek = getTimestampsByTimestampAndTimespan(TimeSpan.week,timestamp); @@ -287,7 +288,7 @@ class StatisticsService { } int getAverageCaloriesForCurrentWeekOnDailyBasis(){ - Box box = Hive.box(progressStatisticsBoxName); + Box box = Hive.box(statisticsBoxName); return getAllEatenCaloriesByBox(box)~/7; } diff --git a/pubspec.yaml b/pubspec.yaml index bc68c2c..fe1eb47 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -83,9 +83,6 @@ flutter: assets: - assets/json/csvjson_full.json - assets/json/csvjson_minified.json - - assets/images/fries.png - - assets/images/ice.png - - assets/images/tea.png - .env # To add assets to your application, add an assets section, like this: # assets: diff --git a/test/statistics_test.dart b/test/statistics_test.dart index 1c52bf1..ed0c232 100644 --- a/test/statistics_test.dart +++ b/test/statistics_test.dart @@ -1,16 +1,18 @@ -import 'package:ernaehrung/android/components/meal_page_text/days_component.dart'; -import 'package:ernaehrung/android/config/format_helper.dart'; -import 'package:ernaehrung/android/config/statistics.dart'; -import 'package:ernaehrung/android/models/food.dart'; +import 'package:ernaehrung/helper/format_helper.dart'; +import 'package:ernaehrung/models/food.dart'; +import 'package:ernaehrung/pages/nav_pages/subpages/progress_page/sub_components/charts/sub_components/tabs/timespan_tabs.dart'; +import 'package:ernaehrung/services/statistics.dart'; import 'package:flutter_dotenv/flutter_dotenv.dart'; import 'package:flutter_test/flutter_test.dart'; -late StatisticsService statisticsService; +// TO RUN TESTS COMMENT initBoxes() (services/statistics.dart line 21) out -> HIVE behavior is tested in other tests + +late DataService dataService; Future main() async { await dotenv.load(fileName: ".env"); setUp(() async { - statisticsService = StatisticsService.instance; + dataService = DataService.instance; }); tearDown(() async { @@ -49,39 +51,39 @@ Future main() async { } test('check if given timestamp returns valid timespan or catches invalid timestamp', () { - List day = statisticsService.getTimestampsByTimestampAndTimespan(TimeSpan.day,getTimestampFromNow()); + List day = dataService.getTimestampsByTimestampAndTimespan(TimeSpan.day,getTimestampFromNow()); expect(31, day.length); - List week = statisticsService.getTimestampsByTimestampAndTimespan(TimeSpan.week,getTimestampFromNow()); + List week = dataService.getTimestampsByTimestampAndTimespan(TimeSpan.week,getTimestampFromNow()); expect(7, week.length); - List month = statisticsService.getTimestampsByTimestampAndTimespan(TimeSpan.month,getTimestampFromNow()); + List month = dataService.getTimestampsByTimestampAndTimespan(TimeSpan.month,getTimestampFromNow()); expect(31, month.length); - List invalidTimestamp = statisticsService.getTimestampsByTimestampAndTimespan(TimeSpan.month,9999999999999); + List invalidTimestamp = dataService.getTimestampsByTimestampAndTimespan(TimeSpan.month,9999999999999); expect(0, invalidTimestamp.length); }); test('check if dates are returned correctly from timestamp', () { - int day = statisticsService.getDayAsIntFromTimestamp(getTimestampFromNow()); + int day = dataService.getDayAsIntFromTimestamp(getTimestampFromNow()); expect(DateTime.now().day, day); - int month = statisticsService.getMonthAsIntFromTimestamp(getTimestampFromNow()); + int month = dataService.getMonthAsIntFromTimestamp(getTimestampFromNow()); expect(DateTime.now().month, month); - int year = statisticsService.getYearAsIntFromTimestamp(getTimestampFromNow()); + int year = dataService.getYearAsIntFromTimestamp(getTimestampFromNow()); expect(DateTime.now().year, year); }); test('check if date comparison is right', () { int today = getTimestampFromNow(); - expect(true,statisticsService.isDateEqual(today, today)); + expect(true,dataService.isDateEqual(today, today)); int other = getTimeStampForDateTime(DateTime.utc(2010)); - expect(false,statisticsService.isDateEqual(today, other)); - expect(false,statisticsService.isDateEqual(9999999999999, today)); - expect(false,statisticsService.isDateEqual(other, 9999999999999)); - expect(false,statisticsService.isDateEqual(other, -1)); - expect(false,statisticsService.isDateEqual(other, 0)); + expect(false,dataService.isDateEqual(today, other)); + expect(false,dataService.isDateEqual(9999999999999, today)); + expect(false,dataService.isDateEqual(other, 9999999999999)); + expect(false,dataService.isDateEqual(other, -1)); + expect(false,dataService.isDateEqual(other, 0)); }); test('check if calories are summed up correctly for given food list',() { - expect(1500, statisticsService.getSumOfCaloriesByFoodList(getFoodListValid())); - expect(() => statisticsService.getSumOfCaloriesByFoodList(getInvalidFoodList()),throwsException); + expect(1500, dataService.getSumOfCaloriesByFoodList(getFoodListValid())); + expect(() => dataService.getSumOfCaloriesByFoodList(getInvalidFoodList()),throwsException); }); test('check if format helper are working right',() {