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": [ "packages": [
{ {
"name": "_fe_analyzer_shared", "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/", "packageUri": "lib/",
"languageVersion": "2.17" "languageVersion": "2.17"
}, },
{ {
"name": "adaptive_dialog", "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/", "packageUri": "lib/",
"languageVersion": "2.17" "languageVersion": "2.17"
}, },
{ {
"name": "analyzer", "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/", "packageUri": "lib/",
"languageVersion": "2.19" "languageVersion": "2.19"
}, },
{ {
"name": "animate_gradient", "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/", "packageUri": "lib/",
"languageVersion": "2.16" "languageVersion": "2.16"
}, },
{ {
"name": "animations", "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/", "packageUri": "lib/",
"languageVersion": "2.12" "languageVersion": "2.12"
}, },
{ {
"name": "args", "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/", "packageUri": "lib/",
"languageVersion": "2.19" "languageVersion": "2.19"
}, },
{ {
"name": "assorted_layout_widgets", "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/", "packageUri": "lib/",
"languageVersion": "2.18" "languageVersion": "2.18"
}, },
{ {
"name": "async", "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/", "packageUri": "lib/",
"languageVersion": "2.18" "languageVersion": "2.18"
}, },
{ {
"name": "basic_utils", "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/", "packageUri": "lib/",
"languageVersion": "2.18" "languageVersion": "2.18"
}, },
{ {
"name": "boolean_selector", "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/", "packageUri": "lib/",
"languageVersion": "2.17" "languageVersion": "2.17"
}, },
{ {
"name": "bs_flutter_modal", "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/", "packageUri": "lib/",
"languageVersion": "2.12" "languageVersion": "2.12"
}, },
{ {
"name": "bs_flutter_utils", "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/", "packageUri": "lib/",
"languageVersion": "2.12" "languageVersion": "2.12"
}, },
{ {
"name": "build", "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/", "packageUri": "lib/",
"languageVersion": "2.17" "languageVersion": "2.17"
}, },
{ {
"name": "build_config", "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/", "packageUri": "lib/",
"languageVersion": "2.14" "languageVersion": "2.14"
}, },
{ {
"name": "build_daemon", "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/", "packageUri": "lib/",
"languageVersion": "2.14" "languageVersion": "2.14"
}, },
{ {
"name": "build_resolvers", "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/", "packageUri": "lib/",
"languageVersion": "2.18" "languageVersion": "2.18"
}, },
{ {
"name": "build_runner", "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/", "packageUri": "lib/",
"languageVersion": "2.14" "languageVersion": "2.14"
}, },
{ {
"name": "build_runner_core", "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/", "packageUri": "lib/",
"languageVersion": "2.17" "languageVersion": "2.17"
}, },
{ {
"name": "built_collection", "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/", "packageUri": "lib/",
"languageVersion": "2.12" "languageVersion": "2.12"
}, },
{ {
"name": "built_value", "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/", "packageUri": "lib/",
"languageVersion": "2.12" "languageVersion": "2.12"
}, },
{ {
"name": "card_swiper", "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/", "packageUri": "lib/",
"languageVersion": "2.12" "languageVersion": "2.12"
}, },
{ {
"name": "characters", "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/", "packageUri": "lib/",
"languageVersion": "2.12" "languageVersion": "2.12"
}, },
{ {
"name": "checked_yaml", "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/", "packageUri": "lib/",
"languageVersion": "2.19" "languageVersion": "2.19"
}, },
{ {
"name": "clock", "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/", "packageUri": "lib/",
"languageVersion": "2.12" "languageVersion": "2.12"
}, },
{ {
"name": "code_builder", "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/", "packageUri": "lib/",
"languageVersion": "2.19" "languageVersion": "2.19"
}, },
{ {
"name": "collection", "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/", "packageUri": "lib/",
"languageVersion": "2.12" "languageVersion": "2.12"
}, },
{ {
"name": "convert", "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/", "packageUri": "lib/",
"languageVersion": "2.18" "languageVersion": "2.18"
}, },
{ {
"name": "crypto", "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/", "packageUri": "lib/",
"languageVersion": "2.19" "languageVersion": "2.19"
}, },
{ {
"name": "cupertino_icons", "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/", "packageUri": "lib/",
"languageVersion": "2.12" "languageVersion": "2.12"
}, },
{ {
"name": "dart_style", "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/", "packageUri": "lib/",
"languageVersion": "2.19" "languageVersion": "2.19"
}, },
{ {
"name": "dynamic_color", "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/", "packageUri": "lib/",
"languageVersion": "2.16" "languageVersion": "2.16"
}, },
{ {
"name": "empty_widget", "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/", "packageUri": "lib/",
"languageVersion": "2.12" "languageVersion": "2.12"
}, },
{ {
"name": "equatable", "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/", "packageUri": "lib/",
"languageVersion": "2.12" "languageVersion": "2.12"
}, },
{ {
"name": "fake_async", "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/", "packageUri": "lib/",
"languageVersion": "2.12" "languageVersion": "2.12"
}, },
{ {
"name": "ffi", "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/", "packageUri": "lib/",
"languageVersion": "2.17" "languageVersion": "2.17"
}, },
{ {
"name": "file", "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/", "packageUri": "lib/",
"languageVersion": "2.12" "languageVersion": "2.12"
}, },
{ {
"name": "fixnum", "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/", "packageUri": "lib/",
"languageVersion": "2.19" "languageVersion": "2.19"
}, },
{ {
"name": "fl_chart", "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/", "packageUri": "lib/",
"languageVersion": "2.17" "languageVersion": "2.17"
}, },
{ {
"name": "flutter", "name": "flutter",
"rootUri": "file:///usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter", "rootUri": "file:///C:/Users/Nutzer/flutter/packages/flutter",
"packageUri": "lib/", "packageUri": "lib/",
"languageVersion": "2.17" "languageVersion": "2.17"
}, },
{ {
"name": "flutter_dotenv", "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/", "packageUri": "lib/",
"languageVersion": "2.12" "languageVersion": "2.12"
}, },
{ {
"name": "flutter_form_builder", "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/", "packageUri": "lib/",
"languageVersion": "2.19" "languageVersion": "2.19"
}, },
{ {
"name": "flutter_lints", "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/", "packageUri": "lib/",
"languageVersion": "2.17" "languageVersion": "2.17"
}, },
{ {
"name": "flutter_localizations", "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/", "packageUri": "lib/",
"languageVersion": "2.17" "languageVersion": "2.17"
}, },
{ {
"name": "flutter_profile_picture", "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/", "packageUri": "lib/",
"languageVersion": "2.12" "languageVersion": "2.12"
}, },
{ {
"name": "flutter_test", "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/", "packageUri": "lib/",
"languageVersion": "2.17" "languageVersion": "2.17"
}, },
{ {
"name": "flutter_web_plugins", "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/", "packageUri": "lib/",
"languageVersion": "2.17" "languageVersion": "2.17"
}, },
{ {
"name": "fluttertoast", "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/", "packageUri": "lib/",
"languageVersion": "2.12" "languageVersion": "2.12"
}, },
{ {
"name": "form_builder_validators", "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/", "packageUri": "lib/",
"languageVersion": "2.19" "languageVersion": "2.19"
}, },
{ {
"name": "frontend_server_client", "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/", "packageUri": "lib/",
"languageVersion": "2.12" "languageVersion": "2.12"
}, },
{ {
"name": "glob", "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/", "packageUri": "lib/",
"languageVersion": "2.19" "languageVersion": "2.19"
}, },
{ {
"name": "graphs", "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/", "packageUri": "lib/",
"languageVersion": "2.18" "languageVersion": "2.18"
}, },
{ {
"name": "hive", "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/", "packageUri": "lib/",
"languageVersion": "2.12" "languageVersion": "2.12"
}, },
{ {
"name": "hive_flutter", "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/", "packageUri": "lib/",
"languageVersion": "2.12" "languageVersion": "2.12"
}, },
{ {
"name": "hive_generator", "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/", "packageUri": "lib/",
"languageVersion": "2.12" "languageVersion": "2.12"
}, },
{ {
"name": "http", "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/", "packageUri": "lib/",
"languageVersion": "2.19" "languageVersion": "2.19"
}, },
{ {
"name": "http_multi_server", "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/", "packageUri": "lib/",
"languageVersion": "2.12" "languageVersion": "2.12"
}, },
{ {
"name": "http_parser", "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/", "packageUri": "lib/",
"languageVersion": "2.12" "languageVersion": "2.12"
}, },
{ {
"name": "intersperse", "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/", "packageUri": "lib/",
"languageVersion": "2.12" "languageVersion": "2.12"
}, },
{ {
"name": "intl", "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/", "packageUri": "lib/",
"languageVersion": "2.12" "languageVersion": "2.12"
}, },
{ {
"name": "io", "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/", "packageUri": "lib/",
"languageVersion": "2.12" "languageVersion": "2.12"
}, },
{ {
"name": "js", "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/", "packageUri": "lib/",
"languageVersion": "2.16" "languageVersion": "2.16"
}, },
{ {
"name": "json_annotation", "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/", "packageUri": "lib/",
"languageVersion": "2.19" "languageVersion": "2.19"
}, },
{ {
"name": "lints", "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/", "packageUri": "lib/",
"languageVersion": "2.17" "languageVersion": "2.17"
}, },
{ {
"name": "logging", "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/", "packageUri": "lib/",
"languageVersion": "2.19" "languageVersion": "2.19"
}, },
{ {
"name": "macos_ui", "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/", "packageUri": "lib/",
"languageVersion": "2.17" "languageVersion": "2.17"
}, },
{ {
"name": "matcher", "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/", "packageUri": "lib/",
"languageVersion": "2.18" "languageVersion": "2.18"
}, },
{ {
"name": "material_color_utilities", "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/", "packageUri": "lib/",
"languageVersion": "2.13" "languageVersion": "2.13"
}, },
{ {
"name": "matrix4_transform", "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/", "packageUri": "lib/",
"languageVersion": "2.13" "languageVersion": "2.13"
}, },
{ {
"name": "meta", "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/", "packageUri": "lib/",
"languageVersion": "2.12" "languageVersion": "2.12"
}, },
{ {
"name": "mime", "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/", "packageUri": "lib/",
"languageVersion": "2.18" "languageVersion": "2.18"
}, },
{ {
"name": "package_config", "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/", "packageUri": "lib/",
"languageVersion": "2.12" "languageVersion": "2.12"
}, },
{ {
"name": "path", "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/", "packageUri": "lib/",
"languageVersion": "2.12" "languageVersion": "2.12"
}, },
{ {
"name": "path_provider", "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/", "packageUri": "lib/",
"languageVersion": "2.17" "languageVersion": "2.17"
}, },
{ {
"name": "path_provider_android", "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/", "packageUri": "lib/",
"languageVersion": "2.17" "languageVersion": "2.17"
}, },
{ {
"name": "path_provider_foundation", "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/", "packageUri": "lib/",
"languageVersion": "2.18" "languageVersion": "2.18"
}, },
{ {
"name": "path_provider_linux", "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/", "packageUri": "lib/",
"languageVersion": "2.18" "languageVersion": "2.18"
}, },
{ {
"name": "path_provider_platform_interface", "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/", "packageUri": "lib/",
"languageVersion": "2.12" "languageVersion": "2.12"
}, },
{ {
"name": "path_provider_windows", "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/", "packageUri": "lib/",
"languageVersion": "2.18" "languageVersion": "2.18"
}, },
{ {
"name": "percent_indicator", "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/", "packageUri": "lib/",
"languageVersion": "2.12" "languageVersion": "2.12"
}, },
{ {
"name": "platform", "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/", "packageUri": "lib/",
"languageVersion": "2.12" "languageVersion": "2.12"
}, },
{ {
"name": "plugin_platform_interface", "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/", "packageUri": "lib/",
"languageVersion": "2.17" "languageVersion": "2.17"
}, },
{ {
"name": "pointycastle", "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/", "packageUri": "lib/",
"languageVersion": "2.14" "languageVersion": "2.14"
}, },
{ {
"name": "pool", "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/", "packageUri": "lib/",
"languageVersion": "2.12" "languageVersion": "2.12"
}, },
{ {
"name": "process", "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/", "packageUri": "lib/",
"languageVersion": "2.14" "languageVersion": "2.14"
}, },
{ {
"name": "pub_semver", "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/", "packageUri": "lib/",
"languageVersion": "2.17" "languageVersion": "2.17"
}, },
{ {
"name": "pubspec_parse", "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/", "packageUri": "lib/",
"languageVersion": "2.18" "languageVersion": "2.18"
}, },
{ {
"name": "responsive_framework", "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/", "packageUri": "lib/",
"languageVersion": "2.17" "languageVersion": "2.17"
}, },
{ {
"name": "searchable_listview", "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/", "packageUri": "lib/",
"languageVersion": "2.12" "languageVersion": "2.12"
}, },
{ {
"name": "shelf", "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/", "packageUri": "lib/",
"languageVersion": "2.17" "languageVersion": "2.17"
}, },
{ {
"name": "shelf_web_socket", "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/", "packageUri": "lib/",
"languageVersion": "2.17" "languageVersion": "2.17"
}, },
{ {
"name": "sizer", "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/", "packageUri": "lib/",
"languageVersion": "2.12" "languageVersion": "2.12"
}, },
{ {
"name": "sky_engine", "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/", "packageUri": "lib/",
"languageVersion": "2.12" "languageVersion": "2.12"
}, },
{ {
"name": "source_gen", "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/", "packageUri": "lib/",
"languageVersion": "2.18" "languageVersion": "2.18"
}, },
{ {
"name": "source_helper", "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/", "packageUri": "lib/",
"languageVersion": "2.17" "languageVersion": "2.17"
}, },
{ {
"name": "source_span", "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/", "packageUri": "lib/",
"languageVersion": "2.14" "languageVersion": "2.14"
}, },
{ {
"name": "stack_trace", "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/", "packageUri": "lib/",
"languageVersion": "2.18" "languageVersion": "2.18"
}, },
{ {
"name": "stream_channel", "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/", "packageUri": "lib/",
"languageVersion": "2.14" "languageVersion": "2.14"
}, },
{ {
"name": "stream_transform", "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/", "packageUri": "lib/",
"languageVersion": "2.14" "languageVersion": "2.14"
}, },
{ {
"name": "string_scanner", "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/", "packageUri": "lib/",
"languageVersion": "2.18" "languageVersion": "2.18"
}, },
{ {
"name": "term_glyph", "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/", "packageUri": "lib/",
"languageVersion": "2.12" "languageVersion": "2.12"
}, },
{ {
"name": "test_api", "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/", "packageUri": "lib/",
"languageVersion": "2.18" "languageVersion": "2.18"
}, },
{ {
"name": "timing", "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/", "packageUri": "lib/",
"languageVersion": "2.14" "languageVersion": "2.14"
}, },
{ {
"name": "typed_data", "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/", "packageUri": "lib/",
"languageVersion": "2.17" "languageVersion": "2.17"
}, },
{ {
"name": "universal_io", "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/", "packageUri": "lib/",
"languageVersion": "2.15" "languageVersion": "2.15"
}, },
{ {
"name": "vector_math", "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/", "packageUri": "lib/",
"languageVersion": "2.14" "languageVersion": "2.14"
}, },
{ {
"name": "watcher", "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/", "packageUri": "lib/",
"languageVersion": "2.14" "languageVersion": "2.14"
}, },
{ {
"name": "web_socket_channel", "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/", "packageUri": "lib/",
"languageVersion": "2.15" "languageVersion": "2.15"
}, },
{ {
"name": "win32", "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/", "packageUri": "lib/",
"languageVersion": "2.17" "languageVersion": "2.17"
}, },
{ {
"name": "xdg_directories", "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/", "packageUri": "lib/",
"languageVersion": "2.17" "languageVersion": "2.17"
}, },
{ {
"name": "yaml", "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/", "packageUri": "lib/",
"languageVersion": "2.19" "languageVersion": "2.19"
}, },
@ -668,7 +668,7 @@
"languageVersion": "2.19" "languageVersion": "2.19"
} }
], ],
"generated": "2023-06-16T13:04:07.358776Z", "generated": "2023-06-25T12:05:16.357241Z",
"generator": "pub", "generator": "pub",
"generatorVersion": "2.19.6" "generatorVersion": "2.19.6"
} }

View File

@ -1,445 +1,445 @@
_fe_analyzer_shared _fe_analyzer_shared
2.17 2.17
file:///Users/bogdan/.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/
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/lib/
adaptive_dialog adaptive_dialog
2.17 2.17
file:///Users/bogdan/.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/
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/lib/
analyzer analyzer
2.19 2.19
file:///Users/bogdan/.pub-cache/hosted/pub.dev/analyzer-5.13.0/ file:///C:/Users/Nutzer/AppData/Local/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/lib/
animate_gradient animate_gradient
2.16 2.16
file:///Users/bogdan/.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/
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/lib/
animations animations
2.12 2.12
file:///Users/bogdan/.pub-cache/hosted/pub.dev/animations-2.0.7/ file:///C:/Users/Nutzer/AppData/Local/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/lib/
args args
2.19 2.19
file:///Users/bogdan/.pub-cache/hosted/pub.dev/args-2.4.2/ file:///C:/Users/Nutzer/AppData/Local/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/lib/
assorted_layout_widgets assorted_layout_widgets
2.18 2.18
file:///Users/bogdan/.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/
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/lib/
async async
2.18 2.18
file:///Users/bogdan/.pub-cache/hosted/pub.dev/async-2.10.0/ file:///C:/Users/Nutzer/AppData/Local/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/lib/
basic_utils basic_utils
2.18 2.18
file:///Users/bogdan/.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/
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/lib/
boolean_selector boolean_selector
2.17 2.17
file:///Users/bogdan/.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/
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/lib/
bs_flutter_modal bs_flutter_modal
2.12 2.12
file:///Users/bogdan/.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/
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/lib/
bs_flutter_utils bs_flutter_utils
2.12 2.12
file:///Users/bogdan/.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/
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/lib/
build build
2.17 2.17
file:///Users/bogdan/.pub-cache/hosted/pub.dev/build-2.3.1/ file:///C:/Users/Nutzer/AppData/Local/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/lib/
build_config build_config
2.14 2.14
file:///Users/bogdan/.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/
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/lib/
build_daemon build_daemon
2.14 2.14
file:///Users/bogdan/.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/
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/lib/
build_resolvers build_resolvers
2.18 2.18
file:///Users/bogdan/.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/
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/lib/
build_runner build_runner
2.14 2.14
file:///Users/bogdan/.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/
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/lib/
build_runner_core build_runner_core
2.17 2.17
file:///Users/bogdan/.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/
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/lib/
built_collection built_collection
2.12 2.12
file:///Users/bogdan/.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/
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/lib/
built_value built_value
2.12 2.12
file:///Users/bogdan/.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/
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/lib/
card_swiper card_swiper
2.12 2.12
file:///Users/bogdan/.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/
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/lib/
characters characters
2.12 2.12
file:///Users/bogdan/.pub-cache/hosted/pub.dev/characters-1.2.1/ file:///C:/Users/Nutzer/AppData/Local/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/lib/
checked_yaml checked_yaml
2.19 2.19
file:///Users/bogdan/.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/
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/lib/
clock clock
2.12 2.12
file:///Users/bogdan/.pub-cache/hosted/pub.dev/clock-1.1.1/ file:///C:/Users/Nutzer/AppData/Local/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/lib/
code_builder code_builder
2.19 2.19
file:///Users/bogdan/.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/
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/lib/
collection collection
2.12 2.12
file:///Users/bogdan/.pub-cache/hosted/pub.dev/collection-1.17.0/ file:///C:/Users/Nutzer/AppData/Local/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/lib/
convert convert
2.18 2.18
file:///Users/bogdan/.pub-cache/hosted/pub.dev/convert-3.1.1/ file:///C:/Users/Nutzer/AppData/Local/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/lib/
crypto crypto
2.19 2.19
file:///Users/bogdan/.pub-cache/hosted/pub.dev/crypto-3.0.3/ file:///C:/Users/Nutzer/AppData/Local/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/lib/
cupertino_icons cupertino_icons
2.12 2.12
file:///Users/bogdan/.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/
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/lib/
dart_style dart_style
2.19 2.19
file:///Users/bogdan/.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/
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/lib/
dynamic_color dynamic_color
2.16 2.16
file:///Users/bogdan/.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/
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/lib/
empty_widget empty_widget
2.12 2.12
file:///Users/bogdan/.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/
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/lib/
equatable equatable
2.12 2.12
file:///Users/bogdan/.pub-cache/hosted/pub.dev/equatable-2.0.5/ file:///C:/Users/Nutzer/AppData/Local/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/lib/
fake_async fake_async
2.12 2.12
file:///Users/bogdan/.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/
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/lib/
ffi ffi
2.17 2.17
file:///Users/bogdan/.pub-cache/hosted/pub.dev/ffi-2.0.2/ file:///C:/Users/Nutzer/AppData/Local/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/lib/
file file
2.12 2.12
file:///Users/bogdan/.pub-cache/hosted/pub.dev/file-6.1.4/ file:///C:/Users/Nutzer/AppData/Local/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/lib/
fixnum fixnum
2.19 2.19
file:///Users/bogdan/.pub-cache/hosted/pub.dev/fixnum-1.1.0/ file:///C:/Users/Nutzer/AppData/Local/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/lib/
fl_chart fl_chart
2.17 2.17
file:///Users/bogdan/.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/
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/lib/
flutter_dotenv flutter_dotenv
2.12 2.12
file:///Users/bogdan/.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/
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/lib/
flutter_form_builder flutter_form_builder
2.19 2.19
file:///Users/bogdan/.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/
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/lib/
flutter_lints flutter_lints
2.17 2.17
file:///Users/bogdan/.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/
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/lib/
flutter_profile_picture flutter_profile_picture
2.12 2.12
file:///Users/bogdan/.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/
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/lib/
fluttertoast fluttertoast
2.12 2.12
file:///Users/bogdan/.pub-cache/hosted/pub.dev/fluttertoast-8.2.2/ file:///C:/Users/Nutzer/AppData/Local/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/lib/
form_builder_validators form_builder_validators
2.19 2.19
file:///Users/bogdan/.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/
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/lib/
frontend_server_client frontend_server_client
2.12 2.12
file:///Users/bogdan/.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/
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/lib/
glob glob
2.19 2.19
file:///Users/bogdan/.pub-cache/hosted/pub.dev/glob-2.1.2/ file:///C:/Users/Nutzer/AppData/Local/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/lib/
graphs graphs
2.18 2.18
file:///Users/bogdan/.pub-cache/hosted/pub.dev/graphs-2.3.1/ file:///C:/Users/Nutzer/AppData/Local/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/lib/
hive hive
2.12 2.12
file:///Users/bogdan/.pub-cache/hosted/pub.dev/hive-2.2.3/ file:///C:/Users/Nutzer/AppData/Local/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/lib/
hive_flutter hive_flutter
2.12 2.12
file:///Users/bogdan/.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/
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/lib/
hive_generator hive_generator
2.12 2.12
file:///Users/bogdan/.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/
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/lib/
http http
2.19 2.19
file:///Users/bogdan/.pub-cache/hosted/pub.dev/http-0.13.6/ file:///C:/Users/Nutzer/AppData/Local/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/lib/
http_multi_server http_multi_server
2.12 2.12
file:///Users/bogdan/.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/
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/lib/
http_parser http_parser
2.12 2.12
file:///Users/bogdan/.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/
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/lib/
intersperse intersperse
2.12 2.12
file:///Users/bogdan/.pub-cache/hosted/pub.dev/intersperse-2.0.0/ file:///C:/Users/Nutzer/AppData/Local/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/lib/
intl intl
2.12 2.12
file:///Users/bogdan/.pub-cache/hosted/pub.dev/intl-0.17.0/ file:///C:/Users/Nutzer/AppData/Local/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/lib/
io io
2.12 2.12
file:///Users/bogdan/.pub-cache/hosted/pub.dev/io-1.0.4/ file:///C:/Users/Nutzer/AppData/Local/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/lib/
js js
2.16 2.16
file:///Users/bogdan/.pub-cache/hosted/pub.dev/js-0.6.5/ file:///C:/Users/Nutzer/AppData/Local/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/lib/
json_annotation json_annotation
2.19 2.19
file:///Users/bogdan/.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/
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/lib/
lints lints
2.17 2.17
file:///Users/bogdan/.pub-cache/hosted/pub.dev/lints-2.0.1/ file:///C:/Users/Nutzer/AppData/Local/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/lib/
logging logging
2.19 2.19
file:///Users/bogdan/.pub-cache/hosted/pub.dev/logging-1.2.0/ file:///C:/Users/Nutzer/AppData/Local/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/lib/
macos_ui macos_ui
2.17 2.17
file:///Users/bogdan/.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/
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/lib/
matcher matcher
2.18 2.18
file:///Users/bogdan/.pub-cache/hosted/pub.dev/matcher-0.12.13/ file:///C:/Users/Nutzer/AppData/Local/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/lib/
material_color_utilities material_color_utilities
2.13 2.13
file:///Users/bogdan/.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/
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/lib/
matrix4_transform matrix4_transform
2.13 2.13
file:///Users/bogdan/.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/
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/lib/
meta meta
2.12 2.12
file:///Users/bogdan/.pub-cache/hosted/pub.dev/meta-1.8.0/ file:///C:/Users/Nutzer/AppData/Local/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/lib/
mime mime
2.18 2.18
file:///Users/bogdan/.pub-cache/hosted/pub.dev/mime-1.0.4/ file:///C:/Users/Nutzer/AppData/Local/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/lib/
package_config package_config
2.12 2.12
file:///Users/bogdan/.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/
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/lib/
path path
2.12 2.12
file:///Users/bogdan/.pub-cache/hosted/pub.dev/path-1.8.2/ file:///C:/Users/Nutzer/AppData/Local/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/lib/
path_provider path_provider
2.17 2.17
file:///Users/bogdan/.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/
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/lib/
path_provider_android path_provider_android
2.17 2.17
file:///Users/bogdan/.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/
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/lib/
path_provider_foundation path_provider_foundation
2.18 2.18
file:///Users/bogdan/.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/
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/lib/
path_provider_linux path_provider_linux
2.18 2.18
file:///Users/bogdan/.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/
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/lib/
path_provider_platform_interface path_provider_platform_interface
2.12 2.12
file:///Users/bogdan/.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/
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/lib/
path_provider_windows path_provider_windows
2.18 2.18
file:///Users/bogdan/.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/
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/lib/
percent_indicator percent_indicator
2.12 2.12
file:///Users/bogdan/.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/
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/lib/
platform platform
2.12 2.12
file:///Users/bogdan/.pub-cache/hosted/pub.dev/platform-3.1.0/ file:///C:/Users/Nutzer/AppData/Local/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/lib/
plugin_platform_interface plugin_platform_interface
2.17 2.17
file:///Users/bogdan/.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/
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/lib/
pointycastle pointycastle
2.14 2.14
file:///Users/bogdan/.pub-cache/hosted/pub.dev/pointycastle-3.7.3/ file:///C:/Users/Nutzer/AppData/Local/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/lib/
pool pool
2.12 2.12
file:///Users/bogdan/.pub-cache/hosted/pub.dev/pool-1.5.1/ file:///C:/Users/Nutzer/AppData/Local/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/lib/
process process
2.14 2.14
file:///Users/bogdan/.pub-cache/hosted/pub.dev/process-4.2.4/ file:///C:/Users/Nutzer/AppData/Local/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/lib/
pub_semver pub_semver
2.17 2.17
file:///Users/bogdan/.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/
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/lib/
pubspec_parse pubspec_parse
2.18 2.18
file:///Users/bogdan/.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/
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/lib/
responsive_framework responsive_framework
2.17 2.17
file:///Users/bogdan/.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/
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/lib/
searchable_listview searchable_listview
2.12 2.12
file:///Users/bogdan/.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/
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/lib/
shelf shelf
2.17 2.17
file:///Users/bogdan/.pub-cache/hosted/pub.dev/shelf-1.4.1/ file:///C:/Users/Nutzer/AppData/Local/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/lib/
shelf_web_socket shelf_web_socket
2.17 2.17
file:///Users/bogdan/.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/
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/lib/
sizer sizer
2.12 2.12
file:///Users/bogdan/.pub-cache/hosted/pub.dev/sizer-2.0.15/ file:///C:/Users/Nutzer/AppData/Local/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/lib/
source_gen source_gen
2.18 2.18
file:///Users/bogdan/.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/
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/lib/
source_helper source_helper
2.17 2.17
file:///Users/bogdan/.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/
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/lib/
source_span source_span
2.14 2.14
file:///Users/bogdan/.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/
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/lib/
stack_trace stack_trace
2.18 2.18
file:///Users/bogdan/.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/
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/lib/
stream_channel stream_channel
2.14 2.14
file:///Users/bogdan/.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/
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/lib/
stream_transform stream_transform
2.14 2.14
file:///Users/bogdan/.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/
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/lib/
string_scanner string_scanner
2.18 2.18
file:///Users/bogdan/.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/
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/lib/
term_glyph term_glyph
2.12 2.12
file:///Users/bogdan/.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/
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/lib/
test_api test_api
2.18 2.18
file:///Users/bogdan/.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/
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/lib/
timing timing
2.14 2.14
file:///Users/bogdan/.pub-cache/hosted/pub.dev/timing-1.0.1/ file:///C:/Users/Nutzer/AppData/Local/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/lib/
typed_data typed_data
2.17 2.17
file:///Users/bogdan/.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/
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/lib/
universal_io universal_io
2.15 2.15
file:///Users/bogdan/.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/
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/lib/
vector_math vector_math
2.14 2.14
file:///Users/bogdan/.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/
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/lib/
watcher watcher
2.14 2.14
file:///Users/bogdan/.pub-cache/hosted/pub.dev/watcher-1.0.2/ file:///C:/Users/Nutzer/AppData/Local/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/lib/
web_socket_channel web_socket_channel
2.15 2.15
file:///Users/bogdan/.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/
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/lib/
win32 win32
2.17 2.17
file:///Users/bogdan/.pub-cache/hosted/pub.dev/win32-4.1.4/ file:///C:/Users/Nutzer/AppData/Local/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/lib/
xdg_directories xdg_directories
2.17 2.17
file:///Users/bogdan/.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/
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/lib/
yaml yaml
2.19 2.19
file:///Users/bogdan/.pub-cache/hosted/pub.dev/yaml-3.1.2/ file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/yaml-3.1.2/
file:///Users/bogdan/.pub-cache/hosted/pub.dev/yaml-3.1.2/lib/ file:///C:/Users/Nutzer/AppData/Local/Pub/Cache/hosted/pub.dev/yaml-3.1.2/lib/
ernaehrung
2.19
file:///Users/bogdan/IdeaProjects/ernaehrung/
file:///Users/bogdan/IdeaProjects/ernaehrung/lib/
sky_engine sky_engine
2.12 2.12
file:///usr/local/Caskroom/flutter/3.7.7/flutter/bin/cache/pkg/sky_engine/ file:///C:/Users/Nutzer/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/lib/
flutter flutter
2.17 2.17
file:///usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/ file:///C:/Users/Nutzer/flutter/packages/flutter/
file:///usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter/lib/ file:///C:/Users/Nutzer/flutter/packages/flutter/lib/
flutter_localizations flutter_localizations
2.17 2.17
file:///usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter_localizations/ file:///C:/Users/Nutzer/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/lib/
flutter_test flutter_test
2.17 2.17
file:///usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter_test/ file:///C:/Users/Nutzer/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/lib/
flutter_web_plugins flutter_web_plugins
2.17 2.17
file:///usr/local/Caskroom/flutter/3.7.7/flutter/packages/flutter_web_plugins/ file:///C:/Users/Nutzer/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/lib/
ernaehrung
2.19
file:///C:/Users/Nutzer/source/repos/Flutter-Ernaehrungsapp/
file:///C:/Users/Nutzer/source/repos/Flutter-Ernaehrungsapp/lib/
2 2

9
.env
View File

@ -13,7 +13,8 @@ DINNER_FIELD=ABENDESSEN # abendessen
YESTERDAY_AND_BEFORE=YESTERDAY # gestern und alles was davor war YESTERDAY_AND_BEFORE=YESTERDAY # gestern und alles was davor war
TOMORROW_AND_AFTER=TOMORROW # morgen und alles was kommen wird TOMORROW_AND_AFTER=TOMORROW # morgen und alles was kommen wird
MEALPLAN_BOX=MEALPLAN TODAY_BOX=TODAY
STATISTICS_TODAY_BOX=STATISTICS_TODAY PROGRESS_BOX=PROGRESS
STATISTICS_PROGRESS_BOX=STATISTICS_PROGRESS STATISTICS_BOX=STATISTICS
STATISTICS_MAIN_BOX=STATISTICS_MAIN 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/pages/nav_pages/main_page.dart';
import 'package:ernaehrung/android/pages/welcome.dart'; import 'package:ernaehrung/pages/user_data_form/initial_user_data_form.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_dotenv/flutter_dotenv.dart';
import 'package:hive/hive.dart'; import 'package:hive/hive.dart';
import 'models/user.dart'; import 'models/user.dart';
class AndroidApp extends StatelessWidget { class AndroidApp extends StatelessWidget {
@ -10,7 +10,7 @@ class AndroidApp extends StatelessWidget {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
final box = Hive.box<User>('USER_BOX'); final box = Hive.box<User>(dotenv.env['USER_BOX'] ?? 'USER');
return MaterialApp( return MaterialApp(
debugShowCheckedModeBanner: false, debugShowCheckedModeBanner: false,
title: 'Flutter Demo', title: 'Flutter Demo',

View File

@ -7,11 +7,10 @@ final List<Food> emptyList = [];
void setupTodayBox() async{ 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, 'FRÜHSTÜCK', []);
putIfKeyNotExists(todayBox, 'MITTAGESSEN', []); putIfKeyNotExists(todayBox, 'MITTAGESSEN', []);
putIfKeyNotExists(todayBox, 'ABENDESSEN', []); putIfKeyNotExists(todayBox, 'ABENDESSEN', []);
} }
@ -20,6 +19,3 @@ void putIfKeyNotExists(Box box, String key, List<Food> value) {
box.put(key, 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:flutter/material.dart';
import 'package:hive_flutter/hive_flutter.dart'; import 'package:hive_flutter/hive_flutter.dart';
import 'package:flutter_dotenv/flutter_dotenv.dart'; import 'package:flutter_dotenv/flutter_dotenv.dart';
import 'android/android_app.dart'; import 'app.dart';
import 'android/config/setup_todaybox_config.dart'; import 'helper/setup_todaybox.dart';
import 'models/food.dart';
import 'models/user.dart';
void main() async { void main() async {
@ -16,12 +16,13 @@ void main() async {
if (!Hive.isAdapterRegistered(1)) { if (!Hive.isAdapterRegistered(1)) {
Hive.registerAdapter(UserAdapter()); Hive.registerAdapter(UserAdapter());
} }
await Hive.openBox(dotenv.env['STATISTICS_TODAY_BOX'] ?? 'STATISTICS_TODAY_BOX'); await Hive.openBox(dotenv.env['PROGRESS_BOX'] ?? 'PROGRESS');
await Hive.openBox( dotenv.env['STATISTICS_PROGRESS_BOX'] ?? 'STATISTICS_PROGRESS_BOX'); await Hive.openBox( dotenv.env['STATISTICS_BOX'] ?? 'STATISTICS');
await Hive.openBox(dotenv.env['STATISTICS_MAIN_BOX'] ?? 'STATISTICS_MAIN_BOX'); await Hive.openBox(dotenv.env['MAIN_BOX'] ?? 'MAIN');
await Hive.openBox(dotenv.env['MEALPLAN_BOX'] ?? 'MEALPLAN'); await Hive.openBox(dotenv.env['TODAY_BOX'] ?? 'TODAY');
await Hive.openBox<User>('USER_BOX'); await Hive.openBox<User>(dotenv.env['USER_BOX'] ?? 'USER');
setupTodayBox(); setupTodayBox();
//Hive.deleteFromDisk();
runApp(const AndroidApp()); runApp(const AndroidApp());
} }

View File

@ -1,10 +1,10 @@
import 'package:ernaehrung/android/components/meal_page_text/days_component.dart'; import 'package:ernaehrung/pages/nav_pages/subpages/statistics_page/statistics_page.dart';
import 'package:ernaehrung/android/config/statistics.dart'; import 'package:ernaehrung/pages/nav_pages/subpages/today_page/today_page.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:flutter/material.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 { class MainPage extends StatefulWidget {
const MainPage({Key? key}) : super(key: key); const MainPage({Key? key}) : super(key: key);
@ -16,8 +16,8 @@ class MainPage extends StatefulWidget {
class MainPageState extends State<MainPage> { class MainPageState extends State<MainPage> {
List pages = [ List pages = [
const TodayPage(title: 'Essensplan'), const TodayPage(title: 'Essensplan'),
const MealPlanPage(title: 'Gesamtübersicht'), const ProgressPage(title: 'Gesamtübersicht'),
const ProgressPage(title: 'Statistiken') const StatisticsPage(title: 'Statistiken')
]; ];
int currentIndex = 0; int currentIndex = 0;
@ -26,10 +26,10 @@ class MainPageState extends State<MainPage> {
setState(() { setState(() {
currentIndex = index; currentIndex = index;
if (currentIndex == 1) { if (currentIndex == 1) {
StatisticsService.instance DataService.instance
.updateStatisticsTodayBoxByTimespan(TimeSpan.day); .updateStatisticsTodayBoxByTimespan(TimeSpan.day);
} else if (currentIndex == 2) { } else if (currentIndex == 2) {
StatisticsService.instance.updateProgressBoxValues(); DataService.instance.updateProgressBoxValues();
} }
pages[currentIndex]; 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'; 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 String title;
final Color backgroundColor = const Color(0xff47a44b); 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; String get getTitle => title;
@ -16,10 +18,10 @@ class MealPlanPage extends StatefulWidget {
} }
@override @override
State<StatefulWidget> createState() => _MealPlanState(); State<StatefulWidget> createState() => ProgressState();
} }
class _MealPlanState extends State<MealPlanPage> { class ProgressState extends State<ProgressPage> {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return Scaffold( return Scaffold(
@ -29,8 +31,8 @@ class _MealPlanState extends State<MealPlanPage> {
child: SingleChildScrollView( child: SingleChildScrollView(
child: Column( child: Column(
children: const [ children: const [
RoundChartComponent(), ProgressChartsOverviewComponent(),
MealPageStatisticsFoodComponent(), ProgressAllMealsComponent(),
], ],
), ),
))); )));

View File

@ -1,10 +1,10 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import '../meal_page_text/days_component.dart'; import 'sub_components/tabs/timespan_tabs.dart';
import '../meal_page_text/statistics_today_component.dart'; import 'sub_components/charts/progress_charts.dart';
class RoundChartComponent extends StatelessWidget { class ProgressChartsOverviewComponent extends StatelessWidget {
const RoundChartComponent({Key? key}) : super(key: key); const ProgressChartsOverviewComponent({Key? key}) : super(key: key);
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
@ -17,8 +17,8 @@ class RoundChartComponent extends StatelessWidget {
vertical: 8, horizontal: 16), vertical: 8, horizontal: 16),
child: Column( child: Column(
children: const [ children: const [
DaysMealPageComponent(), TimespanTabsComponent(),
StatisticsPercentage(), ProgressChartsComponent(),
], ],
), ),
), ),

View File

@ -1,10 +1,10 @@
import 'package:flutter/cupertino.dart'; import 'package:flutter/cupertino.dart';
class StaticsTextComponent extends StatelessWidget { class HorizontalChartTextComponent extends StatelessWidget {
final String name; final String name;
final bool titleOrSecondary; final bool titleOrSecondary;
const StaticsTextComponent(this.name, this.titleOrSecondary, {super.key}); const HorizontalChartTextComponent(this.name, this.titleOrSecondary, {super.key});
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {

View File

@ -1,18 +1,18 @@
import 'package:ernaehrung/android/components/circular/circular_component.dart'; import 'package:ernaehrung/pages/nav_pages/subpages/progress_page/sub_components/charts/sub_components/charts/progress_circular_chart.dart';
import 'package:ernaehrung/android/components/circular/line_circular_with_text_component.dart'; import 'package:ernaehrung/pages/nav_pages/subpages/progress_page/sub_components/charts/sub_components/charts/progress_horizontal_chart.dart';
import 'package:ernaehrung/android/config/statistics.dart';
import 'package:flutter/material.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 heightStatisticsContainer = 220.0;
final double widthStatisticsContainer = double.infinity; final double widthStatisticsContainer = double.infinity;
const StatisticsPercentage({Key? key}) : super(key: key); const ProgressChartsComponent({Key? key}) : super(key: key);
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return ValueListenableBuilder<List<double>>( return ValueListenableBuilder<List<double>>(
valueListenable: StatisticsService.instance.ingredients, valueListenable: DataService.instance.ingredients,
builder: (context, value, child) { builder: (context, value, child) {
return Container( return Container(
height: heightStatisticsContainer, height: heightStatisticsContainer,
@ -26,7 +26,7 @@ class StatisticsPercentage extends StatelessWidget {
padding: const EdgeInsets.symmetric( padding: const EdgeInsets.symmetric(
vertical: 0, horizontal: 8), vertical: 0, horizontal: 8),
child: FittedBox( child: FittedBox(
child: CircularLoadingComponent(value[6].toInt()), child: ProgressCircularChartComponent(value[6].toInt()),
), ),
), ),
), ),
@ -36,11 +36,11 @@ class StatisticsPercentage extends StatelessWidget {
mainAxisAlignment: MainAxisAlignment.spaceEvenly, mainAxisAlignment: MainAxisAlignment.spaceEvenly,
children: [ children: [
// TODO adjust 200 to values from user box // TODO adjust 200 to values from user box
LineCircularWiTextComponent(Colors.lightGreen, value[0], ProgressHorizontalChartComponent(Colors.lightGreen, value[0],
value[3].toInt(), "Fat (g)"), value[3].toInt(), "Fat (g)"),
LineCircularWiTextComponent(Colors.lightGreen, value[1], ProgressHorizontalChartComponent(Colors.lightGreen, value[1],
value[4].toInt(), "Protein (g)"), value[4].toInt(), "Protein (g)"),
LineCircularWiTextComponent(Colors.lightGreen, value[2], ProgressHorizontalChartComponent(Colors.lightGreen, value[2],
value[5].toInt(), "Carbohydrate (g)"), 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:flutter/material.dart';
import 'package:percent_indicator/circular_percent_indicator.dart'; import 'package:percent_indicator/circular_percent_indicator.dart';
import '../../../../../../../../services/statistics.dart';
class CircularLoadingComponent extends StatelessWidget { class ProgressCircularChartComponent extends StatelessWidget {
final int totalCalories; final int totalCalories;
const CircularLoadingComponent(this.totalCalories, {Key? key}) : super(key: key); const ProgressCircularChartComponent(this.totalCalories, {Key? key}) : super(key: key);
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return ValueListenableBuilder( return ValueListenableBuilder(
valueListenable: StatisticsService.instance.eatenCalories, valueListenable: DataService.instance.eatenCalories,
builder: (context, value, child) { builder: (context, value, child) {
double progress = double progress =
double.parse((value / totalCalories).toStringAsFixed(1)); 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/cupertino.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:percent_indicator/linear_percent_indicator.dart'; import 'package:percent_indicator/linear_percent_indicator.dart';
class LineCircularWiTextComponent extends StatelessWidget { class ProgressHorizontalChartComponent extends StatelessWidget {
final Color progressColor; final Color progressColor;
final double value; final double value;
final int total; final int total;
final String textName; final String textName;
const LineCircularWiTextComponent( const ProgressHorizontalChartComponent(
this.progressColor, this.value, this.total, this.textName, this.progressColor, this.value, this.total, this.textName,
{super.key}); {super.key});
@ -22,7 +22,7 @@ class LineCircularWiTextComponent extends StatelessWidget {
child: Column( child: Column(
crossAxisAlignment: CrossAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start,
children: [ children: [
StaticsTextComponent(double.parse(value.toString()).toStringAsFixed(2), true), HorizontalChartTextComponent(double.parse(value.toString()).toStringAsFixed(2), true),
const SizedBox(height: 4,), const SizedBox(height: 4,),
LinearPercentIndicator( LinearPercentIndicator(
padding: EdgeInsets.zero, padding: EdgeInsets.zero,
@ -31,7 +31,7 @@ class LineCircularWiTextComponent extends StatelessWidget {
progressColor: progressColor, progressColor: progressColor,
), ),
const SizedBox(height: 4,), 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/pages/nav_pages/subpages/progress_page/sub_components/charts/sub_components/tabs/timespan_tabs_text.dart';
import 'package:ernaehrung/android/config/statistics.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import '../../../../../../../../services/statistics.dart';
enum TimeSpan { enum TimeSpan {
day, day,
@ -9,25 +9,25 @@ enum TimeSpan {
} }
class DaysMealPageComponent extends StatefulWidget { class TimespanTabsComponent extends StatefulWidget {
const DaysMealPageComponent({Key? key}) : super(key: key); const TimespanTabsComponent({Key? key}) : super(key: key);
@override @override
State<StatefulWidget> createState() => _DaysMealPageState(); State<StatefulWidget> createState() => _DaysMealPageState();
} }
class _DaysMealPageState extends State<DaysMealPageComponent> { class _DaysMealPageState extends State<TimespanTabsComponent> {
int activatedIndex = 0; int activatedIndex = 0;
void updateValue(int index) { void updateValue(int index) {
setState(() { setState(() {
activatedIndex = index; activatedIndex = index;
if(activatedIndex == 0){ if(activatedIndex == 0){
StatisticsService.instance.updateStatisticsTodayBoxByTimespan(TimeSpan.day); DataService.instance.updateStatisticsTodayBoxByTimespan(TimeSpan.day);
}else if(activatedIndex == 1){ }else if(activatedIndex == 1){
StatisticsService.instance.updateStatisticsTodayBoxByTimespan(TimeSpan.week); DataService.instance.updateStatisticsTodayBoxByTimespan(TimeSpan.week);
}else if(activatedIndex == 2){ }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( return Row(
mainAxisAlignment: MainAxisAlignment.start, mainAxisAlignment: MainAxisAlignment.start,
children: [ children: [
DaysTextComponent( TimespanTabsTextComponent(
timeSpan: TimeSpan.day, timeSpan: TimeSpan.day,
textColor: activatedIndex == 0 textColor: activatedIndex == 0
? const Color(0xff47a44b) ? const Color(0xff47a44b)
@ -46,7 +46,7 @@ class _DaysMealPageState extends State<DaysMealPageComponent> {
index: 0 index: 0
), ),
DaysTextComponent( TimespanTabsTextComponent(
timeSpan: TimeSpan.week, timeSpan: TimeSpan.week,
textColor: activatedIndex == 1 textColor: activatedIndex == 1
? const Color(0xff47a44b) ? const Color(0xff47a44b)
@ -54,7 +54,7 @@ class _DaysMealPageState extends State<DaysMealPageComponent> {
onPressed: updateValue, onPressed: updateValue,
index: 1 index: 1
), ),
DaysTextComponent( TimespanTabsTextComponent(
timeSpan: TimeSpan.month, timeSpan: TimeSpan.month,
textColor: activatedIndex == 2 textColor: activatedIndex == 2
? const Color(0xff47a44b) ? const Color(0xff47a44b)

View File

@ -1,16 +1,17 @@
import 'package:ernaehrung/android/components/meal_page_text/days_component.dart'; import 'package:ernaehrung/pages/nav_pages/subpages/progress_page/sub_components/charts/sub_components/tabs/timespan_tabs.dart';
import 'package:ernaehrung/android/config/statistics.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
class DaysTextComponent extends StatelessWidget { import '../../../../../../../../services/statistics.dart';
class TimespanTabsTextComponent extends StatelessWidget {
late final String timeSpan; late final String timeSpan;
late final TimeSpan timespan; late final TimeSpan timespan;
Function(int i) onPressed; Function(int i) onPressed;
int index; int index;
Color textColor; 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; timespan = timeSpan;
switch(timeSpan){ switch(timeSpan){
case TimeSpan.day: case TimeSpan.day:

View File

@ -1,11 +1,11 @@
import 'package:ernaehrung/android/components/food_list_component.dart'; import 'package:ernaehrung/pages/nav_pages/subpages/progress_page/sub_components/list_view/progress_food_list.dart';
import 'package:ernaehrung/android/config/statistics.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:hive/hive.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 { class ProgressAllMealsComponent extends StatelessWidget {
const MealPageStatisticsFoodComponent({Key? key}) : super(key: key); const ProgressAllMealsComponent({Key? key}) : super(key: key);
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
@ -19,8 +19,8 @@ class MealPageStatisticsFoodComponent extends StatelessWidget {
crossAxisAlignment: CrossAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start,
children: [ children: [
const TitleComponent("Alle Mahlzeiten"), const TitleComponent("Alle Mahlzeiten"),
FoodComponent( ProgressFoodListComponent(
box: Hive.box(StatisticsService.instance.todayStatisticsBoxName), box: Hive.box(DataService.instance.progressBoxName),
) )
], ],
), ),

View File

@ -1,15 +1,15 @@
import 'package:basic_utils/basic_utils.dart'; import 'package:basic_utils/basic_utils.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import '../config/format_helper.dart'; import '../../../../../../helper/format_helper.dart';
import '../models/food.dart'; import '../../../../../../models/food.dart';
import '../pages/nav_pages/search_food.dart'; import '../../../../../search_food/search_food.dart';
class CardComponent extends StatefulWidget { class ProgressCardComponent extends StatefulWidget {
final String eatingMealName; final String eatingMealName;
final List<Food> selectedMeal; final List<Food> selectedMeal;
final bool addButtonVisible; final bool addButtonVisible;
const CardComponent( const ProgressCardComponent(
{Key? key, {Key? key,
required this.eatingMealName, required this.eatingMealName,
required this.selectedMeal, required this.selectedMeal,
@ -17,10 +17,10 @@ class CardComponent extends StatefulWidget {
: super(key: key); : super(key: key);
@override @override
State<CardComponent> createState() => _CardComponentState(); State<ProgressCardComponent> createState() => _ProgressCardComponentState();
} }
class _CardComponentState extends State<CardComponent> { class _ProgressCardComponentState extends State<ProgressCardComponent> {
Route createRoute(String cardName) { Route createRoute(String cardName) {
return PageRouteBuilder( return PageRouteBuilder(
pageBuilder: (context, animation, secondaryAnimation) => pageBuilder: (context, animation, secondaryAnimation) =>
@ -42,17 +42,8 @@ class _CardComponentState extends State<CardComponent> {
} }
String capitalize(String s) => s[0].toUpperCase() + s.substring(1); 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() { Widget getElevatedButton() {
if (widget.addButtonVisible) { if (widget.addButtonVisible) {
return ElevatedButton( 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:flutter/cupertino.dart';
import 'package:hive_flutter/adapters.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; final Box box;
const FoodComponent({super.key, required this.box}); const ProgressFoodListComponent({super.key, required this.box});
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
@ -20,10 +20,10 @@ class FoodComponent extends StatelessWidget {
shrinkWrap: true, shrinkWrap: true,
itemCount: box.keys.length, itemCount: box.keys.length,
itemBuilder: (context, i) { itemBuilder: (context, i) {
return CardComponent( return ProgressCardComponent(
eatingMealName: mealTypes[i], eatingMealName: mealTypes[i],
selectedMeal: castDynamicToListFood(box.get(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 '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 String title;
final Color backgroundColor = const Color(0xff47a44b); 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; String get getTitle => title;
@ -35,7 +35,7 @@ class ProgressPage extends StatelessWidget {
const EdgeInsets.symmetric(vertical: 8, horizontal: 16), const EdgeInsets.symmetric(vertical: 8, horizontal: 16),
child: ValueListenableBuilder( child: ValueListenableBuilder(
valueListenable: valueListenable:
StatisticsService.instance.weeklyCaloryRanking, DataService.instance.weeklyCaloryRanking,
builder: (context, value, child) { builder: (context, value, child) {
return Column( return Column(
children: [ children: [

View File

@ -1,9 +1,8 @@
import 'package:fl_chart/fl_chart.dart'; import 'package:fl_chart/fl_chart.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import '../../config/statistics.dart'; import '../../../../../services/statistics.dart';
import '../meal_page_text/secondary_big_text_component.dart'; import '../../../../shared_components/secondary_text.dart';
import '../meal_page_text/secondary_text_component.dart'; import '../../../../shared_components/title.dart';
import '../meal_page_text/title_component.dart';
class ChartComponent extends StatelessWidget { class ChartComponent extends StatelessWidget {
const ChartComponent({Key? key}) : super(key: key); const ChartComponent({Key? key}) : super(key: key);
@ -137,7 +136,7 @@ class ChartComponent extends StatelessWidget {
child: Column( child: Column(
children: [ children: [
ValueListenableBuilder( ValueListenableBuilder(
valueListenable: StatisticsService valueListenable: DataService
.instance.dailyAverageForCurrentWeek, .instance.dailyAverageForCurrentWeek,
builder: (context, value, child) { builder: (context, value, child) {
return SizedBox( return SizedBox(
@ -154,8 +153,16 @@ class ChartComponent extends StatelessWidget {
"Durchschnittlich", "Durchschnittlich",
null null
), ),
SecondaryBigTextComponent( Text(
"${value.toString()} kcal/Tag"), "${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( ValueListenableBuilder(
valueListenable: valueListenable:
StatisticsService.instance.barChartData, DataService.instance.barChartData,
builder: (context, value, child) { builder: (context, value, child) {
return SizedBox( return SizedBox(
height: 300, height: 300,
@ -186,7 +193,7 @@ class ChartComponent extends StatelessWidget {
width: 12, width: 12,
height: 12, height: 12,
decoration: const BoxDecoration( decoration: const BoxDecoration(
color: Colors.red, color: Colors.yellow,
// Use the color of the first bar rod for the legend item // Use the color of the first bar rod for the legend item
shape: BoxShape.circle, shape: BoxShape.circle,
), ),
@ -213,7 +220,7 @@ class ChartComponent extends StatelessWidget {
width: 12, width: 12,
height: 12, height: 12,
decoration: const BoxDecoration( decoration: const BoxDecoration(
color: Colors.green, color: Colors.red,
// Use the color of the first bar rod for the legend item // Use the color of the first bar rod for the legend item
shape: BoxShape.circle, shape: BoxShape.circle,
), ),
@ -240,7 +247,7 @@ class ChartComponent extends StatelessWidget {
width: 12, width: 12,
height: 12, height: 12,
decoration: const BoxDecoration( decoration: const BoxDecoration(
color: Colors.yellow, color: Colors.green,
// Use the color of the first bar rod for the legend item // Use the color of the first bar rod for the legend item
shape: BoxShape.circle, shape: BoxShape.circle,
), ),
@ -275,7 +282,7 @@ class ChartComponent extends StatelessWidget {
extraLinesData: ExtraLinesData( extraLinesData: ExtraLinesData(
horizontalLines: [ horizontalLines: [
HorizontalLine( 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 color: Colors.black, // Change the color as per your requirement
strokeWidth: 2, // Adjust the width as needed strokeWidth: 2, // Adjust the width as needed
dashArray: [3, 2], dashArray: [3, 2],

View File

@ -2,9 +2,8 @@ import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_dotenv/flutter_dotenv.dart'; import 'package:flutter_dotenv/flutter_dotenv.dart';
import 'package:hive_flutter/adapters.dart'; import 'package:hive_flutter/adapters.dart';
import '../../../../../services/statistics.dart';
import '../config/statistics.dart'; import 'today_card/today_card.dart';
import 'card/card_component.dart';
class MealsComponent extends StatelessWidget { class MealsComponent extends StatelessWidget {
MealsComponent({Key? key}) : super(key: key); MealsComponent({Key? key}) : super(key: key);
@ -13,7 +12,7 @@ class MealsComponent extends StatelessWidget {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return ValueListenableBuilder( return ValueListenableBuilder(
valueListenable: Hive.box(dotenv.env['MEALPLAN_BOX'] ?? 'MEALPLAN').listenable(), valueListenable: Hive.box(dotenv.env['TODAY_BOX'] ?? 'TODAY').listenable(),
builder: (context, box, widget) { builder: (context, box, widget) {
final mealTypes = ['FRÜHSTÜCK','MITTAGESSEN','ABENDESSEN']; // Specify the desired order of meal types final mealTypes = ['FRÜHSTÜCK','MITTAGESSEN','ABENDESSEN']; // Specify the desired order of meal types
return ListView.builder( return ListView.builder(
@ -22,9 +21,9 @@ class MealsComponent extends StatelessWidget {
itemCount: box.keys.length, itemCount: box.keys.length,
itemBuilder: (context, i) { itemBuilder: (context, i) {
String mealTypeAsString = mealTypes[i]; String mealTypeAsString = mealTypes[i];
return CardComponent( return TodayCardComponent(
mealTypeAsString, mealTypeAsString,
StatisticsService.instance.getMealsOfTodayByMealtype(mealTypeAsString), DataService.instance.getMealsOfTodayByMealtype(mealTypeAsString),
color: colors[i], 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 '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 { class CardDataFoodComponent extends StatelessWidget {
final List<Food> foods; final List<Food> foods;

View File

@ -1,17 +1,17 @@
import 'package:basic_utils/basic_utils.dart'; import 'package:basic_utils/basic_utils.dart';
import 'package:ernaehrung/android/components/card/card_data_food_component.dart'; import 'package:ernaehrung/pages/nav_pages/subpages/today_page/sub_components/today_card/sub_components/card_data_food.dart';
import 'package:ernaehrung/android/components/card/card_title_component.dart'; import 'package:ernaehrung/pages/nav_pages/subpages/today_page/sub_components/today_card/sub_components/card_title.dart';
import 'package:ernaehrung/android/config/cast_helper.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import '../../models/food.dart'; import '../../../../../../helper/cast_helper.dart';
import '../../pages/nav_pages/search_food.dart'; import '../../../../../../models/food.dart';
import '../../../../../search_food/search_food.dart';
class CardComponent extends StatelessWidget { class TodayCardComponent extends StatelessWidget {
final String title; final String title;
final Color color; final Color color;
final List<Food> foods; 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; : color = color ?? Colors.black;
Route createRoute(String cardName) { 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'; import 'package:flutter/material.dart';
class TodayPage extends StatefulWidget { class TodayPage extends StatefulWidget {
final String title; final String title;
final Color backgroundColor = const Color(0xff47a44b); 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 'package:flutter/material.dart';
import '../../components/search_component.dart';
import '../../models/food.dart'; import '../../models/food.dart';
import '../../models/food_dto.dart'; import '../../models/food_dto.dart';

View File

@ -1,7 +1,7 @@
import 'package:empty_widget/empty_widget.dart'; import 'package:empty_widget/empty_widget.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import '../models/food.dart'; import '../../../models/food.dart';
import 'founded_search_component.dart'; import 'searched_food.dart';
class SearchComponent extends StatefulWidget { class SearchComponent extends StatefulWidget {
final List<Food> foods; final List<Food> foods;
@ -72,20 +72,5 @@ class _SearchComponentState extends State<SearchComponent> {
foundedFood; 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:assorted_layout_widgets/assorted_layout_widgets.dart';
import 'package:basic_utils/basic_utils.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/material.dart';
import 'package:flutter_dotenv/flutter_dotenv.dart'; import 'package:flutter_dotenv/flutter_dotenv.dart';
import 'package:fluttertoast/fluttertoast.dart'; import 'package:fluttertoast/fluttertoast.dart';
import 'package:hive/hive.dart'; import 'package:hive/hive.dart';
import '../config/format_helper.dart'; import '../../../helper/cast_helper.dart';
import '../models/food.dart'; import '../../../helper/format_helper.dart';
import '../../../models/food.dart';
import '../../../services/statistics.dart';
class SearchedFoodComponent extends StatefulWidget { class SearchedFoodComponent extends StatefulWidget {
final Food food; final Food food;
@ -21,13 +21,13 @@ class SearchedFoodComponent extends StatefulWidget {
class _SearchFoodComponentState extends State<SearchedFoodComponent> { class _SearchFoodComponentState extends State<SearchedFoodComponent> {
int counter = 1; int counter = 1;
void storeFood(int counter, BuildContext context) async { void storeFood(int counter, BuildContext context) async {
final mealplanBox = Hive.box(dotenv.env['MEALPLAN_BOX']!); final todayBox = Hive.box(dotenv.env['TODAY_BOX']!);
if (!mealplanBox.isOpen){ if (!todayBox.isOpen){
Hive.openBox(dotenv.env['MEALPLAN_BOX']!); Hive.openBox(dotenv.env['TODAY_BOX']!);
} }
for(int i = 0; i < counter; i++){ for(int i = 0; i < counter; i++){
StatisticsService.instance.addItemToMainBox(widget.food, widget.cardName); DataService.instance.addItemToMainBox(widget.food, widget.cardName);
addValuesToList(mealplanBox, widget.cardName, [widget.food]); addValuesToList(todayBox, widget.cardName, [widget.food]);
} }
showSuccessToast(context); 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/cupertino.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_dotenv/flutter_dotenv.dart';
import 'package:flutter_form_builder/flutter_form_builder.dart'; import 'package:flutter_form_builder/flutter_form_builder.dart';
import 'package:hive/hive.dart'; import 'package:hive/hive.dart';
import '../../models/form_builder.dart'; import '../../models/form_builder.dart';
import '../../models/user.dart'; import '../../models/user.dart';
import 'form_builder_text_field.dart';
class FormBuilderComponent extends StatefulWidget { class FormBuilderComponent extends StatefulWidget {
final bool lockTextFields; final bool lockTextFields;
@ -117,7 +118,7 @@ class _FormBuilderComponentState extends State<FormBuilderComponent> {
shape: const StadiumBorder(), shape: const StadiumBorder(),
), ),
onPressed: () { onPressed: () {
final Box box = Hive.box<User>("USER_BOX"); final Box box = Hive.box<User>(dotenv.env['USER_BOX'] ?? 'USER');
if (widget.lockTextFields) { if (widget.lockTextFields) {
box.put( box.put(

View File

@ -1,10 +1,11 @@
import 'package:basic_utils/basic_utils.dart'; 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/material.dart';
import 'package:flutter_dotenv/flutter_dotenv.dart';
import 'package:flutter_form_builder/flutter_form_builder.dart'; import 'package:flutter_form_builder/flutter_form_builder.dart';
import 'package:form_builder_validators/form_builder_validators.dart'; import 'package:form_builder_validators/form_builder_validators.dart';
import 'package:hive/hive.dart'; import 'package:hive/hive.dart';
import '../../models/form_builder.dart';
import '../../models/user.dart';
class FormBuilderTextFieldComponent extends StatefulWidget { class FormBuilderTextFieldComponent extends StatefulWidget {
final bool isSettingsPage; final bool isSettingsPage;
@ -65,7 +66,7 @@ class TextFieldChild extends StatelessWidget {
dynamic getInitialValue(FormTextField textField){ 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"){ if (textField.title == "vorname"){
return user.vorname; return user.vorname;
}else if (textField.title == "nachname"){ }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 'package:flutter/material.dart';
import '../shared_components/form_builder.dart';
class OnboardingPage extends StatefulWidget { class OnboardingPage extends StatefulWidget {
const OnboardingPage({Key? key}) : super(key: key); const OnboardingPage({Key? key}) : super(key: key);

View File

@ -1,7 +1,7 @@
import 'package:flutter/cupertino.dart'; import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import '../shared_components/form_builder.dart';
import '../components/form/form_builder.dart';
class SettingsPage extends StatefulWidget { class SettingsPage extends StatefulWidget {
const SettingsPage({Key? key}) : super(key: key); const SettingsPage({Key? key}) : super(key: key);

View File

@ -1,27 +1,28 @@
import 'dart:math'; 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:fl_chart/fl_chart.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_dotenv/flutter_dotenv.dart'; import 'package:flutter_dotenv/flutter_dotenv.dart';
import 'package:hive/hive.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/food.dart';
import '../models/user.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(); static final DataService _instance = DataService._internal();
factory StatisticsService() => _instance; factory DataService() => _instance;
static StatisticsService get instance => _instance; static DataService get instance => _instance;
StatisticsService._internal() { DataService._internal() {
//initBoxes(); // 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 progressBoxName = dotenv.env['PROGRESS_BOX'] ?? 'PROGRESS_BOX';
String mainStatisticsBoxName = dotenv.env['STATISTICS_MAIN_BOX'] ?? 'STATISTICS_MAIN_BOX'; String mainBoxName = dotenv.env['MAIN_BOX'] ?? 'MAIN_BOX';
String progressStatisticsBoxName = dotenv.env['STATISTICS_PROGRESS_BOX'] ?? 'STATISTICS_PROGRESS_BOX'; String statisticsBoxName = dotenv.env['STATISTICS_BOX'] ?? 'STATISTICS_BOX';
ValueNotifier<int> eatenCalories = ValueNotifier<int>(0); ValueNotifier<int> eatenCalories = ValueNotifier<int>(0);
/* /*
@ -39,8 +40,8 @@ class StatisticsService {
ValueNotifier<List<BarChartGroupData>> barChartData = ValueNotifier<List<BarChartGroupData>>([]); ValueNotifier<List<BarChartGroupData>> barChartData = ValueNotifier<List<BarChartGroupData>>([]);
initBoxes()async{ initBoxes()async{
Box reducedBox = Hive.box(todayStatisticsBoxName); Box reducedBox = Hive.box(progressBoxName);
Box progressBox = Hive.box(progressStatisticsBoxName); Box progressBox = Hive.box(statisticsBoxName);
putIfKeyNotExists([reducedBox,progressBox], 'FRÜHSTÜCK', []); putIfKeyNotExists([reducedBox,progressBox], 'FRÜHSTÜCK', []);
putIfKeyNotExists([reducedBox,progressBox], 'MITTAGESSEN', []); putIfKeyNotExists([reducedBox,progressBox], 'MITTAGESSEN', []);
@ -57,24 +58,24 @@ class StatisticsService {
} }
updateStatisticsTodayBoxByTimespan(TimeSpan timespan){ updateStatisticsTodayBoxByTimespan(TimeSpan timespan){
clearBoxByBox(Hive.box(todayStatisticsBoxName)); clearBoxByBox(Hive.box(progressBoxName));
int timestamp = getTimestampFromNow(); int timestamp = getTimestampFromNow();
int dayLen = 1; int dayLen = 1;
switch(timespan){ switch(timespan){
case TimeSpan.day: case TimeSpan.day:
getNewFoodAndUpdateBoxByTimestampAndBox(timestamp, Hive.box(todayStatisticsBoxName)); getNewFoodAndUpdateBoxByTimestampAndBox(timestamp, Hive.box(progressBoxName));
break; break;
case TimeSpan.week: case TimeSpan.week:
List<int> currentWeek = getTimestampsByTimestampAndTimespan(TimeSpan.week,timestamp); List<int> currentWeek = getTimestampsByTimestampAndTimespan(TimeSpan.week,timestamp);
for(int i = 0;i < currentWeek.length;i++){ for(int i = 0;i < currentWeek.length;i++){
getNewFoodAndUpdateBoxByTimestampAndBox(currentWeek[i],Hive.box(todayStatisticsBoxName)); getNewFoodAndUpdateBoxByTimestampAndBox(currentWeek[i],Hive.box(progressBoxName));
} }
dayLen = currentWeek.length; dayLen = currentWeek.length;
break; break;
case TimeSpan.month: case TimeSpan.month:
List<int> currentMonth = getTimestampsByTimestampAndTimespan(TimeSpan.month,timestamp); List<int> currentMonth = getTimestampsByTimestampAndTimespan(TimeSpan.month,timestamp);
for(int i = 0;i < currentMonth.length;i++){ for(int i = 0;i < currentMonth.length;i++){
getNewFoodAndUpdateBoxByTimestampAndBox(currentMonth[i],Hive.box(todayStatisticsBoxName)); getNewFoodAndUpdateBoxByTimestampAndBox(currentMonth[i],Hive.box(progressBoxName));
} }
dayLen = currentMonth.length; dayLen = currentMonth.length;
break; break;
@ -83,7 +84,7 @@ class StatisticsService {
} }
void updateCalculationsAndNotfiyListenersForPorgressStatistics(int dayLen){ void updateCalculationsAndNotfiyListenersForPorgressStatistics(int dayLen){
eatenCalories.value = getAllEatenCaloriesByBox(Hive.box(todayStatisticsBoxName)); eatenCalories.value = getAllEatenCaloriesByBox(Hive.box(progressBoxName));
ingredients.value = getAllEatenIngredientsForTodayStatistics(dayLen.roundToDouble()); ingredients.value = getAllEatenIngredientsForTodayStatistics(dayLen.roundToDouble());
} }
@ -143,7 +144,7 @@ class StatisticsService {
} }
Map<String,List<Food>> getFoodMapForGivenTimestampFromMainBox(int timestamp){ Map<String,List<Food>> getFoodMapForGivenTimestampFromMainBox(int timestamp){
Box box = Hive.box(mainStatisticsBoxName); Box box = Hive.box(mainBoxName);
dynamic matchingTimestamp = getMatchingTimestamp(box, timestamp); dynamic matchingTimestamp = getMatchingTimestamp(box, timestamp);
if(matchingTimestamp != null){ if(matchingTimestamp != null){
return castDynamicMap(box.get(matchingTimestamp)); return castDynamicMap(box.get(matchingTimestamp));
@ -185,7 +186,7 @@ class StatisticsService {
addItemToMainBox(Food value, String mealType){ addItemToMainBox(Food value, String mealType){
// Hive.deleteFromDisk(); // Hive.deleteFromDisk();
Box box = Hive.box(mainStatisticsBoxName); Box box = Hive.box(mainBoxName);
DateTime dateTime = DateTime.now(); DateTime dateTime = DateTime.now();
// DEBUG // DEBUG
@ -230,13 +231,13 @@ class StatisticsService {
} }
double getCaloryTargetForOneDay(){ 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(); return userBox.get("USER").kalorien.toDouble();
} }
List<double> getAllEatenIngredientsForTodayStatistics(double dayLen){ List<double> getAllEatenIngredientsForTodayStatistics(double dayLen){
Box box = Hive.box(todayStatisticsBoxName); Box box = Hive.box(progressBoxName);
final Box userBox = Hive.box<User>("USER_BOX"); final Box userBox = Hive.box<User>(dotenv.env['USER_BOX'] ?? 'USER');
final calorieSummary = userBox.get("USER").kalorien; final calorieSummary = userBox.get("USER").kalorien;
const double fatPercentPerThousandCalorie = 3.7; const double fatPercentPerThousandCalorie = 3.7;
@ -276,7 +277,7 @@ class StatisticsService {
} }
void updateProgressBoxValues(){ void updateProgressBoxValues(){
Box box = Hive.box(progressStatisticsBoxName); Box box = Hive.box(statisticsBoxName);
box.clear(); box.clear();
int timestamp = getTimestampFromNow(); int timestamp = getTimestampFromNow();
List<int> currentWeek = getTimestampsByTimestampAndTimespan(TimeSpan.week,timestamp); List<int> currentWeek = getTimestampsByTimestampAndTimespan(TimeSpan.week,timestamp);
@ -287,7 +288,7 @@ class StatisticsService {
} }
int getAverageCaloriesForCurrentWeekOnDailyBasis(){ int getAverageCaloriesForCurrentWeekOnDailyBasis(){
Box box = Hive.box(progressStatisticsBoxName); Box box = Hive.box(statisticsBoxName);
return getAllEatenCaloriesByBox(box)~/7; return getAllEatenCaloriesByBox(box)~/7;
} }

View File

@ -83,9 +83,6 @@ flutter:
assets: assets:
- assets/json/csvjson_full.json - assets/json/csvjson_full.json
- assets/json/csvjson_minified.json - assets/json/csvjson_minified.json
- assets/images/fries.png
- assets/images/ice.png
- assets/images/tea.png
- .env - .env
# To add assets to your application, add an assets section, like this: # To add assets to your application, add an assets section, like this:
# assets: # assets:

View File

@ -1,16 +1,18 @@
import 'package:ernaehrung/android/components/meal_page_text/days_component.dart'; import 'package:ernaehrung/helper/format_helper.dart';
import 'package:ernaehrung/android/config/format_helper.dart'; import 'package:ernaehrung/models/food.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:ernaehrung/android/models/food.dart'; import 'package:ernaehrung/services/statistics.dart';
import 'package:flutter_dotenv/flutter_dotenv.dart'; import 'package:flutter_dotenv/flutter_dotenv.dart';
import 'package:flutter_test/flutter_test.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 { Future<void> main() async {
await dotenv.load(fileName: ".env"); await dotenv.load(fileName: ".env");
setUp(() async { setUp(() async {
statisticsService = StatisticsService.instance; dataService = DataService.instance;
}); });
tearDown(() async { tearDown(() async {
@ -49,39 +51,39 @@ Future<void> main() async {
} }
test('check if given timestamp returns valid timespan or catches invalid timestamp', () { 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); expect(31, day.length);
List<int> week = statisticsService.getTimestampsByTimestampAndTimespan(TimeSpan.week,getTimestampFromNow()); List<int> week = dataService.getTimestampsByTimestampAndTimespan(TimeSpan.week,getTimestampFromNow());
expect(7, week.length); expect(7, week.length);
List<int> month = statisticsService.getTimestampsByTimestampAndTimespan(TimeSpan.month,getTimestampFromNow()); List<int> month = dataService.getTimestampsByTimestampAndTimespan(TimeSpan.month,getTimestampFromNow());
expect(31, month.length); expect(31, month.length);
List<int> invalidTimestamp = statisticsService.getTimestampsByTimestampAndTimespan(TimeSpan.month,9999999999999); List<int> invalidTimestamp = dataService.getTimestampsByTimestampAndTimespan(TimeSpan.month,9999999999999);
expect(0, invalidTimestamp.length); expect(0, invalidTimestamp.length);
}); });
test('check if dates are returned correctly from timestamp', () { test('check if dates are returned correctly from timestamp', () {
int day = statisticsService.getDayAsIntFromTimestamp(getTimestampFromNow()); int day = dataService.getDayAsIntFromTimestamp(getTimestampFromNow());
expect(DateTime.now().day, day); expect(DateTime.now().day, day);
int month = statisticsService.getMonthAsIntFromTimestamp(getTimestampFromNow()); int month = dataService.getMonthAsIntFromTimestamp(getTimestampFromNow());
expect(DateTime.now().month, month); expect(DateTime.now().month, month);
int year = statisticsService.getYearAsIntFromTimestamp(getTimestampFromNow()); int year = dataService.getYearAsIntFromTimestamp(getTimestampFromNow());
expect(DateTime.now().year, year); expect(DateTime.now().year, year);
}); });
test('check if date comparison is right', () { test('check if date comparison is right', () {
int today = getTimestampFromNow(); int today = getTimestampFromNow();
expect(true,statisticsService.isDateEqual(today, today)); expect(true,dataService.isDateEqual(today, today));
int other = getTimeStampForDateTime(DateTime.utc(2010)); int other = getTimeStampForDateTime(DateTime.utc(2010));
expect(false,statisticsService.isDateEqual(today, other)); expect(false,dataService.isDateEqual(today, other));
expect(false,statisticsService.isDateEqual(9999999999999, today)); expect(false,dataService.isDateEqual(9999999999999, today));
expect(false,statisticsService.isDateEqual(other, 9999999999999)); expect(false,dataService.isDateEqual(other, 9999999999999));
expect(false,statisticsService.isDateEqual(other, -1)); expect(false,dataService.isDateEqual(other, -1));
expect(false,statisticsService.isDateEqual(other, 0)); expect(false,dataService.isDateEqual(other, 0));
}); });
test('check if calories are summed up correctly for given food list',() { test('check if calories are summed up correctly for given food list',() {
expect(1500, statisticsService.getSumOfCaloriesByFoodList(getFoodListValid())); expect(1500, dataService.getSumOfCaloriesByFoodList(getFoodListValid()));
expect(() => statisticsService.getSumOfCaloriesByFoodList(getInvalidFoodList()),throwsException); expect(() => dataService.getSumOfCaloriesByFoodList(getInvalidFoodList()),throwsException);
}); });
test('check if format helper are working right',() { test('check if format helper are working right',() {