diff --git a/flutter/.dart_tool/package_config.json b/flutter/.dart_tool/package_config.json index 1cab25e..3d4a334 100644 --- a/flutter/.dart_tool/package_config.json +++ b/flutter/.dart_tool/package_config.json @@ -1 +1,410 @@ -{"configVersion":2,"packages":[{"name":"async","rootUri":"file:///C:/flutter/.pub-cache/hosted/pub.dartlang.org/async-2.9.0","packageUri":"lib/","languageVersion":"2.14"},{"name":"boolean_selector","rootUri":"file:///C:/flutter/.pub-cache/hosted/pub.dartlang.org/boolean_selector-2.1.0","packageUri":"lib/","languageVersion":"2.12"},{"name":"characters","rootUri":"file:///C:/flutter/.pub-cache/hosted/pub.dartlang.org/characters-1.2.1","packageUri":"lib/","languageVersion":"2.12"},{"name":"clock","rootUri":"file:///C:/flutter/.pub-cache/hosted/pub.dartlang.org/clock-1.1.1","packageUri":"lib/","languageVersion":"2.12"},{"name":"collection","rootUri":"file:///C:/flutter/.pub-cache/hosted/pub.dartlang.org/collection-1.16.0","packageUri":"lib/","languageVersion":"2.12"},{"name":"cupertino_icons","rootUri":"file:///C:/flutter/.pub-cache/hosted/pub.dartlang.org/cupertino_icons-1.0.5","packageUri":"lib/","languageVersion":"2.12"},{"name":"fake_async","rootUri":"file:///C:/flutter/.pub-cache/hosted/pub.dartlang.org/fake_async-1.3.1","packageUri":"lib/","languageVersion":"2.12"},{"name":"flutter","rootUri":"file:///C:/flutter/packages/flutter","packageUri":"lib/","languageVersion":"2.17"},{"name":"flutter_lints","rootUri":"file:///C:/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_lints-2.0.1","packageUri":"lib/","languageVersion":"2.17"},{"name":"flutter_test","rootUri":"file:///C:/flutter/packages/flutter_test","packageUri":"lib/","languageVersion":"2.17"},{"name":"lints","rootUri":"file:///C:/flutter/.pub-cache/hosted/pub.dartlang.org/lints-2.0.0","packageUri":"lib/","languageVersion":"2.17"},{"name":"matcher","rootUri":"file:///C:/flutter/.pub-cache/hosted/pub.dartlang.org/matcher-0.12.12","packageUri":"lib/","languageVersion":"2.12"},{"name":"material_color_utilities","rootUri":"file:///C:/flutter/.pub-cache/hosted/pub.dartlang.org/material_color_utilities-0.1.5","packageUri":"lib/","languageVersion":"2.13"},{"name":"meta","rootUri":"file:///C:/flutter/.pub-cache/hosted/pub.dartlang.org/meta-1.8.0","packageUri":"lib/","languageVersion":"2.12"},{"name":"path","rootUri":"file:///C:/flutter/.pub-cache/hosted/pub.dartlang.org/path-1.8.2","packageUri":"lib/","languageVersion":"2.12"},{"name":"sky_engine","rootUri":"file:///C:/flutter/bin/cache/pkg/sky_engine","packageUri":"lib/","languageVersion":"2.12"},{"name":"source_span","rootUri":"file:///C:/flutter/.pub-cache/hosted/pub.dartlang.org/source_span-1.9.0","packageUri":"lib/","languageVersion":"2.14"},{"name":"stack_trace","rootUri":"file:///C:/flutter/.pub-cache/hosted/pub.dartlang.org/stack_trace-1.10.0","packageUri":"lib/","languageVersion":"2.12"},{"name":"stream_channel","rootUri":"file:///C:/flutter/.pub-cache/hosted/pub.dartlang.org/stream_channel-2.1.0","packageUri":"lib/","languageVersion":"2.12"},{"name":"string_scanner","rootUri":"file:///C:/flutter/.pub-cache/hosted/pub.dartlang.org/string_scanner-1.1.1","packageUri":"lib/","languageVersion":"2.12"},{"name":"term_glyph","rootUri":"file:///C:/flutter/.pub-cache/hosted/pub.dartlang.org/term_glyph-1.2.1","packageUri":"lib/","languageVersion":"2.12"},{"name":"test_api","rootUri":"file:///C:/flutter/.pub-cache/hosted/pub.dartlang.org/test_api-0.4.12","packageUri":"lib/","languageVersion":"2.12"},{"name":"vector_math","rootUri":"file:///C:/flutter/.pub-cache/hosted/pub.dartlang.org/vector_math-2.1.2","packageUri":"lib/","languageVersion":"2.14"},{"name":"command_flutter","rootUri":"../","packageUri":"lib/","languageVersion":"2.18"},{"name":"flutter_gen","rootUri":"flutter_gen","languageVersion":"2.12"}],"generated":"2022-10-16T13:51:26.147136Z","generator":"pub","generatorVersion":"2.18.2"} \ No newline at end of file +{ + "configVersion": 2, + "packages": [ + { + "name": "_flutterfire_internals", + "rootUri": "file:///home/foward01/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/_flutterfire_internals-1.0.5", + "packageUri": "lib/", + "languageVersion": "2.16" + }, + { + "name": "async", + "rootUri": "file:///home/foward01/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/async-2.9.0", + "packageUri": "lib/", + "languageVersion": "2.14" + }, + { + "name": "boolean_selector", + "rootUri": "file:///home/foward01/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/boolean_selector-2.1.0", + "packageUri": "lib/", + "languageVersion": "2.12" + }, + { + "name": "cached_network_image", + "rootUri": "file:///home/foward01/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/cached_network_image-3.2.2", + "packageUri": "lib/", + "languageVersion": "2.18" + }, + { + "name": "cached_network_image_platform_interface", + "rootUri": "file:///home/foward01/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/cached_network_image_platform_interface-2.0.0", + "packageUri": "lib/", + "languageVersion": "2.18" + }, + { + "name": "cached_network_image_web", + "rootUri": "file:///home/foward01/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/cached_network_image_web-1.0.2", + "packageUri": "lib/", + "languageVersion": "2.18" + }, + { + "name": "characters", + "rootUri": "file:///home/foward01/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/characters-1.2.1", + "packageUri": "lib/", + "languageVersion": "2.12" + }, + { + "name": "clock", + "rootUri": "file:///home/foward01/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/clock-1.1.1", + "packageUri": "lib/", + "languageVersion": "2.12" + }, + { + "name": "cloud_firestore", + "rootUri": "file:///home/foward01/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/cloud_firestore-4.0.2", + "packageUri": "lib/", + "languageVersion": "2.16" + }, + { + "name": "cloud_firestore_platform_interface", + "rootUri": "file:///home/foward01/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/cloud_firestore_platform_interface-5.8.2", + "packageUri": "lib/", + "languageVersion": "2.16" + }, + { + "name": "cloud_firestore_web", + "rootUri": "file:///home/foward01/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/cloud_firestore_web-3.0.2", + "packageUri": "lib/", + "languageVersion": "2.16" + }, + { + "name": "collection", + "rootUri": "file:///home/foward01/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/collection-1.16.0", + "packageUri": "lib/", + "languageVersion": "2.12" + }, + { + "name": "crypto", + "rootUri": "file:///home/foward01/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/crypto-3.0.2", + "packageUri": "lib/", + "languageVersion": "2.14" + }, + { + "name": "cupertino_icons", + "rootUri": "file:///home/foward01/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/cupertino_icons-1.0.5", + "packageUri": "lib/", + "languageVersion": "2.12" + }, + { + "name": "fake_async", + "rootUri": "file:///home/foward01/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/fake_async-1.3.1", + "packageUri": "lib/", + "languageVersion": "2.12" + }, + { + "name": "ffi", + "rootUri": "file:///home/foward01/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/ffi-2.0.1", + "packageUri": "lib/", + "languageVersion": "2.17" + }, + { + "name": "file", + "rootUri": "file:///home/foward01/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/file-6.1.4", + "packageUri": "lib/", + "languageVersion": "2.12" + }, + { + "name": "firebase_auth", + "rootUri": "file:///home/foward01/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/firebase_auth-4.0.2", + "packageUri": "lib/", + "languageVersion": "2.16" + }, + { + "name": "firebase_auth_platform_interface", + "rootUri": "file:///home/foward01/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/firebase_auth_platform_interface-6.10.4", + "packageUri": "lib/", + "languageVersion": "2.16" + }, + { + "name": "firebase_auth_web", + "rootUri": "file:///home/foward01/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/firebase_auth_web-5.0.2", + "packageUri": "lib/", + "languageVersion": "2.16" + }, + { + "name": "firebase_core", + "rootUri": "file:///home/foward01/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/firebase_core-2.1.0", + "packageUri": "lib/", + "languageVersion": "2.16" + }, + { + "name": "firebase_core_platform_interface", + "rootUri": "file:///home/foward01/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/firebase_core_platform_interface-4.5.1", + "packageUri": "lib/", + "languageVersion": "2.16" + }, + { + "name": "firebase_core_web", + "rootUri": "file:///home/foward01/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/firebase_core_web-2.0.0", + "packageUri": "lib/", + "languageVersion": "2.16" + }, + { + "name": "flutter", + "rootUri": "file:///home/foward01/snap/flutter/common/flutter/packages/flutter", + "packageUri": "lib/", + "languageVersion": "2.17" + }, + { + "name": "flutter_blurhash", + "rootUri": "file:///home/foward01/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_blurhash-0.7.0", + "packageUri": "lib/", + "languageVersion": "2.15" + }, + { + "name": "flutter_cache_manager", + "rootUri": "file:///home/foward01/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_cache_manager-3.3.0", + "packageUri": "lib/", + "languageVersion": "2.12" + }, + { + "name": "flutter_lints", + "rootUri": "file:///home/foward01/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_lints-2.0.1", + "packageUri": "lib/", + "languageVersion": "2.17" + }, + { + "name": "flutter_test", + "rootUri": "file:///home/foward01/snap/flutter/common/flutter/packages/flutter_test", + "packageUri": "lib/", + "languageVersion": "2.17" + }, + { + "name": "flutter_web_plugins", + "rootUri": "file:///home/foward01/snap/flutter/common/flutter/packages/flutter_web_plugins", + "packageUri": "lib/", + "languageVersion": "2.17" + }, + { + "name": "http", + "rootUri": "file:///home/foward01/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/http-0.13.5", + "packageUri": "lib/", + "languageVersion": "2.14" + }, + { + "name": "http_parser", + "rootUri": "file:///home/foward01/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/http_parser-4.0.2", + "packageUri": "lib/", + "languageVersion": "2.12" + }, + { + "name": "intl", + "rootUri": "file:///home/foward01/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/intl-0.17.0", + "packageUri": "lib/", + "languageVersion": "2.12" + }, + { + "name": "js", + "rootUri": "file:///home/foward01/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/js-0.6.4", + "packageUri": "lib/", + "languageVersion": "2.16" + }, + { + "name": "lints", + "rootUri": "file:///home/foward01/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/lints-2.0.1", + "packageUri": "lib/", + "languageVersion": "2.17" + }, + { + "name": "matcher", + "rootUri": "file:///home/foward01/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/matcher-0.12.12", + "packageUri": "lib/", + "languageVersion": "2.12" + }, + { + "name": "material_color_utilities", + "rootUri": "file:///home/foward01/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/material_color_utilities-0.1.5", + "packageUri": "lib/", + "languageVersion": "2.13" + }, + { + "name": "meta", + "rootUri": "file:///home/foward01/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/meta-1.8.0", + "packageUri": "lib/", + "languageVersion": "2.12" + }, + { + "name": "octo_image", + "rootUri": "file:///home/foward01/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/octo_image-1.0.2", + "packageUri": "lib/", + "languageVersion": "2.12" + }, + { + "name": "path", + "rootUri": "file:///home/foward01/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/path-1.8.2", + "packageUri": "lib/", + "languageVersion": "2.12" + }, + { + "name": "path_provider", + "rootUri": "file:///home/foward01/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider-2.0.11", + "packageUri": "lib/", + "languageVersion": "2.14" + }, + { + "name": "path_provider_android", + "rootUri": "file:///home/foward01/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider_android-2.0.20", + "packageUri": "lib/", + "languageVersion": "2.14" + }, + { + "name": "path_provider_ios", + "rootUri": "file:///home/foward01/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider_ios-2.0.11", + "packageUri": "lib/", + "languageVersion": "2.14" + }, + { + "name": "path_provider_linux", + "rootUri": "file:///home/foward01/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider_linux-2.1.7", + "packageUri": "lib/", + "languageVersion": "2.12" + }, + { + "name": "path_provider_macos", + "rootUri": "file:///home/foward01/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider_macos-2.0.6", + "packageUri": "lib/", + "languageVersion": "2.12" + }, + { + "name": "path_provider_platform_interface", + "rootUri": "file:///home/foward01/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider_platform_interface-2.0.5", + "packageUri": "lib/", + "languageVersion": "2.12" + }, + { + "name": "path_provider_windows", + "rootUri": "file:///home/foward01/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider_windows-2.1.3", + "packageUri": "lib/", + "languageVersion": "2.17" + }, + { + "name": "pedantic", + "rootUri": "file:///home/foward01/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/pedantic-1.11.1", + "packageUri": "lib/", + "languageVersion": "2.12" + }, + { + "name": "platform", + "rootUri": "file:///home/foward01/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/platform-3.1.0", + "packageUri": "lib/", + "languageVersion": "2.12" + }, + { + "name": "plugin_platform_interface", + "rootUri": "file:///home/foward01/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/plugin_platform_interface-2.1.3", + "packageUri": "lib/", + "languageVersion": "2.12" + }, + { + "name": "process", + "rootUri": "file:///home/foward01/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/process-4.2.4", + "packageUri": "lib/", + "languageVersion": "2.14" + }, + { + "name": "rxdart", + "rootUri": "file:///home/foward01/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/rxdart-0.27.5", + "packageUri": "lib/", + "languageVersion": "2.12" + }, + { + "name": "sky_engine", + "rootUri": "file:///home/foward01/snap/flutter/common/flutter/bin/cache/pkg/sky_engine", + "packageUri": "lib/", + "languageVersion": "2.12" + }, + { + "name": "source_span", + "rootUri": "file:///home/foward01/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/source_span-1.9.0", + "packageUri": "lib/", + "languageVersion": "2.14" + }, + { + "name": "sqflite", + "rootUri": "file:///home/foward01/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/sqflite-2.1.0+1", + "packageUri": "lib/", + "languageVersion": "2.18" + }, + { + "name": "sqflite_common", + "rootUri": "file:///home/foward01/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/sqflite_common-2.3.0", + "packageUri": "lib/", + "languageVersion": "2.16" + }, + { + "name": "stack_trace", + "rootUri": "file:///home/foward01/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/stack_trace-1.10.0", + "packageUri": "lib/", + "languageVersion": "2.12" + }, + { + "name": "stream_channel", + "rootUri": "file:///home/foward01/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/stream_channel-2.1.0", + "packageUri": "lib/", + "languageVersion": "2.12" + }, + { + "name": "string_scanner", + "rootUri": "file:///home/foward01/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/string_scanner-1.1.1", + "packageUri": "lib/", + "languageVersion": "2.12" + }, + { + "name": "synchronized", + "rootUri": "file:///home/foward01/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/synchronized-3.0.0+3", + "packageUri": "lib/", + "languageVersion": "2.14" + }, + { + "name": "term_glyph", + "rootUri": "file:///home/foward01/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/term_glyph-1.2.1", + "packageUri": "lib/", + "languageVersion": "2.12" + }, + { + "name": "test_api", + "rootUri": "file:///home/foward01/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/test_api-0.4.12", + "packageUri": "lib/", + "languageVersion": "2.12" + }, + { + "name": "typed_data", + "rootUri": "file:///home/foward01/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/typed_data-1.3.1", + "packageUri": "lib/", + "languageVersion": "2.12" + }, + { + "name": "uuid", + "rootUri": "file:///home/foward01/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/uuid-3.0.6", + "packageUri": "lib/", + "languageVersion": "2.12" + }, + { + "name": "vector_math", + "rootUri": "file:///home/foward01/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/vector_math-2.1.2", + "packageUri": "lib/", + "languageVersion": "2.14" + }, + { + "name": "win32", + "rootUri": "file:///home/foward01/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/win32-3.0.1", + "packageUri": "lib/", + "languageVersion": "2.17" + }, + { + "name": "xdg_directories", + "rootUri": "file:///home/foward01/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/xdg_directories-0.2.0+2", + "packageUri": "lib/", + "languageVersion": "2.12" + }, + { + "name": "command_flutter", + "rootUri": "../", + "packageUri": "lib/", + "languageVersion": "2.18" + } + ], + "generated": "2022-10-28T16:49:32.438672Z", + "generator": "pub", + "generatorVersion": "2.18.2" +} diff --git a/flutter/.dart_tool/package_config_subset b/flutter/.dart_tool/package_config_subset index 16d8b8f..977d0fa 100644 --- a/flutter/.dart_tool/package_config_subset +++ b/flutter/.dart_tool/package_config_subset @@ -1,97 +1,269 @@ command_flutter 2.18 -file:///C:/Users/SCO/Documents/GitHub/CommandProjectForHackathon/flutter/ -file:///C:/Users/SCO/Documents/GitHub/CommandProjectForHackathon/flutter/lib/ +file:///home/foward01/projects/CommandProjectForHackathon-1/flutter/ +file:///home/foward01/projects/CommandProjectForHackathon-1/flutter/lib/ +_flutterfire_internals +2.16 +file:///home/foward01/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/_flutterfire_internals-1.0.5/ +file:///home/foward01/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/_flutterfire_internals-1.0.5/lib/ async 2.14 -file:///C:/flutter/.pub-cache/hosted/pub.dartlang.org/async-2.9.0/ -file:///C:/flutter/.pub-cache/hosted/pub.dartlang.org/async-2.9.0/lib/ +file:///home/foward01/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/async-2.9.0/ +file:///home/foward01/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/async-2.9.0/lib/ boolean_selector 2.12 -file:///C:/flutter/.pub-cache/hosted/pub.dartlang.org/boolean_selector-2.1.0/ -file:///C:/flutter/.pub-cache/hosted/pub.dartlang.org/boolean_selector-2.1.0/lib/ +file:///home/foward01/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/boolean_selector-2.1.0/ +file:///home/foward01/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/boolean_selector-2.1.0/lib/ +cached_network_image +2.18 +file:///home/foward01/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/cached_network_image-3.2.2/ +file:///home/foward01/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/cached_network_image-3.2.2/lib/ +cached_network_image_platform_interface +2.18 +file:///home/foward01/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/cached_network_image_platform_interface-2.0.0/ +file:///home/foward01/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/cached_network_image_platform_interface-2.0.0/lib/ +cached_network_image_web +2.18 +file:///home/foward01/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/cached_network_image_web-1.0.2/ +file:///home/foward01/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/cached_network_image_web-1.0.2/lib/ characters 2.12 -file:///C:/flutter/.pub-cache/hosted/pub.dartlang.org/characters-1.2.1/ -file:///C:/flutter/.pub-cache/hosted/pub.dartlang.org/characters-1.2.1/lib/ +file:///home/foward01/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/characters-1.2.1/ +file:///home/foward01/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/characters-1.2.1/lib/ clock 2.12 -file:///C:/flutter/.pub-cache/hosted/pub.dartlang.org/clock-1.1.1/ -file:///C:/flutter/.pub-cache/hosted/pub.dartlang.org/clock-1.1.1/lib/ +file:///home/foward01/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/clock-1.1.1/ +file:///home/foward01/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/clock-1.1.1/lib/ +cloud_firestore +2.16 +file:///home/foward01/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/cloud_firestore-4.0.2/ +file:///home/foward01/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/cloud_firestore-4.0.2/lib/ +cloud_firestore_platform_interface +2.16 +file:///home/foward01/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/cloud_firestore_platform_interface-5.8.2/ +file:///home/foward01/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/cloud_firestore_platform_interface-5.8.2/lib/ +cloud_firestore_web +2.16 +file:///home/foward01/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/cloud_firestore_web-3.0.2/ +file:///home/foward01/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/cloud_firestore_web-3.0.2/lib/ collection 2.12 -file:///C:/flutter/.pub-cache/hosted/pub.dartlang.org/collection-1.16.0/ -file:///C:/flutter/.pub-cache/hosted/pub.dartlang.org/collection-1.16.0/lib/ +file:///home/foward01/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/collection-1.16.0/ +file:///home/foward01/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/collection-1.16.0/lib/ +crypto +2.14 +file:///home/foward01/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/crypto-3.0.2/ +file:///home/foward01/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/crypto-3.0.2/lib/ cupertino_icons 2.12 -file:///C:/flutter/.pub-cache/hosted/pub.dartlang.org/cupertino_icons-1.0.5/ -file:///C:/flutter/.pub-cache/hosted/pub.dartlang.org/cupertino_icons-1.0.5/lib/ +file:///home/foward01/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/cupertino_icons-1.0.5/ +file:///home/foward01/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/cupertino_icons-1.0.5/lib/ fake_async 2.12 -file:///C:/flutter/.pub-cache/hosted/pub.dartlang.org/fake_async-1.3.1/ -file:///C:/flutter/.pub-cache/hosted/pub.dartlang.org/fake_async-1.3.1/lib/ +file:///home/foward01/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/fake_async-1.3.1/ +file:///home/foward01/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/fake_async-1.3.1/lib/ +ffi +2.17 +file:///home/foward01/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/ffi-2.0.1/ +file:///home/foward01/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/ffi-2.0.1/lib/ +file +2.12 +file:///home/foward01/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/file-6.1.4/ +file:///home/foward01/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/file-6.1.4/lib/ +firebase_auth +2.16 +file:///home/foward01/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/firebase_auth-4.0.2/ +file:///home/foward01/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/firebase_auth-4.0.2/lib/ +firebase_auth_platform_interface +2.16 +file:///home/foward01/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/firebase_auth_platform_interface-6.10.4/ +file:///home/foward01/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/firebase_auth_platform_interface-6.10.4/lib/ +firebase_auth_web +2.16 +file:///home/foward01/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/firebase_auth_web-5.0.2/ +file:///home/foward01/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/firebase_auth_web-5.0.2/lib/ +firebase_core +2.16 +file:///home/foward01/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/firebase_core-2.1.0/ +file:///home/foward01/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/firebase_core-2.1.0/lib/ +firebase_core_platform_interface +2.16 +file:///home/foward01/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/firebase_core_platform_interface-4.5.1/ +file:///home/foward01/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/firebase_core_platform_interface-4.5.1/lib/ +firebase_core_web +2.16 +file:///home/foward01/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/firebase_core_web-2.0.0/ +file:///home/foward01/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/firebase_core_web-2.0.0/lib/ +flutter_blurhash +2.15 +file:///home/foward01/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_blurhash-0.7.0/ +file:///home/foward01/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_blurhash-0.7.0/lib/ +flutter_cache_manager +2.12 +file:///home/foward01/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_cache_manager-3.3.0/ +file:///home/foward01/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_cache_manager-3.3.0/lib/ flutter_lints 2.17 -file:///C:/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_lints-2.0.1/ -file:///C:/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_lints-2.0.1/lib/ +file:///home/foward01/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_lints-2.0.1/ +file:///home/foward01/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_lints-2.0.1/lib/ +http +2.14 +file:///home/foward01/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/http-0.13.5/ +file:///home/foward01/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/http-0.13.5/lib/ +http_parser +2.12 +file:///home/foward01/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/http_parser-4.0.2/ +file:///home/foward01/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/http_parser-4.0.2/lib/ +intl +2.12 +file:///home/foward01/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/intl-0.17.0/ +file:///home/foward01/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/intl-0.17.0/lib/ +js +2.16 +file:///home/foward01/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/js-0.6.4/ +file:///home/foward01/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/js-0.6.4/lib/ lints 2.17 -file:///C:/flutter/.pub-cache/hosted/pub.dartlang.org/lints-2.0.0/ -file:///C:/flutter/.pub-cache/hosted/pub.dartlang.org/lints-2.0.0/lib/ +file:///home/foward01/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/lints-2.0.1/ +file:///home/foward01/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/lints-2.0.1/lib/ matcher 2.12 -file:///C:/flutter/.pub-cache/hosted/pub.dartlang.org/matcher-0.12.12/ -file:///C:/flutter/.pub-cache/hosted/pub.dartlang.org/matcher-0.12.12/lib/ +file:///home/foward01/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/matcher-0.12.12/ +file:///home/foward01/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/matcher-0.12.12/lib/ material_color_utilities 2.13 -file:///C:/flutter/.pub-cache/hosted/pub.dartlang.org/material_color_utilities-0.1.5/ -file:///C:/flutter/.pub-cache/hosted/pub.dartlang.org/material_color_utilities-0.1.5/lib/ +file:///home/foward01/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/material_color_utilities-0.1.5/ +file:///home/foward01/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/material_color_utilities-0.1.5/lib/ meta 2.12 -file:///C:/flutter/.pub-cache/hosted/pub.dartlang.org/meta-1.8.0/ -file:///C:/flutter/.pub-cache/hosted/pub.dartlang.org/meta-1.8.0/lib/ +file:///home/foward01/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/meta-1.8.0/ +file:///home/foward01/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/meta-1.8.0/lib/ +octo_image +2.12 +file:///home/foward01/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/octo_image-1.0.2/ +file:///home/foward01/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/octo_image-1.0.2/lib/ path 2.12 -file:///C:/flutter/.pub-cache/hosted/pub.dartlang.org/path-1.8.2/ -file:///C:/flutter/.pub-cache/hosted/pub.dartlang.org/path-1.8.2/lib/ +file:///home/foward01/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/path-1.8.2/ +file:///home/foward01/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/path-1.8.2/lib/ +path_provider +2.14 +file:///home/foward01/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider-2.0.11/ +file:///home/foward01/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider-2.0.11/lib/ +path_provider_android +2.14 +file:///home/foward01/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider_android-2.0.20/ +file:///home/foward01/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider_android-2.0.20/lib/ +path_provider_ios +2.14 +file:///home/foward01/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider_ios-2.0.11/ +file:///home/foward01/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider_ios-2.0.11/lib/ +path_provider_linux +2.12 +file:///home/foward01/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider_linux-2.1.7/ +file:///home/foward01/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider_linux-2.1.7/lib/ +path_provider_macos +2.12 +file:///home/foward01/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider_macos-2.0.6/ +file:///home/foward01/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider_macos-2.0.6/lib/ +path_provider_platform_interface +2.12 +file:///home/foward01/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider_platform_interface-2.0.5/ +file:///home/foward01/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider_platform_interface-2.0.5/lib/ +path_provider_windows +2.17 +file:///home/foward01/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider_windows-2.1.3/ +file:///home/foward01/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider_windows-2.1.3/lib/ +pedantic +2.12 +file:///home/foward01/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/pedantic-1.11.1/ +file:///home/foward01/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/pedantic-1.11.1/lib/ +platform +2.12 +file:///home/foward01/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/platform-3.1.0/ +file:///home/foward01/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/platform-3.1.0/lib/ +plugin_platform_interface +2.12 +file:///home/foward01/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/plugin_platform_interface-2.1.3/ +file:///home/foward01/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/plugin_platform_interface-2.1.3/lib/ +process +2.14 +file:///home/foward01/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/process-4.2.4/ +file:///home/foward01/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/process-4.2.4/lib/ +rxdart +2.12 +file:///home/foward01/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/rxdart-0.27.5/ +file:///home/foward01/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/rxdart-0.27.5/lib/ source_span 2.14 -file:///C:/flutter/.pub-cache/hosted/pub.dartlang.org/source_span-1.9.0/ -file:///C:/flutter/.pub-cache/hosted/pub.dartlang.org/source_span-1.9.0/lib/ +file:///home/foward01/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/source_span-1.9.0/ +file:///home/foward01/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/source_span-1.9.0/lib/ +sqflite +2.18 +file:///home/foward01/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/sqflite-2.1.0+1/ +file:///home/foward01/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/sqflite-2.1.0+1/lib/ +sqflite_common +2.16 +file:///home/foward01/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/sqflite_common-2.3.0/ +file:///home/foward01/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/sqflite_common-2.3.0/lib/ stack_trace 2.12 -file:///C:/flutter/.pub-cache/hosted/pub.dartlang.org/stack_trace-1.10.0/ -file:///C:/flutter/.pub-cache/hosted/pub.dartlang.org/stack_trace-1.10.0/lib/ +file:///home/foward01/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/stack_trace-1.10.0/ +file:///home/foward01/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/stack_trace-1.10.0/lib/ stream_channel 2.12 -file:///C:/flutter/.pub-cache/hosted/pub.dartlang.org/stream_channel-2.1.0/ -file:///C:/flutter/.pub-cache/hosted/pub.dartlang.org/stream_channel-2.1.0/lib/ +file:///home/foward01/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/stream_channel-2.1.0/ +file:///home/foward01/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/stream_channel-2.1.0/lib/ string_scanner 2.12 -file:///C:/flutter/.pub-cache/hosted/pub.dartlang.org/string_scanner-1.1.1/ -file:///C:/flutter/.pub-cache/hosted/pub.dartlang.org/string_scanner-1.1.1/lib/ +file:///home/foward01/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/string_scanner-1.1.1/ +file:///home/foward01/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/string_scanner-1.1.1/lib/ +synchronized +2.14 +file:///home/foward01/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/synchronized-3.0.0+3/ +file:///home/foward01/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/synchronized-3.0.0+3/lib/ term_glyph 2.12 -file:///C:/flutter/.pub-cache/hosted/pub.dartlang.org/term_glyph-1.2.1/ -file:///C:/flutter/.pub-cache/hosted/pub.dartlang.org/term_glyph-1.2.1/lib/ +file:///home/foward01/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/term_glyph-1.2.1/ +file:///home/foward01/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/term_glyph-1.2.1/lib/ test_api 2.12 -file:///C:/flutter/.pub-cache/hosted/pub.dartlang.org/test_api-0.4.12/ -file:///C:/flutter/.pub-cache/hosted/pub.dartlang.org/test_api-0.4.12/lib/ +file:///home/foward01/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/test_api-0.4.12/ +file:///home/foward01/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/test_api-0.4.12/lib/ +typed_data +2.12 +file:///home/foward01/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/typed_data-1.3.1/ +file:///home/foward01/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/typed_data-1.3.1/lib/ +uuid +2.12 +file:///home/foward01/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/uuid-3.0.6/ +file:///home/foward01/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/uuid-3.0.6/lib/ vector_math 2.14 -file:///C:/flutter/.pub-cache/hosted/pub.dartlang.org/vector_math-2.1.2/ -file:///C:/flutter/.pub-cache/hosted/pub.dartlang.org/vector_math-2.1.2/lib/ +file:///home/foward01/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/vector_math-2.1.2/ +file:///home/foward01/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/vector_math-2.1.2/lib/ +win32 +2.17 +file:///home/foward01/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/win32-3.0.1/ +file:///home/foward01/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/win32-3.0.1/lib/ +xdg_directories +2.12 +file:///home/foward01/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/xdg_directories-0.2.0+2/ +file:///home/foward01/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/xdg_directories-0.2.0+2/lib/ sky_engine 2.12 -file:///C:/flutter/bin/cache/pkg/sky_engine/ -file:///C:/flutter/bin/cache/pkg/sky_engine/lib/ +file:///home/foward01/snap/flutter/common/flutter/bin/cache/pkg/sky_engine/ +file:///home/foward01/snap/flutter/common/flutter/bin/cache/pkg/sky_engine/lib/ flutter 2.17 -file:///C:/flutter/packages/flutter/ -file:///C:/flutter/packages/flutter/lib/ +file:///home/foward01/snap/flutter/common/flutter/packages/flutter/ +file:///home/foward01/snap/flutter/common/flutter/packages/flutter/lib/ flutter_test 2.17 -file:///C:/flutter/packages/flutter_test/ -file:///C:/flutter/packages/flutter_test/lib/ +file:///home/foward01/snap/flutter/common/flutter/packages/flutter_test/ +file:///home/foward01/snap/flutter/common/flutter/packages/flutter_test/lib/ +flutter_web_plugins +2.17 +file:///home/foward01/snap/flutter/common/flutter/packages/flutter_web_plugins/ +file:///home/foward01/snap/flutter/common/flutter/packages/flutter_web_plugins/lib/ 2 diff --git a/flutter/.dart_tool/version b/flutter/.dart_tool/version index 3f09e91..2c6109e 100644 --- a/flutter/.dart_tool/version +++ b/flutter/.dart_tool/version @@ -1 +1 @@ -3.3.3 \ No newline at end of file +3.3.4 \ No newline at end of file diff --git a/flutter/.idea/libraries/Flutter_Plugins.xml b/flutter/.idea/libraries/Flutter_Plugins.xml index b0f6971..602a26d 100644 --- a/flutter/.idea/libraries/Flutter_Plugins.xml +++ b/flutter/.idea/libraries/Flutter_Plugins.xml @@ -1,6 +1,20 @@ - + + + + + + + + + + + + + + + diff --git a/flutter/android/app/build.gradle b/flutter/android/app/build.gradle index b717b8a..14c5324 100644 --- a/flutter/android/app/build.gradle +++ b/flutter/android/app/build.gradle @@ -24,6 +24,12 @@ if (flutterVersionName == null) { apply plugin: 'com.android.application' apply plugin: 'kotlin-android' apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" +apply plugin: 'com.android.application' +apply plugin: 'com.google.gms.google-services' + + // Add the Google services Gradle plugin + + android { compileSdkVersion flutter.compileSdkVersion @@ -47,7 +53,7 @@ android { applicationId "com.example.command_flutter" // You can update the following values to match your application needs. // For more information, see: https://docs.flutter.dev/deployment/android#reviewing-the-build-configuration. - minSdkVersion flutter.minSdkVersion + minSdkVersion 22//flutter.minSdkVersion targetSdkVersion flutter.targetSdkVersion versionCode flutterVersionCode.toInteger() versionName flutterVersionName @@ -68,4 +74,5 @@ flutter { dependencies { implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" + implementation platform('com.google.firebase:firebase-bom:31.0.1') } diff --git a/flutter/android/app/google-services.json b/flutter/android/app/google-services.json new file mode 100644 index 0000000..d426d1e --- /dev/null +++ b/flutter/android/app/google-services.json @@ -0,0 +1,39 @@ +{ + "project_info": { + "project_number": "112117989138", + "project_id": "chat-data-50b33", + "storage_bucket": "chat-data-50b33.appspot.com" + }, + "client": [ + { + "client_info": { + "mobilesdk_app_id": "1:112117989138:android:d4681f95b1087904943dcb", + "android_client_info": { + "package_name": "com.example.command_flutter" + } + }, + "oauth_client": [ + { + "client_id": "112117989138-q73rbh4rre4sgdn80lbh3e3hlbjamg7q.apps.googleusercontent.com", + "client_type": 3 + } + ], + "api_key": [ + { + "current_key": "AIzaSyCVy3vA-6D9dwvwDQb7WzEFCp5ThfoQoRA" + } + ], + "services": { + "appinvite_service": { + "other_platform_oauth_client": [ + { + "client_id": "112117989138-q73rbh4rre4sgdn80lbh3e3hlbjamg7q.apps.googleusercontent.com", + "client_type": 3 + } + ] + } + } + } + ], + "configuration_version": "1" +} \ No newline at end of file diff --git a/flutter/android/app/src/main/java/io/flutter/plugins/GeneratedPluginRegistrant.java b/flutter/android/app/src/main/java/io/flutter/plugins/GeneratedPluginRegistrant.java index 539ab02..6042410 100644 --- a/flutter/android/app/src/main/java/io/flutter/plugins/GeneratedPluginRegistrant.java +++ b/flutter/android/app/src/main/java/io/flutter/plugins/GeneratedPluginRegistrant.java @@ -15,5 +15,30 @@ public final class GeneratedPluginRegistrant { private static final String TAG = "GeneratedPluginRegistrant"; public static void registerWith(@NonNull FlutterEngine flutterEngine) { + try { + flutterEngine.getPlugins().add(new io.flutter.plugins.firebase.firestore.FlutterFirebaseFirestorePlugin()); + } catch(Exception e) { + Log.e(TAG, "Error registering plugin cloud_firestore, io.flutter.plugins.firebase.firestore.FlutterFirebaseFirestorePlugin", e); + } + try { + flutterEngine.getPlugins().add(new io.flutter.plugins.firebase.auth.FlutterFirebaseAuthPlugin()); + } catch(Exception e) { + Log.e(TAG, "Error registering plugin firebase_auth, io.flutter.plugins.firebase.auth.FlutterFirebaseAuthPlugin", e); + } + try { + flutterEngine.getPlugins().add(new io.flutter.plugins.firebase.core.FlutterFirebaseCorePlugin()); + } catch(Exception e) { + Log.e(TAG, "Error registering plugin firebase_core, io.flutter.plugins.firebase.core.FlutterFirebaseCorePlugin", e); + } + try { + flutterEngine.getPlugins().add(new io.flutter.plugins.pathprovider.PathProviderPlugin()); + } catch(Exception e) { + Log.e(TAG, "Error registering plugin path_provider_android, io.flutter.plugins.pathprovider.PathProviderPlugin", e); + } + try { + flutterEngine.getPlugins().add(new com.tekartik.sqflite.SqflitePlugin()); + } catch(Exception e) { + Log.e(TAG, "Error registering plugin sqflite, com.tekartik.sqflite.SqflitePlugin", e); + } } } diff --git a/flutter/android/build.gradle b/flutter/android/build.gradle index 83ae220..99f1e0e 100644 --- a/flutter/android/build.gradle +++ b/flutter/android/build.gradle @@ -8,6 +8,7 @@ buildscript { dependencies { classpath 'com.android.tools.build:gradle:7.1.2' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" + classpath 'com.google.gms:google-services:4.3.13' } } diff --git a/flutter/android/local.properties b/flutter/android/local.properties index b03bce6..ebe5718 100644 --- a/flutter/android/local.properties +++ b/flutter/android/local.properties @@ -1,5 +1,5 @@ -sdk.dir=C:\\Users\\SCO\\AppData\\Local\\Android\\sdk -flutter.sdk=C:\\flutter +sdk.dir=/home/foward01/Android/Sdk +flutter.sdk=/home/foward01/snap/flutter/common/flutter flutter.buildMode=debug flutter.versionName=1.0.0 flutter.versionCode=1 \ No newline at end of file diff --git a/flutter/command_flutter.iml b/flutter/command_flutter.iml index 80ec823..6e7f913 100644 --- a/flutter/command_flutter.iml +++ b/flutter/command_flutter.iml @@ -10,5 +10,6 @@ + \ No newline at end of file diff --git a/flutter/ios/Runner/GeneratedPluginRegistrant.m b/flutter/ios/Runner/GeneratedPluginRegistrant.m index efe65ec..147e90c 100644 --- a/flutter/ios/Runner/GeneratedPluginRegistrant.m +++ b/flutter/ios/Runner/GeneratedPluginRegistrant.m @@ -6,9 +6,44 @@ #import "GeneratedPluginRegistrant.h" +#if __has_include() +#import +#else +@import cloud_firestore; +#endif + +#if __has_include() +#import +#else +@import firebase_auth; +#endif + +#if __has_include() +#import +#else +@import firebase_core; +#endif + +#if __has_include() +#import +#else +@import path_provider_ios; +#endif + +#if __has_include() +#import +#else +@import sqflite; +#endif + @implementation GeneratedPluginRegistrant + (void)registerWithRegistry:(NSObject*)registry { + [FLTFirebaseFirestorePlugin registerWithRegistrar:[registry registrarForPlugin:@"FLTFirebaseFirestorePlugin"]]; + [FLTFirebaseAuthPlugin registerWithRegistrar:[registry registrarForPlugin:@"FLTFirebaseAuthPlugin"]]; + [FLTFirebaseCorePlugin registerWithRegistrar:[registry registrarForPlugin:@"FLTFirebaseCorePlugin"]]; + [FLTPathProviderPlugin registerWithRegistrar:[registry registrarForPlugin:@"FLTPathProviderPlugin"]]; + [SqflitePlugin registerWithRegistrar:[registry registrarForPlugin:@"SqflitePlugin"]]; } @end diff --git a/flutter/ios/Runner/GoogleService-Info.plist b/flutter/ios/Runner/GoogleService-Info.plist new file mode 100644 index 0000000..0a51bd5 --- /dev/null +++ b/flutter/ios/Runner/GoogleService-Info.plist @@ -0,0 +1,34 @@ + + + + + CLIENT_ID + 112117989138-tur0gu6lcpf2bs5k84dho1bvjn99sqhd.apps.googleusercontent.com + REVERSED_CLIENT_ID + com.googleusercontent.apps.112117989138-tur0gu6lcpf2bs5k84dho1bvjn99sqhd + API_KEY + AIzaSyCtTX3FIVSV8ZBMMf4FJg_AGQN5P0-X_1I + GCM_SENDER_ID + 112117989138 + PLIST_VERSION + 1 + BUNDLE_ID + com.example.command + PROJECT_ID + chat-data-50b33 + STORAGE_BUCKET + chat-data-50b33.appspot.com + IS_ADS_ENABLED + + IS_ANALYTICS_ENABLED + + IS_APPINVITE_ENABLED + + IS_GCM_ENABLED + + IS_SIGNIN_ENABLED + + GOOGLE_APP_ID + 1:112117989138:ios:c528a3bdf349d26c943dcb + + \ No newline at end of file diff --git a/flutter/lib/Chats/Chats.dart b/flutter/lib/Chats/Chats.dart new file mode 100644 index 0000000..268c923 --- /dev/null +++ b/flutter/lib/Chats/Chats.dart @@ -0,0 +1,75 @@ +import 'package:command_flutter/Chats/Data/Admin.dart'; +import 'package:command_flutter/Chats/Models/User.dart'; +import 'package:command_flutter/Chats/Pages/ChatPage.dart'; +import 'package:command_flutter/Chats/api/firebase.dart'; +import 'package:flutter/material.dart'; + + +class Chats extends StatefulWidget { + const Chats({super.key}); + + @override + State createState() => _ChatsState(); +} + +class _ChatsState extends State { + @override + Widget build(BuildContext context) { + return Scaffold( + appBar: AppBar( + title: Text("Сообщения"), + actions: [ + IconButton( + onPressed: () { + Navigator.of(context).push( + MaterialPageRoute(builder: (context) { + return Container( + child: Text("В разработке"), + ); //SearchPage(); + }), + ); + }, + icon: Icon(Icons.search), + splashRadius: 20, + ), + ], + ), + body: + StreamBuilder>( + stream: base.readUsers(), + builder: (context, snapshot) { + final users = snapshot.data!; + return ListView( + children: users.map(buildUser).toList(), + ); + }), + ); + } + + Widget buildUser(User user) { + return ListTile( + leading: CircleAvatar( + radius: 20.0, + backgroundImage: NetworkImage(user.urlAvatar), + ), + title: Text(user.name), + subtitle: Text(user.description), + onTap: () { + Navigator.of(context).push(MaterialPageRoute( + builder: (context) => ChatPage( + currentUserId: myId, + friendId: user.idUser!, + friendName: user.name, + friendDescription: user.name, + friendImage: user.urlAvatar))); + }, + ); + } + + Widget buildText(String text) => Center( + child: Text( + text, + style: TextStyle(fontSize: 24, color: Colors.white), + ), + ); +} diff --git a/flutter/lib/Chats/Data/Admin.dart b/flutter/lib/Chats/Data/Admin.dart new file mode 100644 index 0000000..00ec5bf --- /dev/null +++ b/flutter/lib/Chats/Data/Admin.dart @@ -0,0 +1,4 @@ +String myId = 'b9YFGIpJjzGpJftfLnS6'; +String myUsername = 'user1'; +String myDecription = 'citizen'; +String myUrlAvatar = 'https://avatars.mds.yandex.net/i?id=e3f19061fc32953419cea5c5a238f86c_l-5309503-images-thumbs&n=13'; \ No newline at end of file diff --git a/flutter/lib/Chats/Data/users.dart b/flutter/lib/Chats/Data/users.dart new file mode 100644 index 0000000..c287312 --- /dev/null +++ b/flutter/lib/Chats/Data/users.dart @@ -0,0 +1,36 @@ +import 'package:cloud_firestore/cloud_firestore.dart'; + +import '../Models/User.dart'; + + + List users = [ + User( + name: 'user1', + description: 'citizen', + urlAvatar: + 'https://avatars.mds.yandex.net/i?id=e3f19061fc32953419cea5c5a238f86c_l-5309503-images-thumbs&n=13', + lastMessageTime: Timestamp.now(), + ), + User( + name: 'user2', + description: 'citizen', + urlAvatar: + 'https://avatars.mds.yandex.net/i?id=e3f19061fc32953419cea5c5a238f86c_l-5309503-images-thumbs&n=13', + lastMessageTime: Timestamp.now(), + ), + User( + name: 'user3', + description: 'citizen', + urlAvatar: + 'https://avatars.mds.yandex.net/i?id=e3f19061fc32953419cea5c5a238f86c_l-5309503-images-thumbs&n=13', + lastMessageTime: Timestamp.now(), + ), + User( + name: 'user4', + description: 'citizen', + urlAvatar: + 'https://avatars.mds.yandex.net/i?id=e3f19061fc32953419cea5c5a238f86c_l-5309503-images-thumbs&n=13', + lastMessageTime: Timestamp.now(), + ), + ]; + diff --git a/flutter/lib/Chats/Models/ModelPerson.dart b/flutter/lib/Chats/Models/ModelPerson.dart new file mode 100644 index 0000000..bc01800 --- /dev/null +++ b/flutter/lib/Chats/Models/ModelPerson.dart @@ -0,0 +1,9 @@ +// class Person { +// String Name; +// String Description; + +// Person({ +// required this.Name, +// required this.Description +// }); +// } diff --git a/flutter/lib/Chats/Models/User.dart b/flutter/lib/Chats/Models/User.dart new file mode 100644 index 0000000..96c2fd2 --- /dev/null +++ b/flutter/lib/Chats/Models/User.dart @@ -0,0 +1,53 @@ +import 'package:cloud_firestore/cloud_firestore.dart'; +import 'package:meta/meta.dart'; + +class UserField { + static final String lastMessageTime = 'lastMessageTime'; +} + +class User { + final String? idUser; + final String name; + final String urlAvatar; + final String description; + final Timestamp lastMessageTime; + + const User({ + this.idUser, + required this.name, + required this.urlAvatar, + required this.description, + required this.lastMessageTime, + }); + User copyWith({ + String? idUser, + String? name, + String? urlAvatar, + String? description, + Timestamp? lastMessageTime, + }) => + User( + idUser: idUser ?? this.idUser, + name: name ?? this.name, + urlAvatar: urlAvatar ?? this.urlAvatar, + description: description ?? this.description, + lastMessageTime: lastMessageTime ?? this.lastMessageTime, + ); + + Map toJson() => { + 'idUser': idUser, + 'name': name, + 'description': description, + 'urlAvatar': urlAvatar, + 'lastMessageTime': lastMessageTime, + }; + + static User fromJson(Map json) => + User( + idUser: json['idUser'], + name: json['name'], + description: json['description'], + urlAvatar: json['urlAvatar'], + lastMessageTime: json['lastMessageTime'], + ); +} diff --git a/flutter/lib/Chats/Models/message.dart b/flutter/lib/Chats/Models/message.dart new file mode 100644 index 0000000..158efb6 --- /dev/null +++ b/flutter/lib/Chats/Models/message.dart @@ -0,0 +1,34 @@ +class MessageField { + static final String createdAt = 'createdAt'; +} + +class Message{ + String idUser; + String username; + String urlAvatar; + String message; + DateTime createdAt; + + Message({ + required this.idUser, + required this.urlAvatar, + required this.username, + required this.message, + required this.createdAt, + }); + static Message fromJson(Map json) => Message( + idUser: json['idUser'], + urlAvatar: json['urlAvatar'], + username: json['username'], + message: json['message'], + createdAt: json['createdAt'], + ); + + Map toJson() => { + 'idUser': idUser, + 'urlAvatar': urlAvatar, + 'username': username, + 'message': message, + 'createdAt': createdAt, + }; +} \ No newline at end of file diff --git a/flutter/lib/Chats/Pages/ChatPage.dart b/flutter/lib/Chats/Pages/ChatPage.dart new file mode 100644 index 0000000..547162a --- /dev/null +++ b/flutter/lib/Chats/Pages/ChatPage.dart @@ -0,0 +1,177 @@ +import 'package:cloud_firestore/cloud_firestore.dart'; +import 'package:command_flutter/Chats/Data/Admin.dart'; +import 'package:command_flutter/Chats/Widgets/single_message.dart'; +import 'package:flutter/material.dart'; + +class ChatPage extends StatelessWidget { + final String currentUserId; + final String friendId; + final String friendName; + final String friendDescription; + final String friendImage; + + ChatPage({ + required this.currentUserId, + required this.friendId, + required this.friendName, + required this.friendDescription, + required this.friendImage, + }); + + @override + Widget build(BuildContext context) { + return Scaffold( + appBar: AppBar( + title: ListTile( + leading: CircleAvatar( + radius: 20.0, + backgroundImage: NetworkImage(friendImage), + ), + title: Text(friendName), + subtitle: Text(friendDescription), + ), + ), + body: Column( + children: [ + Expanded( + child: Container( + padding: EdgeInsets.all(10), + decoration: BoxDecoration( + color: Colors.white, + borderRadius: BorderRadius.only( + topLeft: Radius.circular(25), + topRight: Radius.circular(25))), + child: StreamBuilder( + stream: FirebaseFirestore.instance + .collection("users") + .doc(currentUserId) + .collection('messages') + .doc(friendId) + .collection('chats') + .orderBy("date", descending: true) + .snapshots(), + builder: (context, AsyncSnapshot snapshot) { + if (snapshot.hasData) { + if (snapshot.data.docs.length < 1) { + return Center( + child: Text("Say Hi"), + ); + } + return ListView.builder( + itemCount: snapshot.data.docs.length, + reverse: true, + physics: BouncingScrollPhysics(), + itemBuilder: (context, index) { + bool isMe = snapshot.data.docs[index]['senderId'] == + currentUserId; + return SingleMessage( + message: snapshot.data.docs[index]['message'], + isMe: isMe); + }); + } + return Center(child: CircularProgressIndicator()); + }), + )), + newMessage(currentUserId: currentUserId, friendId: friendId) + ], + )); + } +} + +// Виджет для написания нового сообщения +class newMessage extends StatefulWidget { + //final User currentUser; + final String currentUserId; + final String friendId; + const newMessage( + {required this.currentUserId, required this.friendId, super.key}); + + @override + State createState() => _newMessageState(); +} + +class _newMessageState extends State { + final _controller = TextEditingController(); + + void sendMessage() async { + String message = _controller.text; + _controller.clear(); + await FirebaseFirestore.instance + .collection('users') + .doc(myId) + .collection('messages') + .doc(widget.friendId) + .collection('chats') + .add({ + "senderId": myId, + "receiverId": widget.friendId, + "message": message, + "type": "text", + "date": DateTime.now(), + }).then((value) { + FirebaseFirestore.instance + .collection('users') + .doc(myId) + .collection('messages') + .doc(widget.friendId) + .set({ + 'last_msg': message, + }); + }); + + await FirebaseFirestore.instance + .collection('users') + .doc(myId) + .collection('messages') + .doc(myId) + .collection("chats") + .add({ + "senderId": myId, + "receiverId": widget.friendId, + "message": message, + "type": "text", + "date": DateTime.now(), + }).then((value) { + FirebaseFirestore.instance + .collection('users') + .doc(myId) + .collection('messages') + .doc(myId) + .set({"last_msg": message}); + }); + } + + @override + Widget build(BuildContext context) { + return Container( + child: Padding( + padding: EdgeInsets.all(12), + child: Row( + children: [ + Expanded( + child: Flexible( + child: SizedBox( + child: TextFormField( + controller: _controller, + scrollPadding: EdgeInsets.all(1), + decoration: InputDecoration( + contentPadding: + EdgeInsets.symmetric(vertical: 1, horizontal: 10), + border: OutlineInputBorder( + borderRadius: BorderRadius.circular(50.0)), + hintText: "Напишите сообщение..."), + ), + ), + ), + ), + IconButton( + onPressed: () async { + sendMessage(); + }, + icon: Icon(Icons.send)) + ], + ), + ), + ); + } +} diff --git a/flutter/lib/Chats/Pages/SearchPage.dart b/flutter/lib/Chats/Pages/SearchPage.dart new file mode 100644 index 0000000..84fd8cf --- /dev/null +++ b/flutter/lib/Chats/Pages/SearchPage.dart @@ -0,0 +1,167 @@ +// import 'package:command_flutter/Models/User.dart'; +// import 'package:command_flutter/Pages/ChatPage.dart'; +// import 'package:flutter/material.dart'; +// import 'package:flutter/services.dart'; + +// import '../Chats.dart'; +// import '../Data/users.dart'; + +// class SearchPage extends StatelessWidget { +// const SearchPage({super.key}); + +// @override +// Widget build(BuildContext context) { +// return Scaffold( +// appBar: AppBar( +// title: TextField( +// keyboardType: TextInputType.url, +// decoration: InputDecoration( +// border: InputBorder.none, hintText: "Поиск по ФИО"), +// ), //Text("Поиск"), +// ), +// body: SafeArea( +// child: StreamBuilder>( +// stream: _Firebase.getUsers(), +// builder: (context, snapshot) { +// switch (snapshot.connectionState) { +// case ConnectionState.waiting: +// return Center(child: CircularProgressIndicator()); +// default: +// if (snapshot.hasError) { +// print(snapshot.error); +// return buildText('Something Went Wrong Try later'); +// } else { +// final users = snapshot.data; + +// if (users.isEmpty) { +// return buildText('No Users Found'); +// } else +// return Column( +// children: [ +// ChatHeaderWidget(users: users), +// ChatBodyWidget(users: users) +// ], +// ); +// } +// } +// }, +// ), +// ), +// ); +// } +// Widget buildText(String text) => Center( +// child: Text( +// text, +// style: TextStyle(fontSize: 24, color: Colors.white), +// ), +// ); +// } + + + + + + +// import 'package:cloud_firestore/cloud_firestore.dart'; +// import 'package:command_flutter/Models/User.dart'; +// import 'package:command_flutter/Pages/ChatPage.dart'; +// import 'package:flutter/material.dart'; + + +// class SearchScreen extends StatefulWidget { +// User user; +// SearchScreen(this.user); + +// @override +// _SearchScreenState createState() => _SearchScreenState(); +// } + +// class _SearchScreenState extends State { +// TextEditingController searchController = TextEditingController(); +// List searchResult =[]; +// bool isLoading = false; + +// void onSearch()async{ +// setState(() { +// searchResult = []; +// isLoading = true; +// }); +// await FirebaseFirestore.instance.collection('users').where("name",isEqualTo: searchController.text).get().then((value){ +// if(value.docs.length < 1){ +// ScaffoldMessenger.of(context).showSnackBar(SnackBar(content: Text("No User Found"))); +// setState(() { +// isLoading = false; +// }); +// return; +// } +// /* value.docs.forEach((user) { +// if(user.data()['email'] != widget.user.email){ +// searchResult.add(user.data()); +// } +// }); */ +// setState(() { +// isLoading = false; +// }); +// }); +// } + +// @override +// Widget build(BuildContext context) { +// return Scaffold( +// appBar: AppBar( +// title: Text("Search your Friend"), +// ), +// body: Column( +// children: [ +// Row( +// children: [ +// Expanded( +// child: Padding( +// padding: const EdgeInsets.all(15.0), +// child: TextField( +// controller: searchController, +// decoration: InputDecoration( +// hintText: "type username....", +// border: OutlineInputBorder( +// borderRadius: BorderRadius.circular(10) +// ) +// ), +// ), +// ), +// ), +// IconButton(onPressed: (){ +// onSearch(); +// }, icon: Icon(Icons.search)) +// ], +// ), +// if(searchResult.length > 0) +// Expanded(child: ListView.builder( +// itemCount: searchResult.length, +// shrinkWrap: true, +// itemBuilder: (context,index){ +// return ListTile( +// leading: CircleAvatar( +// child: Image.network(searchResult[index]['image']), +// ), +// title: Text(searchResult[index]['name']), +// subtitle: Text(searchResult[index]['email']), +// trailing: IconButton(onPressed: (){ +// setState(() { +// searchController.text = ""; +// }); +// Navigator.push(context, MaterialPageRoute(builder: (context)=>ChatPage( +// currentUser: widget.user, +// friendId: searchResult[index]['uid'], +// friendName: searchResult[index]['name'], +// friendImage: searchResult[index]['image']))); +// }, icon: Icon(Icons.message)), +// ); +// })) +// else if(isLoading == true) +// Center(child: CircularProgressIndicator(),) +// ], +// ), + +// ); +// } +// } \ No newline at end of file diff --git a/flutter/lib/Chats/Widgets/single_message.dart b/flutter/lib/Chats/Widgets/single_message.dart new file mode 100644 index 0000000..78ec26b --- /dev/null +++ b/flutter/lib/Chats/Widgets/single_message.dart @@ -0,0 +1,28 @@ +import 'package:flutter/material.dart'; + +class SingleMessage extends StatelessWidget { + final String message; + final bool isMe; + SingleMessage({required this.message, required this.isMe}); + @override + Widget build(BuildContext context) { + return Row( + mainAxisAlignment: isMe ? MainAxisAlignment.end : MainAxisAlignment.start, + children: [ + Container( + padding: EdgeInsets.all(16), + margin: EdgeInsets.all(16), + constraints: BoxConstraints(maxWidth: 200), + decoration: BoxDecoration( + color: isMe ? Colors.blue : Color.fromARGB(255, 174, 174, 174), + borderRadius: BorderRadius.all(Radius.circular(12))), + child: Text( + message, + style: TextStyle( + color: Colors.white, + ), + )), + ], + ); + } +} diff --git a/flutter/lib/Chats/api/firebase.dart b/flutter/lib/Chats/api/firebase.dart new file mode 100644 index 0000000..97eb93a --- /dev/null +++ b/flutter/lib/Chats/api/firebase.dart @@ -0,0 +1,38 @@ +import 'package:cloud_firestore/cloud_firestore.dart'; +import 'package:command_flutter/Chats/Data/Admin.dart'; +import 'package:command_flutter/Chats/Models/User.dart'; + +class base { + static Future addUsers(List users) async { + String? idUser; + final docUser = await FirebaseFirestore.instance.collection('users'); + final allUsers = await docUser.get(); + if (allUsers.size != 0) { + return; + } else { + for (final user in users) { + final userDoc = docUser.doc(); + idUser = userDoc.id; + final newUser = user.copyWith(idUser: userDoc.id); + await userDoc.set(newUser.toJson()); + } + } + } + + static Stream> readUsers() => FirebaseFirestore.instance + .collection('users') + .snapshots() + .map((snapshot) => + snapshot.docs.map((doc) => User.fromJson(doc.data())).toList()); + + + Future readUser() async { + final docUser = + await FirebaseFirestore.instance.collection('users').doc(myId); + final snapshot = await docUser.get(); + if (snapshot.exists) { + return User.fromJson(snapshot.data()!); + } + print(docUser.toString()); + } +} \ No newline at end of file diff --git a/flutter/lib/main.dart b/flutter/lib/main.dart index e016029..68efca9 100644 --- a/flutter/lib/main.dart +++ b/flutter/lib/main.dart @@ -1,115 +1,25 @@ +import 'package:command_flutter/Chats/Chats.dart'; +import 'package:firebase_core/firebase_core.dart'; import 'package:flutter/material.dart'; -void main() { - runApp(const MyApp()); -} - -class MyApp extends StatelessWidget { - const MyApp({super.key}); - - // This widget is the root of your application. - @override - Widget build(BuildContext context) { - return MaterialApp( - title: 'Flutter Demo', - theme: ThemeData( - // This is the theme of your application. - // - // Try running your application with "flutter run". You'll see the - // application has a blue toolbar. Then, without quitting the app, try - // changing the primarySwatch below to Colors.green and then invoke - // "hot reload" (press "r" in the console where you ran "flutter run", - // or simply save your changes to "hot reload" in a Flutter IDE). - // Notice that the counter didn't reset back to zero; the application - // is not restarted. - primarySwatch: Colors.blue, - ), - home: const MyHomePage(title: 'Flutter Demo Home Page'), - ); - } -} - -class MyHomePage extends StatefulWidget { - const MyHomePage({super.key, required this.title}); - // This widget is the home page of your application. It is stateful, meaning - // that it has a State object (defined below) that contains fields that affect - // how it looks. - // This class is the configuration for the state. It holds the values (in this - // case the title) provided by the parent (in this case the App widget) and - // used by the build method of the State. Fields in a Widget subclass are - // always marked "final". +Future main() async { + WidgetsFlutterBinding.ensureInitialized(); + await Firebase.initializeApp(); + //await base.addUsers(users); - final String title; - - @override - State createState() => _MyHomePageState(); + runApp(MyApp()); } -class _MyHomePageState extends State { - int _counter = 0; - - void _incrementCounter() { - setState(() { - // This call to setState tells the Flutter framework that something has - // changed in this State, which causes it to rerun the build method below - // so that the display can reflect the updated values. If we changed - // _counter without calling setState(), then the build method would not be - // called again, and so nothing would appear to happen. - _counter++; - }); - } +class MyApp extends StatelessWidget { @override Widget build(BuildContext context) { - // This method is rerun every time setState is called, for instance as done - // by the _incrementCounter method above. - // - // The Flutter framework has been optimized to make rerunning build methods - // fast, so that you can just rebuild anything that needs updating rather - // than having to individually change instances of widgets. - return Scaffold( - appBar: AppBar( - // Here we take the value from the MyHomePage object that was created by - // the App.build method, and use it to set our appbar title. - title: Text(widget.title), - ), - body: Center( - // Center is a layout widget. It takes a single child and positions it - // in the middle of the parent. - child: Column( - // Column is also a layout widget. It takes a list of children and - // arranges them vertically. By default, it sizes itself to fit its - // children horizontally, and tries to be as tall as its parent. - // - // Invoke "debug painting" (press "p" in the console, choose the - // "Toggle Debug Paint" action from the Flutter Inspector in Android - // Studio, or the "Toggle Debug Paint" command in Visual Studio Code) - // to see the wireframe for each widget. - // - // Column has various properties to control how it sizes itself and - // how it positions its children. Here we use mainAxisAlignment to - // center the children vertically; the main axis here is the vertical - // axis because Columns are vertical (the cross axis would be - // horizontal). - mainAxisAlignment: MainAxisAlignment.center, - children: [ - const Text( - 'You have pushed the button this many times:', - ), - Text( - '$_counter', - style: Theme.of(context).textTheme.headline4, - ), - ], - ), - ), - floatingActionButton: FloatingActionButton( - onPressed: _incrementCounter, - tooltip: 'Increment', - child: const Icon(Icons.add), - ), // This trailing comma makes auto-formatting nicer for build methods. + return const MaterialApp( + debugShowCheckedModeBanner: false, + title: 'Чаты', + home: Chats() ); } -} +} \ No newline at end of file diff --git a/flutter/pubspec.lock b/flutter/pubspec.lock index 9295504..f8ae686 100644 --- a/flutter/pubspec.lock +++ b/flutter/pubspec.lock @@ -1,6 +1,13 @@ # Generated by pub # See https://dart.dev/tools/pub/glossary#lockfile packages: + _flutterfire_internals: + dependency: transitive + description: + name: _flutterfire_internals + url: "https://pub.dartlang.org" + source: hosted + version: "1.0.5" async: dependency: transitive description: @@ -15,6 +22,27 @@ packages: url: "https://pub.dartlang.org" source: hosted version: "2.1.0" + cached_network_image: + dependency: "direct main" + description: + name: cached_network_image + url: "https://pub.dartlang.org" + source: hosted + version: "3.2.2" + cached_network_image_platform_interface: + dependency: transitive + description: + name: cached_network_image_platform_interface + url: "https://pub.dartlang.org" + source: hosted + version: "2.0.0" + cached_network_image_web: + dependency: transitive + description: + name: cached_network_image_web + url: "https://pub.dartlang.org" + source: hosted + version: "1.0.2" characters: dependency: transitive description: @@ -29,6 +57,27 @@ packages: url: "https://pub.dartlang.org" source: hosted version: "1.1.1" + cloud_firestore: + dependency: "direct main" + description: + name: cloud_firestore + url: "https://pub.dartlang.org" + source: hosted + version: "4.0.2" + cloud_firestore_platform_interface: + dependency: transitive + description: + name: cloud_firestore_platform_interface + url: "https://pub.dartlang.org" + source: hosted + version: "5.8.2" + cloud_firestore_web: + dependency: transitive + description: + name: cloud_firestore_web + url: "https://pub.dartlang.org" + source: hosted + version: "3.0.2" collection: dependency: transitive description: @@ -36,6 +85,13 @@ packages: url: "https://pub.dartlang.org" source: hosted version: "1.16.0" + crypto: + dependency: transitive + description: + name: crypto + url: "https://pub.dartlang.org" + source: hosted + version: "3.0.2" cupertino_icons: dependency: "direct main" description: @@ -50,11 +106,81 @@ packages: url: "https://pub.dartlang.org" source: hosted version: "1.3.1" + ffi: + dependency: transitive + description: + name: ffi + url: "https://pub.dartlang.org" + source: hosted + version: "2.0.1" + file: + dependency: transitive + description: + name: file + url: "https://pub.dartlang.org" + source: hosted + version: "6.1.4" + firebase_auth: + dependency: "direct main" + description: + name: firebase_auth + url: "https://pub.dartlang.org" + source: hosted + version: "4.0.2" + firebase_auth_platform_interface: + dependency: transitive + description: + name: firebase_auth_platform_interface + url: "https://pub.dartlang.org" + source: hosted + version: "6.10.4" + firebase_auth_web: + dependency: transitive + description: + name: firebase_auth_web + url: "https://pub.dartlang.org" + source: hosted + version: "5.0.2" + firebase_core: + dependency: "direct main" + description: + name: firebase_core + url: "https://pub.dartlang.org" + source: hosted + version: "2.1.0" + firebase_core_platform_interface: + dependency: transitive + description: + name: firebase_core_platform_interface + url: "https://pub.dartlang.org" + source: hosted + version: "4.5.1" + firebase_core_web: + dependency: transitive + description: + name: firebase_core_web + url: "https://pub.dartlang.org" + source: hosted + version: "2.0.0" flutter: dependency: "direct main" description: flutter source: sdk version: "0.0.0" + flutter_blurhash: + dependency: transitive + description: + name: flutter_blurhash + url: "https://pub.dartlang.org" + source: hosted + version: "0.7.0" + flutter_cache_manager: + dependency: transitive + description: + name: flutter_cache_manager + url: "https://pub.dartlang.org" + source: hosted + version: "3.3.0" flutter_lints: dependency: "direct dev" description: @@ -67,13 +193,46 @@ packages: description: flutter source: sdk version: "0.0.0" + flutter_web_plugins: + dependency: transitive + description: flutter + source: sdk + version: "0.0.0" + http: + dependency: transitive + description: + name: http + url: "https://pub.dartlang.org" + source: hosted + version: "0.13.5" + http_parser: + dependency: transitive + description: + name: http_parser + url: "https://pub.dartlang.org" + source: hosted + version: "4.0.2" + intl: + dependency: transitive + description: + name: intl + url: "https://pub.dartlang.org" + source: hosted + version: "0.17.0" + js: + dependency: transitive + description: + name: js + url: "https://pub.dartlang.org" + source: hosted + version: "0.6.4" lints: dependency: transitive description: name: lints url: "https://pub.dartlang.org" source: hosted - version: "2.0.0" + version: "2.0.1" matcher: dependency: transitive description: @@ -95,6 +254,13 @@ packages: url: "https://pub.dartlang.org" source: hosted version: "1.8.0" + octo_image: + dependency: transitive + description: + name: octo_image + url: "https://pub.dartlang.org" + source: hosted + version: "1.0.2" path: dependency: transitive description: @@ -102,6 +268,90 @@ packages: url: "https://pub.dartlang.org" source: hosted version: "1.8.2" + path_provider: + dependency: transitive + description: + name: path_provider + url: "https://pub.dartlang.org" + source: hosted + version: "2.0.11" + path_provider_android: + dependency: transitive + description: + name: path_provider_android + url: "https://pub.dartlang.org" + source: hosted + version: "2.0.20" + path_provider_ios: + dependency: transitive + description: + name: path_provider_ios + url: "https://pub.dartlang.org" + source: hosted + version: "2.0.11" + path_provider_linux: + dependency: transitive + description: + name: path_provider_linux + url: "https://pub.dartlang.org" + source: hosted + version: "2.1.7" + path_provider_macos: + dependency: transitive + description: + name: path_provider_macos + url: "https://pub.dartlang.org" + source: hosted + version: "2.0.6" + path_provider_platform_interface: + dependency: transitive + description: + name: path_provider_platform_interface + url: "https://pub.dartlang.org" + source: hosted + version: "2.0.5" + path_provider_windows: + dependency: transitive + description: + name: path_provider_windows + url: "https://pub.dartlang.org" + source: hosted + version: "2.1.3" + pedantic: + dependency: transitive + description: + name: pedantic + url: "https://pub.dartlang.org" + source: hosted + version: "1.11.1" + platform: + dependency: transitive + description: + name: platform + url: "https://pub.dartlang.org" + source: hosted + version: "3.1.0" + plugin_platform_interface: + dependency: transitive + description: + name: plugin_platform_interface + url: "https://pub.dartlang.org" + source: hosted + version: "2.1.3" + process: + dependency: transitive + description: + name: process + url: "https://pub.dartlang.org" + source: hosted + version: "4.2.4" + rxdart: + dependency: transitive + description: + name: rxdart + url: "https://pub.dartlang.org" + source: hosted + version: "0.27.5" sky_engine: dependency: transitive description: flutter @@ -114,6 +364,20 @@ packages: url: "https://pub.dartlang.org" source: hosted version: "1.9.0" + sqflite: + dependency: transitive + description: + name: sqflite + url: "https://pub.dartlang.org" + source: hosted + version: "2.1.0+1" + sqflite_common: + dependency: transitive + description: + name: sqflite_common + url: "https://pub.dartlang.org" + source: hosted + version: "2.3.0" stack_trace: dependency: transitive description: @@ -135,6 +399,13 @@ packages: url: "https://pub.dartlang.org" source: hosted version: "1.1.1" + synchronized: + dependency: transitive + description: + name: synchronized + url: "https://pub.dartlang.org" + source: hosted + version: "3.0.0+3" term_glyph: dependency: transitive description: @@ -149,6 +420,20 @@ packages: url: "https://pub.dartlang.org" source: hosted version: "0.4.12" + typed_data: + dependency: transitive + description: + name: typed_data + url: "https://pub.dartlang.org" + source: hosted + version: "1.3.1" + uuid: + dependency: transitive + description: + name: uuid + url: "https://pub.dartlang.org" + source: hosted + version: "3.0.6" vector_math: dependency: transitive description: @@ -156,5 +441,20 @@ packages: url: "https://pub.dartlang.org" source: hosted version: "2.1.2" + win32: + dependency: transitive + description: + name: win32 + url: "https://pub.dartlang.org" + source: hosted + version: "3.0.1" + xdg_directories: + dependency: transitive + description: + name: xdg_directories + url: "https://pub.dartlang.org" + source: hosted + version: "0.2.0+2" sdks: dart: ">=2.18.2 <3.0.0" + flutter: ">=3.3.0" diff --git a/flutter/pubspec.yaml b/flutter/pubspec.yaml index b28715b..f384c24 100644 --- a/flutter/pubspec.yaml +++ b/flutter/pubspec.yaml @@ -29,6 +29,8 @@ environment: # the latest version available on pub.dev. To see which dependencies have newer # versions available, run `flutter pub outdated`. dependencies: + #cloud_firestore: + #firebase_core: flutter: sdk: flutter @@ -36,6 +38,10 @@ dependencies: # The following adds the Cupertino Icons font to your application. # Use with the CupertinoIcons class for iOS style icons. cupertino_icons: ^1.0.2 + firebase_core: ^2.1.0 + firebase_auth: ^4.0.2 + cloud_firestore: ^4.0.2 + cached_network_image: ^3.2.2 dev_dependencies: flutter_test: diff --git a/flutter/test/widget_test.dart b/flutter/test/widget_test.dart deleted file mode 100644 index 2a5548b..0000000 --- a/flutter/test/widget_test.dart +++ /dev/null @@ -1,30 +0,0 @@ -// This is a basic Flutter widget test. -// -// To perform an interaction with a widget in your test, use the WidgetTester -// utility in the flutter_test package. For example, you can send tap and scroll -// gestures. You can also use WidgetTester to find child widgets in the widget -// tree, read text, and verify that the values of widget properties are correct. - -import 'package:flutter/material.dart'; -import 'package:flutter_test/flutter_test.dart'; - -import 'package:command_flutter/main.dart'; - -void main() { - testWidgets('Counter increments smoke test', (WidgetTester tester) async { - // Build our app and trigger a frame. - await tester.pumpWidget(const MyApp()); - - // Verify that our counter starts at 0. - expect(find.text('0'), findsOneWidget); - expect(find.text('1'), findsNothing); - - // Tap the '+' icon and trigger a frame. - await tester.tap(find.byIcon(Icons.add)); - await tester.pump(); - - // Verify that our counter has incremented. - expect(find.text('0'), findsNothing); - expect(find.text('1'), findsOneWidget); - }); -}