diff --git a/android/app/build.gradle b/android/app/build.gradle index 73db0d8..c293cf1 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -60,10 +60,24 @@ android { ] } + signingConfigs { + release { + keyAlias keystoreProperties['keyAlias'] + keyPassword keystoreProperties['keyPassword'] + storeFile keystoreProperties['storeFile'] ? file(keystoreProperties['storeFile']) : null + storePassword keystoreProperties['storePassword'] + } + } + + buildTypes { + release { + signingConfig signingConfigs.release + } + } } flutter { source '../..' } -dependencies {} +dependencies {} \ No newline at end of file diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml index d3c2b25..eff02b8 100644 --- a/android/app/src/main/AndroidManifest.xml +++ b/android/app/src/main/AndroidManifest.xml @@ -1,4 +1,6 @@ + + 7.0) - GoogleSignIn (7.0.0): - AppAuth (~> 1.5) @@ -39,7 +40,7 @@ DEPENDENCIES: - app_links (from `.symlinks/plugins/app_links/ios`) - Flutter (from `Flutter`) - flutter_appauth (from `.symlinks/plugins/flutter_appauth/ios`) - - google_sign_in_ios (from `.symlinks/plugins/google_sign_in_ios/ios`) + - google_sign_in_ios (from `.symlinks/plugins/google_sign_in_ios/darwin`) - path_provider_foundation (from `.symlinks/plugins/path_provider_foundation/darwin`) - shared_preferences_foundation (from `.symlinks/plugins/shared_preferences_foundation/darwin`) - sign_in_with_apple (from `.symlinks/plugins/sign_in_with_apple/ios`) @@ -61,7 +62,7 @@ EXTERNAL SOURCES: flutter_appauth: :path: ".symlinks/plugins/flutter_appauth/ios" google_sign_in_ios: - :path: ".symlinks/plugins/google_sign_in_ios/ios" + :path: ".symlinks/plugins/google_sign_in_ios/darwin" path_provider_foundation: :path: ".symlinks/plugins/path_provider_foundation/darwin" shared_preferences_foundation: @@ -77,16 +78,16 @@ SPEC CHECKSUMS: app_links: 5ef33d0d295a89d9d16bb81b0e3b0d5f70d6c875 AppAuth: 3bb1d1cd9340bd09f5ed189fb00b1cc28e1e8570 Flutter: f04841e97a9d0b0a8025694d0796dd46242b2854 - flutter_appauth: cf9b928962105b2a64a9802585d1c8adaf3e0f46 - google_sign_in_ios: 8115e3fbe097e6509beb819ed602d47369d9011f + flutter_appauth: 0863b1f33110b410213e736aead4a6727303f509 + google_sign_in_ios: 1bfaf6607b44cd1b24c4d4bc39719870440f9ce1 GoogleSignIn: b232380cf495a429b8095d3178a8d5855b42e842 GTMAppAuth: 99fb010047ba3973b7026e45393f51f27ab965ae GTMSessionFetcher: 41b9ef0b4c08a6db4b7eb51a21ae5183ec99a2c8 - path_provider_foundation: 29f094ae23ebbca9d3d0cec13889cd9060c0e943 - shared_preferences_foundation: 5b919d13b803cadd15ed2dc053125c68730e5126 + path_provider_foundation: 3784922295ac71e43754bd15e0653ccfd36a147c + shared_preferences_foundation: b4c3b4cddf1c21f02770737f147a3f5da9d39695 sign_in_with_apple: f3bf75217ea4c2c8b91823f225d70230119b8440 - url_launcher_ios: bf5ce03e0e2088bad9cc378ea97fa0ed5b49673b - webview_flutter_wkwebview: 2e2d318f21a5e036e2c3f26171342e95908bd60a + url_launcher_ios: bbd758c6e7f9fd7b5b1d4cde34d2b95fcce5e812 + webview_flutter_wkwebview: 4f3e50f7273d31e5500066ed267e3ae4309c5ae4 PODFILE CHECKSUM: 70d9d25280d0dd177a5f637cdb0f0b0b12c6a189 diff --git a/ios/Runner.xcodeproj/project.pbxproj b/ios/Runner.xcodeproj/project.pbxproj index 61ff807..24115e6 100644 --- a/ios/Runner.xcodeproj/project.pbxproj +++ b/ios/Runner.xcodeproj/project.pbxproj @@ -198,6 +198,7 @@ 9705A1C41CF9048500538489 /* Embed Frameworks */, 3B06AD1E1E4923F5004D2608 /* Thin Binary */, 0AD3B6913326E4142BF83758 /* [CP] Embed Pods Frameworks */, + 3167BD514375E5010A87A6D3 /* [CP] Copy Pods Resources */, ); buildRules = ( ); @@ -286,6 +287,23 @@ shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n"; showEnvVarsInLog = 0; }; + 3167BD514375E5010A87A6D3 /* [CP] Copy Pods Resources */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-resources-${CONFIGURATION}-input-files.xcfilelist", + ); + name = "[CP] Copy Pods Resources"; + outputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-resources-${CONFIGURATION}-output-files.xcfilelist", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-resources.sh\"\n"; + showEnvVarsInLog = 0; + }; 3B06AD1E1E4923F5004D2608 /* Thin Binary */ = { isa = PBXShellScriptBuildPhase; alwaysOutOfDate = 1; diff --git a/lib/core/enums/search_load_status.dart b/lib/core/enums/search_load_status.dart new file mode 100644 index 0000000..97bb37f --- /dev/null +++ b/lib/core/enums/search_load_status.dart @@ -0,0 +1,6 @@ +enum SearchLoadStatus { + initial, + loading, + loaded, + error, +} diff --git a/lib/profile/services/tag_service.dart b/lib/profile/services/tag_service.dart index 084100d..b345fc0 100644 --- a/lib/profile/services/tag_service.dart +++ b/lib/profile/services/tag_service.dart @@ -62,10 +62,10 @@ class TagService { Future _getTagId(String tag) async { final tagResponse = await supabase.from('tags').select('id').eq('tag', tag); + final tagData = tagResponse as List; - if (tagResponse == null) return null; + if (tagData.isEmpty) return null; - final tagData = tagResponse as List; final tagId = tagData.first['id'] as String; return tagId; @@ -89,7 +89,7 @@ class TagService { await supabase.from('user_tags').insert({ 'user_id': supabase.auth.currentUser!.id, - 'tag_id': tagResponse, + 'tag_id': tagResponse.first['id'] as String, }); } diff --git a/lib/search/bloc/cubit/search_cubit.dart b/lib/search/bloc/cubit/search_cubit.dart new file mode 100644 index 0000000..9b976fb --- /dev/null +++ b/lib/search/bloc/cubit/search_cubit.dart @@ -0,0 +1,26 @@ +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:equatable/equatable.dart'; +import 'package:study_match/core/enums/search_load_status.dart'; +import 'package:study_match/search/services/search_service.dart'; + +part 'search_state.dart'; + +class SearchCubit extends Cubit { + final _searchService = SearchService.instance; + + SearchCubit() : super(const SearchState([], SearchLoadStatus.initial)); + + Future searchUsers(String query) async { + emit(const SearchState([], SearchLoadStatus.loading)); + if (query.isEmpty) { + emit(const SearchState([], SearchLoadStatus.initial)); + return; + } + final users = await _searchService.searchUsers(query); + emit(SearchState(users, SearchLoadStatus.loaded)); + } + + void clearSearch() { + emit(const SearchState([], SearchLoadStatus.initial)); + } +} diff --git a/lib/search/bloc/cubit/search_state.dart b/lib/search/bloc/cubit/search_state.dart new file mode 100644 index 0000000..700b357 --- /dev/null +++ b/lib/search/bloc/cubit/search_state.dart @@ -0,0 +1,11 @@ +part of 'search_cubit.dart'; + +class SearchState extends Equatable { + final List<(String, String)> users; + final SearchLoadStatus status; + + const SearchState(this.users, this.status); + + @override + List get props => [users, status]; +} diff --git a/lib/search/screens/search_screen.dart b/lib/search/screens/search_screen.dart index 35ab55e..8a6603f 100644 --- a/lib/search/screens/search_screen.dart +++ b/lib/search/screens/search_screen.dart @@ -1,14 +1,81 @@ import 'package:flutter/material.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:study_match/core/enums/search_load_status.dart'; +import 'package:study_match/profile/profile_view.dart'; +import 'package:study_match/search/bloc/cubit/search_cubit.dart'; class SearchScreen extends StatelessWidget { const SearchScreen({super.key}); @override Widget build(BuildContext context) { - return const Scaffold( - body: Center( - child: Text('Search Screen 🔎'), - ), + return BlocProvider( + create: (context) => SearchCubit(), + child: const SearchPage(), ); } } + +class SearchPage extends StatelessWidget { + const SearchPage({super.key}); + + @override + Widget build(BuildContext context) { + return BlocBuilder( + builder: (context, state) { + return Scaffold( + appBar: AppBar( + title: Row( + children: [ + Expanded( + child: TextField( + decoration: const InputDecoration( + hintText: 'Search for a user', + ), + onChanged: (value) { + context.read().searchUsers(value); + }, + ), + ), + IconButton( + icon: const Icon(Icons.clear), + onPressed: () { + context.read().clearSearch(); + }, + ), + ], + ), + ), + body: _showSearchResults(context, state), + ); + }, + ); + } +} + +Widget _showSearchResults(BuildContext context, SearchState state) { + if (state.status == SearchLoadStatus.loading) { + return const Center(child: CircularProgressIndicator()); + } + + if (state.status == SearchLoadStatus.loaded) { + return ListView.builder( + itemCount: state.users.length, + itemBuilder: (context, index) { + final user = state.users[index]; + return ListTile( + title: Text(user.$2), + onTap: () => Navigator.of(context).push( + MaterialPageRoute( + builder: (context) => ProfileView(userID: user.$1), + ), + ), + ); + }, + ); + } + + return const Center( + child: Text('Your search results will appear here!'), + ); // +} diff --git a/lib/search/services/search_service.dart b/lib/search/services/search_service.dart new file mode 100644 index 0000000..0bb7da6 --- /dev/null +++ b/lib/search/services/search_service.dart @@ -0,0 +1,25 @@ +import 'package:supabase_flutter/supabase_flutter.dart'; + +class SearchService { + final supabase = Supabase.instance.client; + SearchService._(); + + Future> searchUsers(String query) async { + final response = await supabase + .from('profiles') + .select('id, username') + .ilike('username', '%$query%'); + + if (response == []) return []; + + final data = response as List; + final users = data.map((e) { + final userData = e as Map; + return (userData['id'] as String, userData['username'] as String); + }).toList(); + + return users; + } + + static final SearchService instance = SearchService._(); +} diff --git a/pubspec.lock b/pubspec.lock index b466283..74cc52d 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -1,30 +1,14 @@ # Generated by pub # See https://dart.dev/tools/pub/glossary#lockfile packages: - _fe_analyzer_shared: - dependency: transitive - description: - name: _fe_analyzer_shared - sha256: ae92f5d747aee634b87f89d9946000c2de774be1d6ac3e58268224348cd0101a - url: "https://pub.dev" - source: hosted - version: "61.0.0" - analyzer: - dependency: transitive - description: - name: analyzer - sha256: ea3d8652bda62982addfd92fdc2d0214e5f82e43325104990d4f4c4a2a313562 - url: "https://pub.dev" - source: hosted - version: "5.13.0" app_links: dependency: transitive description: name: app_links - sha256: eb83c2b15b78a66db04e95132678e910fcdb8dc3a9b0aed0c138f50b2bef0dae + sha256: "4e392b5eba997df356ca6021f28431ce1cfeb16758699553a94b13add874a3bb" url: "https://pub.dev" source: hosted - version: "3.4.5" + version: "3.5.0" args: dependency: transitive description: @@ -81,14 +65,6 @@ packages: url: "https://pub.dev" source: hosted version: "1.18.0" - convert: - dependency: transitive - description: - name: convert - sha256: "0f08b14755d163f6e2134cb58222dd25ea2a2ee8a195e53983d57c075324d592" - url: "https://pub.dev" - source: hosted - version: "3.1.1" crypto: dependency: "direct main" description: @@ -154,10 +130,10 @@ packages: dependency: "direct main" description: name: flutter_appauth - sha256: "19031ea2438a513762e64ec7b58ae1f00cad6fb87f818e405325cd183dfb9fec" + sha256: "916a91642d3c119e3829441404fbdcd8436f6b22bc608785ba5b9f7cb3fb6751" url: "https://pub.dev" source: hosted - version: "6.0.2" + version: "6.0.2+1" flutter_appauth_platform_interface: dependency: transitive description: @@ -208,70 +184,62 @@ packages: url: "https://pub.dev" source: hosted version: "1.3.2" - glob: - dependency: transitive - description: - name: glob - sha256: "0e7014b3b7d4dac1ca4d6114f82bf1782ee86745b9b42a92c9289c23d8a0ab63" - url: "https://pub.dev" - source: hosted - version: "2.1.2" go_router: dependency: "direct main" description: name: go_router - sha256: c247a4f76071c3b97bb5ae8912968870d5565644801c5e09f3bc961b4d874895 + sha256: c5fa45fa502ee880839e3b2152d987c44abae26d064a2376d4aad434cf0f7b15 url: "https://pub.dev" source: hosted - version: "12.1.1" + version: "12.1.3" google_identity_services_web: dependency: transitive description: name: google_identity_services_web - sha256: "000b7a31e1fa17ee04b6c0553a2b2ea18f9f9352e4dcc0c9fcc785cf10f2484e" + sha256: "0c56c2c5d60d6dfaf9725f5ad4699f04749fb196ee5a70487a46ef184837ccf6" url: "https://pub.dev" source: hosted - version: "0.2.2" + version: "0.3.0+2" google_sign_in: dependency: "direct main" description: name: google_sign_in - sha256: "8f8b94880f2753ccb796744259da529674e49b9af2e372abf6978c590c0ebfef" + sha256: "0b8787cb9c1a68ad398e8010e8c8766bfa33556d2ab97c439fb4137756d7308f" url: "https://pub.dev" source: hosted - version: "6.1.6" + version: "6.2.1" google_sign_in_android: dependency: transitive description: name: google_sign_in_android - sha256: "6031f59074a337fdd81be821aba84cee3a41338c6e958499a5cd34d3e1db80ef" + sha256: bfd42c81c30c6faba16e0f62968d5505a87504aaa672b3155ee931461abb0a49 url: "https://pub.dev" source: hosted - version: "6.1.20" + version: "6.1.21" google_sign_in_ios: dependency: transitive description: name: google_sign_in_ios - sha256: "81495441405c138e3c638f5097bebaa0db644567b3976e08944cfb8926ff2e6d" + sha256: f3336d9e44d4d28063ac90271f6db5caf99f0480cb07281330e7a432edb95226 url: "https://pub.dev" source: hosted - version: "5.6.5" + version: "5.7.3" google_sign_in_platform_interface: dependency: transitive description: name: google_sign_in_platform_interface - sha256: "35ceee5f0eadc1c07b0b4af7553246e315c901facbb7d3dadf734ba2693ceec4" + sha256: "1f6e5787d7a120cc0359ddf315c92309069171306242e181c09472d1b00a2971" url: "https://pub.dev" source: hosted - version: "2.4.2" + version: "2.4.5" google_sign_in_web: dependency: transitive description: name: google_sign_in_web - sha256: "794f5494a945d6dd2654c52f979594ecd2558e5c82ce8272295ba371c93015e6" + sha256: a278ea2d01013faf341cbb093da880d0f2a552bbd1cb6ee90b5bebac9ba69d77 url: "https://pub.dev" source: hosted - version: "0.12.2+1" + version: "0.12.3+2" gotrue: dependency: transitive description: @@ -280,6 +248,14 @@ packages: url: "https://pub.dev" source: hosted version: "1.12.6" + gtk: + dependency: transitive + description: + name: gtk + sha256: e8ce9ca4b1df106e4d72dad201d345ea1a036cc12c360f1a7d5a758f78ffa42c + url: "https://pub.dev" + source: hosted + version: "2.1.0" hive: dependency: transitive description: @@ -300,10 +276,10 @@ packages: dependency: transitive description: name: http - sha256: d4872660c46d929f6b8a9ef4e7a7eff7e49bbf0c4ec3f385ee32df5119175139 + sha256: a2bbf9d017fcced29139daa8ed2bba4ece450ab222871df93ca9eec6f80c34ba url: "https://pub.dev" source: hosted - version: "1.1.2" + version: "1.2.0" http_parser: dependency: transitive description: @@ -384,14 +360,6 @@ packages: url: "https://pub.dev" source: hosted version: "1.0.0" - package_config: - dependency: transitive - description: - name: package_config - sha256: "1c5b77ccc91e4823a5af61ee74e6b972db1ef98c2ff5a18d3161c982a55448bd" - url: "https://pub.dev" - source: hosted - version: "2.1.0" path: dependency: transitive description: @@ -412,26 +380,26 @@ packages: dependency: transitive description: name: path_provider - sha256: a1aa8aaa2542a6bc57e381f132af822420216c80d4781f7aa085ca3229208aaa + sha256: b27217933eeeba8ff24845c34003b003b2b22151de3c908d0e679e8fe1aa078b url: "https://pub.dev" source: hosted - version: "2.1.1" + version: "2.1.2" path_provider_android: dependency: transitive description: name: path_provider_android - sha256: e595b98692943b4881b219f0a9e3945118d3c16bd7e2813f98ec6e532d905f72 + sha256: "477184d672607c0a3bf68fbbf601805f92ef79c82b64b4d6eb318cbca4c48668" url: "https://pub.dev" source: hosted - version: "2.2.1" + version: "2.2.2" path_provider_foundation: dependency: transitive description: name: path_provider_foundation - sha256: "19314d595120f82aca0ba62787d58dde2cc6b5df7d2f0daf72489e38d1b57f2d" + sha256: "5a7999be66e000916500be4f15a3633ebceb8302719b47b9cc49ce924125350f" url: "https://pub.dev" source: hosted - version: "2.3.1" + version: "2.3.2" path_provider_linux: dependency: transitive description: @@ -444,10 +412,10 @@ packages: dependency: transitive description: name: path_provider_platform_interface - sha256: "94b1e0dd80970c1ce43d5d4e050a9918fce4f4a775e6142424c30a29a363265c" + sha256: "88f5779f72ba699763fa3a3b06aa4bf6de76c8e5de842cf6f29e2e06476c2334" url: "https://pub.dev" source: hosted - version: "2.1.1" + version: "2.1.2" path_provider_windows: dependency: transitive description: @@ -464,30 +432,22 @@ packages: url: "https://pub.dev" source: hosted version: "6.0.2" - pigeon: - dependency: transitive - description: - name: pigeon - sha256: "5a79fd0b10423f6b5705525e32015597f861c31220b522a67d1e6b580da96719" - url: "https://pub.dev" - source: hosted - version: "11.0.1" platform: dependency: transitive description: name: platform - sha256: "0a279f0707af40c890e80b1e9df8bb761694c074ba7e1d4ab1bc4b728e200b59" + sha256: "12220bb4b65720483f8fa9450b4332347737cf8213dd2840d8b2c823e47243ec" url: "https://pub.dev" source: hosted - version: "3.1.3" + version: "3.1.4" plugin_platform_interface: dependency: transitive description: name: plugin_platform_interface - sha256: f4f88d4a900933e7267e2b353594774fc0d07fb072b47eedcd5b54e1ea3269f8 + sha256: "4820fbfdb9478b1ebae27888254d445073732dae3d6ea81f0b7e06d5dedc3f02" url: "https://pub.dev" source: hosted - version: "2.1.7" + version: "2.1.8" postgrest: dependency: transitive description: @@ -504,22 +464,6 @@ packages: url: "https://pub.dev" source: hosted version: "6.1.1" - pub_semver: - dependency: transitive - description: - name: pub_semver - sha256: "40d3ab1bbd474c4c2328c91e3a7df8c6dd629b79ece4c4bd04bee496a224fb0c" - url: "https://pub.dev" - source: hosted - version: "2.1.4" - quiver: - dependency: transitive - description: - name: quiver - sha256: b1c1ac5ce6688d77f65f3375a9abb9319b3cb32486bdc7a1e0fdf004d7ba4e47 - url: "https://pub.dev" - source: hosted - version: "3.2.1" realtime_client: dependency: transitive description: @@ -564,10 +508,10 @@ packages: dependency: transitive description: name: shared_preferences_foundation - sha256: "7bf53a9f2d007329ee6f3df7268fd498f8373602f943c975598bbb34649b62a7" + sha256: "7708d83064f38060c7b39db12aefe449cb8cdc031d6062280087bc4cdb988f5c" url: "https://pub.dev" source: hosted - version: "2.3.4" + version: "2.3.5" shared_preferences_linux: dependency: transitive description: @@ -580,10 +524,10 @@ packages: dependency: transitive description: name: shared_preferences_platform_interface - sha256: d4ec5fc9ebb2f2e056c617112aa75dcf92fc2e4faaf2ae999caa297473f75d8a + sha256: "22e2ecac9419b4246d7c22bfbbda589e3acf5c0351137d87dd2939d984d37c3b" url: "https://pub.dev" source: hosted - version: "2.3.1" + version: "2.3.2" shared_preferences_web: dependency: transitive description: @@ -713,34 +657,34 @@ packages: dependency: transitive description: name: url_launcher - sha256: b1c9e98774adf8820c96fbc7ae3601231d324a7d5ebd8babe27b6dfac91357ba + sha256: d25bb0ca00432a5e1ee40e69c36c85863addf7cc45e433769d61bed3fe81fd96 url: "https://pub.dev" source: hosted - version: "6.2.1" + version: "6.2.3" url_launcher_android: dependency: transitive description: name: url_launcher_android - sha256: "31222ffb0063171b526d3e569079cf1f8b294075ba323443fdc690842bfd4def" + sha256: "507dc655b1d9cb5ebc756032eb785f114e415f91557b73bf60b7e201dfedeb2f" url: "https://pub.dev" source: hosted - version: "6.2.0" + version: "6.2.2" url_launcher_ios: dependency: transitive description: name: url_launcher_ios - sha256: bba3373219b7abb6b5e0d071b0fe66dfbe005d07517a68e38d4fc3638f35c6d3 + sha256: "75bb6fe3f60070407704282a2d295630cab232991eb52542b18347a8a941df03" url: "https://pub.dev" source: hosted - version: "6.2.1" + version: "6.2.4" url_launcher_linux: dependency: transitive description: name: url_launcher_linux - sha256: "9f2d390e096fdbe1e6e6256f97851e51afc2d9c423d3432f1d6a02a8a9a8b9fd" + sha256: ab360eb661f8879369acac07b6bb3ff09d9471155357da8443fd5d3cf7363811 url: "https://pub.dev" source: hosted - version: "3.1.0" + version: "3.1.1" url_launcher_macos: dependency: transitive description: @@ -753,50 +697,50 @@ packages: dependency: transitive description: name: url_launcher_platform_interface - sha256: "980e8d9af422f477be6948bdfb68df8433be71f5743a188968b0c1b887807e50" + sha256: a932c3a8082e118f80a475ce692fde89dc20fddb24c57360b96bc56f7035de1f url: "https://pub.dev" source: hosted - version: "2.2.0" + version: "2.3.1" url_launcher_web: dependency: transitive description: name: url_launcher_web - sha256: "138bd45b3a456dcfafc46d1a146787424f8d2edfbf2809c9324361e58f851cf7" + sha256: fff0932192afeedf63cdd50ecbb1bc825d31aed259f02bb8dba0f3b729a5e88b url: "https://pub.dev" source: hosted - version: "2.2.1" + version: "2.2.3" url_launcher_windows: dependency: transitive description: name: url_launcher_windows - sha256: "7754a1ad30ee896b265f8d14078b0513a4dba28d358eabb9d5f339886f4a1adc" + sha256: ecf9725510600aa2bb6d7ddabe16357691b6d2805f66216a97d1b881e21beff7 url: "https://pub.dev" source: hosted - version: "3.1.0" + version: "3.1.1" vector_graphics: dependency: transitive description: name: vector_graphics - sha256: "0f0c746dd2d6254a0057218ff980fc7f5670fd0fcf5e4db38a490d31eed4ad43" + sha256: "18f6690295af52d081f6808f2f7c69f0eed6d7e23a71539d75f4aeb8f0062172" url: "https://pub.dev" source: hosted - version: "1.1.9+1" + version: "1.1.9+2" vector_graphics_codec: dependency: transitive description: name: vector_graphics_codec - sha256: "0edf6d630d1bfd5589114138ed8fada3234deacc37966bec033d3047c29248b7" + sha256: "531d20465c10dfac7f5cd90b60bbe4dd9921f1ec4ca54c83ebb176dbacb7bb2d" url: "https://pub.dev" source: hosted - version: "1.1.9+1" + version: "1.1.9+2" vector_graphics_compiler: dependency: transitive description: name: vector_graphics_compiler - sha256: d24333727332d9bd20990f1483af4e09abdb9b1fc7c3db940b56ab5c42790c26 + sha256: "03012b0a33775c5530576b70240308080e1d5050f0faf000118c20e6463bc0ad" url: "https://pub.dev" source: hosted - version: "1.1.9+1" + version: "1.1.9+2" vector_math: dependency: transitive description: @@ -805,14 +749,6 @@ packages: url: "https://pub.dev" source: hosted version: "2.1.4" - watcher: - dependency: transitive - description: - name: watcher - sha256: "3d2ad6751b3c16cf07c7fca317a1413b3f26530319181b37e3b9039b84fc01d8" - url: "https://pub.dev" - source: hosted - version: "1.1.0" web: dependency: transitive description: @@ -833,50 +769,50 @@ packages: dependency: transitive description: name: webview_flutter - sha256: "42393b4492e629aa3a88618530a4a00de8bb46e50e7b3993fedbfdc5352f0dbf" + sha256: "71e1bfaef41016c8d5954291df5e9f8c6172f1f6ff3af01b5656456ddb11f94c" url: "https://pub.dev" source: hosted - version: "4.4.2" + version: "4.4.4" webview_flutter_android: dependency: transitive description: name: webview_flutter_android - sha256: "8326ee235f87605a2bfc444a4abc897f4abc78d83f054ba7d3d1074ce82b4fbf" + sha256: "161af93c2abaf94ef2192bffb53a3658b2d721a3bf99b69aa1e47814ee18cc96" url: "https://pub.dev" source: hosted - version: "3.12.1" + version: "3.13.2" webview_flutter_platform_interface: dependency: transitive description: name: webview_flutter_platform_interface - sha256: "68e86162aa8fc646ae859e1585995c096c95fc2476881fa0c4a8d10f56013a5a" + sha256: "80b40ae4fb959957eef9fa8970b6c9accda9f49fc45c2b75154696a8e8996cfe" url: "https://pub.dev" source: hosted - version: "2.8.0" + version: "2.9.1" webview_flutter_wkwebview: dependency: transitive description: name: webview_flutter_wkwebview - sha256: accdaaa49a2aca2dc3c3230907988954cdd23fed0a19525d6c9789d380f4dc76 + sha256: "4d062ad505390ecef1c4bfb6001cd857a51e00912cc9dfb66edb1886a9ebd80c" url: "https://pub.dev" source: hosted - version: "3.9.4" + version: "3.10.2" win32: dependency: transitive description: name: win32 - sha256: b0f37db61ba2f2e9b7a78a1caece0052564d1bc70668156cf3a29d676fe4e574 + sha256: "464f5674532865248444b4c3daca12bd9bf2d7c47f759ce2617986e7229494a8" url: "https://pub.dev" source: hosted - version: "5.1.1" + version: "5.2.0" xdg_directories: dependency: transitive description: name: xdg_directories - sha256: "589ada45ba9e39405c198fe34eb0f607cddb2108527e658136120892beac46d2" + sha256: faea9dee56b520b55a566385b84f2e8de55e7496104adada9962e0bd11bcff1d url: "https://pub.dev" source: hosted - version: "1.0.3" + version: "1.0.4" xml: dependency: transitive description: @@ -885,14 +821,6 @@ packages: url: "https://pub.dev" source: hosted version: "6.5.0" - yaml: - dependency: transitive - description: - name: yaml - sha256: "75769501ea3489fca56601ff33454fe45507ea3bfb014161abc3b43ae25989d5" - url: "https://pub.dev" - source: hosted - version: "3.1.2" yet_another_json_isolate: dependency: transitive description: