feat: refactoring

main
98spag 2023-06-25 14:43:07 +02:00
parent 024a6c3c0b
commit 2a3864c287
58 changed files with 558 additions and 966 deletions

View File

@ -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"
}

View File

@ -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

9
.env
View File

@ -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
TODAY_BOX=TODAY
PROGRESS_BOX=PROGRESS
STATISTICS_BOX=STATISTICS
MAIN_BOX=MAIN
USER_BOX=USER

View File

@ -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"}
{"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"}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 554 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 509 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 573 B

View File

@ -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<DietChatComponent> createState() => _DietChatComponentState();
}
class _DietChatComponentState extends State<DietChatComponent> {
@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)
],
)
],
);
}
}

View File

@ -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,
);
}
}

View File

@ -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,
),
);
}
}

View File

@ -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"),
],
);
}
}

View File

@ -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<WelcomePageStateTextFieldState> createState() =>
_WelcomePageStateTextFieldState();
}
class _WelcomePageStateTextFieldState
extends State<WelcomePageStateTextFieldState> {
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'))
],
);
}
}

View File

@ -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<int> currentWeek = statisticsService.getTimestampsByTimestampAndTimespan(TimeSpan.week, timestamp);
for(int i = 0;i < currentWeek.length;i++){
box.put(currentWeek[i], mockFood(i));
}
}
mockFood(int i) {
List<Map<String,List<dynamic>>> 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];
}

View File

@ -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>('USER_BOX');
final box = Hive.box<User>(dotenv.env['USER_BOX'] ?? 'USER');
return MaterialApp(
debugShowCheckedModeBanner: false,
title: 'Flutter Demo',

View File

@ -7,11 +7,10 @@ final List<Food> 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<Food> value) {
box.put(key, value);
}
}
String getFormatedTodayDate(){
return DateTime.now().toString().substring(0,10);
}

View File

@ -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>('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<User>(dotenv.env['USER_BOX'] ?? 'USER');
setupTodayBox();
//Hive.deleteFromDisk();
runApp(const AndroidApp());
}

View File

@ -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<MainPage> {
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<MainPage> {
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];
});

View File

@ -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<StatefulWidget> createState() => _MealPlanState();
State<StatefulWidget> createState() => ProgressState();
}
class _MealPlanState extends State<MealPlanPage> {
class ProgressState extends State<ProgressPage> {
@override
Widget build(BuildContext context) {
return Scaffold(
@ -29,8 +31,8 @@ class _MealPlanState extends State<MealPlanPage> {
child: SingleChildScrollView(
child: Column(
children: const [
RoundChartComponent(),
MealPageStatisticsFoodComponent(),
ProgressChartsOverviewComponent(),
ProgressAllMealsComponent(),
],
),
)));

View File

@ -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(),
],
),
),

View File

@ -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) {

View File

@ -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<List<double>>(
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)"),
],
))

View File

@ -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));

View File

@ -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),
],
),
);

View File

@ -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<StatefulWidget> createState() => _DaysMealPageState();
}
class _DaysMealPageState extends State<DaysMealPageComponent> {
class _DaysMealPageState extends State<TimespanTabsComponent> {
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<DaysMealPageComponent> {
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<DaysMealPageComponent> {
index: 0
),
DaysTextComponent(
TimespanTabsTextComponent(
timeSpan: TimeSpan.week,
textColor: activatedIndex == 1
? const Color(0xff47a44b)
@ -54,7 +54,7 @@ class _DaysMealPageState extends State<DaysMealPageComponent> {
onPressed: updateValue,
index: 1
),
DaysTextComponent(
TimespanTabsTextComponent(
timeSpan: TimeSpan.month,
textColor: activatedIndex == 2
? const Color(0xff47a44b)

View File

@ -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:

View File

@ -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),
)
],
),

View File

@ -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<Food> 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<CardComponent> createState() => _CardComponentState();
State<ProgressCardComponent> createState() => _ProgressCardComponentState();
}
class _CardComponentState extends State<CardComponent> {
class _ProgressCardComponentState extends State<ProgressCardComponent> {
Route createRoute(String cardName) {
return PageRouteBuilder(
pageBuilder: (context, animation, secondaryAnimation) =>
@ -42,17 +42,8 @@ class _CardComponentState extends State<CardComponent> {
}
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(

View File

@ -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(),
);
}
);

View File

@ -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: [

View File

@ -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],

View File

@ -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],
);
});

View File

@ -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<Food> foods;

View File

@ -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<Food> 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) {

View File

@ -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);

View File

@ -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';

View File

@ -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<Food> foods;
@ -72,20 +72,5 @@ class _SearchComponentState extends State<SearchComponent> {
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});
}
}
*/
}

View File

@ -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<SearchedFoodComponent> {
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);
}

View File

@ -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<FormBuilderComponent> {
shape: const StadiumBorder(),
),
onPressed: () {
final Box box = Hive.box<User>("USER_BOX");
final Box box = Hive.box<User>(dotenv.env['USER_BOX'] ?? 'USER');
if (widget.lockTextFields) {
box.put(

View File

@ -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>("USER_BOX").values.last;
final User user = Hive.box<User>(dotenv.env['USER_BOX'] ?? 'USER').values.last;
if (textField.title == "vorname"){
return user.vorname;
}else if (textField.title == "nachname"){

View File

@ -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);

View File

@ -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);

View File

@ -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<int> eatenCalories = ValueNotifier<int>(0);
/*
@ -39,8 +40,8 @@ class StatisticsService {
ValueNotifier<List<BarChartGroupData>> barChartData = ValueNotifier<List<BarChartGroupData>>([]);
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<int> 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<int> 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<String,List<Food>> 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>("USER_BOX");
final Box userBox = Hive.box<User>(dotenv.env['USER_BOX'] ?? 'USER');
return userBox.get("USER").kalorien.toDouble();
}
List<double> getAllEatenIngredientsForTodayStatistics(double dayLen){
Box box = Hive.box(todayStatisticsBoxName);
final Box userBox = Hive.box<User>("USER_BOX");
Box box = Hive.box(progressBoxName);
final Box userBox = Hive.box<User>(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<int> 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;
}

View File

@ -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:

View File

@ -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<void> main() async {
await dotenv.load(fileName: ".env");
setUp(() async {
statisticsService = StatisticsService.instance;
dataService = DataService.instance;
});
tearDown(() async {
@ -49,39 +51,39 @@ Future<void> main() async {
}
test('check if given timestamp returns valid timespan or catches invalid timestamp', () {
List<int> day = statisticsService.getTimestampsByTimestampAndTimespan(TimeSpan.day,getTimestampFromNow());
List<int> day = dataService.getTimestampsByTimestampAndTimespan(TimeSpan.day,getTimestampFromNow());
expect(31, day.length);
List<int> week = statisticsService.getTimestampsByTimestampAndTimespan(TimeSpan.week,getTimestampFromNow());
List<int> week = dataService.getTimestampsByTimestampAndTimespan(TimeSpan.week,getTimestampFromNow());
expect(7, week.length);
List<int> month = statisticsService.getTimestampsByTimestampAndTimespan(TimeSpan.month,getTimestampFromNow());
List<int> month = dataService.getTimestampsByTimestampAndTimespan(TimeSpan.month,getTimestampFromNow());
expect(31, month.length);
List<int> invalidTimestamp = statisticsService.getTimestampsByTimestampAndTimespan(TimeSpan.month,9999999999999);
List<int> 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',() {