From 88797170de1ec8b4f30b2b74fdb5c9b771d08a37 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakob=20K=C3=B6rber?= <56073945+jakobkoerber@users.noreply.github.com> Date: Tue, 10 Dec 2024 12:05:53 +0100 Subject: [PATCH] Make Student Card Picture hideable on Home (#301) --- assets/translations/de.json | 3 +- assets/translations/en.json | 3 +- ios/Podfile.lock | 49 ++++----- lib/base/enums/user_preference.dart | 1 + .../contact_card_loading_view.dart | 19 ++-- .../view/contactCard/contact_card_view.dart | 63 ++++++----- .../model/personDetails/person_details.dart | 5 +- .../viewModels/settings_viewmodel.dart | 4 + .../views/appearance_settings_view.dart | 22 ++++ .../views/settings_view.dart | 1 + pubspec.lock | 100 +++++++++--------- 11 files changed, 157 insertions(+), 113 deletions(-) diff --git a/assets/translations/de.json b/assets/translations/de.json index 9d9a0d18..4a306098 100644 --- a/assets/translations/de.json +++ b/assets/translations/de.json @@ -233,5 +233,6 @@ "suggested": "Interessante {}", "more": "Mehr", "visibility": "Sichtbarkeit", - "utilizationAt": "Auslastung bei {}%" + "utilizationAt": "Auslastung bei {}%", + "showStudentCardPicture": "Student Card Bild zeigen" } diff --git a/assets/translations/en.json b/assets/translations/en.json index 78de0876..5508127a 100644 --- a/assets/translations/en.json +++ b/assets/translations/en.json @@ -233,5 +233,6 @@ "suggested": "Suggested {}", "more": "More", "visibility": "Visibility", - "utilizationAt": "Utilization at {}%" + "utilizationAt": "Utilization at {}%", + "showStudentCardPicture": "Show Student Card Picture" } diff --git a/ios/Podfile.lock b/ios/Podfile.lock index f2387848..7a72740e 100644 --- a/ios/Podfile.lock +++ b/ios/Podfile.lock @@ -9,14 +9,14 @@ PODS: - Firebase/RemoteConfig (11.4.0): - Firebase/CoreOnly - FirebaseRemoteConfig (~> 11.4.0) - - firebase_core (3.8.0): + - firebase_core (3.8.1): - Firebase/CoreOnly (= 11.4.0) - Flutter - - firebase_crashlytics (4.1.5): + - firebase_crashlytics (4.2.0): - Firebase/Crashlytics (= 11.4.0) - firebase_core - Flutter - - firebase_remote_config (5.1.5): + - firebase_remote_config (5.2.0): - Firebase/RemoteConfig (= 11.4.0) - firebase_core - Flutter @@ -28,7 +28,7 @@ PODS: - GoogleUtilities/Logger (~> 8.0) - FirebaseCoreExtension (11.4.1): - FirebaseCore (~> 11.0) - - FirebaseCoreInternal (11.5.0): + - FirebaseCoreInternal (11.6.0): - "GoogleUtilities/NSData+zlib (~> 8.0)" - FirebaseCrashlytics (11.4.0): - FirebaseCore (~> 11.4) @@ -52,7 +52,7 @@ PODS: - FirebaseSharedSwift (~> 11.0) - GoogleUtilities/Environment (~> 8.0) - "GoogleUtilities/NSData+zlib (~> 8.0)" - - FirebaseRemoteConfigInterop (11.5.0) + - FirebaseRemoteConfigInterop (11.6.0) - FirebaseSessions (11.4.0): - FirebaseCore (~> 11.4) - FirebaseCoreExtension (~> 11.4) @@ -62,7 +62,7 @@ PODS: - GoogleUtilities/UserDefaults (~> 8.0) - nanopb (~> 3.30910.0) - PromisesSwift (~> 2.1) - - FirebaseSharedSwift (11.5.0) + - FirebaseSharedSwift (11.6.0) - Flutter (1.0.0) - flutter_native_splash (2.4.3): - Flutter @@ -122,20 +122,21 @@ PODS: - sqflite_darwin (0.0.4): - Flutter - FlutterMacOS - - sqlite3 (3.47.0): - - sqlite3/common (= 3.47.0) - - sqlite3/common (3.47.0) - - sqlite3/dbstatvtab (3.47.0): + - sqlite3 (3.47.1): + - sqlite3/common (= 3.47.1) + - sqlite3/common (3.47.1) + - sqlite3/dbstatvtab (3.47.1): - sqlite3/common - - sqlite3/fts5 (3.47.0): + - sqlite3/fts5 (3.47.1): - sqlite3/common - - sqlite3/perf-threadsafe (3.47.0): + - sqlite3/perf-threadsafe (3.47.1): - sqlite3/common - - sqlite3/rtree (3.47.0): + - sqlite3/rtree (3.47.1): - sqlite3/common - sqlite3_flutter_libs (0.0.1): - Flutter - - sqlite3 (~> 3.47.0) + - FlutterMacOS + - sqlite3 (~> 3.47.1) - sqlite3/dbstatvtab - sqlite3/fts5 - sqlite3/perf-threadsafe @@ -164,7 +165,7 @@ DEPENDENCIES: - quick_actions_ios (from `.symlinks/plugins/quick_actions_ios/ios`) - shared_preferences_foundation (from `.symlinks/plugins/shared_preferences_foundation/darwin`) - sqflite_darwin (from `.symlinks/plugins/sqflite_darwin/darwin`) - - sqlite3_flutter_libs (from `.symlinks/plugins/sqlite3_flutter_libs/ios`) + - sqlite3_flutter_libs (from `.symlinks/plugins/sqlite3_flutter_libs/darwin`) - url_launcher_ios (from `.symlinks/plugins/url_launcher_ios/ios`) - video_player_avfoundation (from `.symlinks/plugins/video_player_avfoundation/darwin`) @@ -226,7 +227,7 @@ EXTERNAL SOURCES: sqflite_darwin: :path: ".symlinks/plugins/sqflite_darwin/darwin" sqlite3_flutter_libs: - :path: ".symlinks/plugins/sqlite3_flutter_libs/ios" + :path: ".symlinks/plugins/sqlite3_flutter_libs/darwin" url_launcher_ios: :path: ".symlinks/plugins/url_launcher_ios/ios" video_player_avfoundation: @@ -235,19 +236,19 @@ EXTERNAL SOURCES: SPEC CHECKSUMS: device_info_plus: bf2e3232933866d73fe290f2942f2156cdd10342 Firebase: cf1b19f21410b029b6786a54e9764a0cacad3c99 - firebase_core: 9efc3ecf689cdbc90f13f4dc58108c83ea46b266 - firebase_crashlytics: 72a8b504422ba8bb435a7a0c0a9341320cbcbe29 - firebase_remote_config: 96a9b7e79624c5d9d16befdef60791966bb83919 + firebase_core: 418aed674e9a0b8b6088aec16cde82a811f6261f + firebase_crashlytics: 757e252772ed3dd37c07638f9fcd4dceb5f101c8 + firebase_remote_config: 015a36be218a38943c2273d63b33bc983b3d7bb6 FirebaseABTesting: aef1719704fade00b200827e7973f352efc4caee FirebaseCore: e0510f1523bc0eb21653cac00792e1e2bd6f1771 FirebaseCoreExtension: f1bc67a4702931a7caa097d8e4ac0a1b0d16720e - FirebaseCoreInternal: f47dd28ae7782e6a4738aad3106071a8fe0af604 + FirebaseCoreInternal: d98ab91e2d80a56d7b246856a8885443b302c0c2 FirebaseCrashlytics: 41bbdd2b514a8523cede0c217aee6ef7ecf38401 FirebaseInstallations: 6ef4a1c7eb2a61ee1f74727d7f6ce2e72acf1414 FirebaseRemoteConfig: 7655681d02417bc9b287338edb9d721ff79e1a4a - FirebaseRemoteConfigInterop: 7a7aebb9342d53913a5c890efa88e289d9e5c1bc + FirebaseRemoteConfigInterop: e75e348953352a000331eb77caf01e424248e176 FirebaseSessions: 3f56f177d9e53a85021d16b31f9a111849d1dd8b - FirebaseSharedSwift: 302ac5967857ad7e7388b15382d705b8c8d892aa + FirebaseSharedSwift: a4e5dfca3e210633bb3a3dfb94176c019211948b Flutter: e0871f40cf51350855a761d2e70bf5af5b9b5de7 flutter_native_splash: e8a1e01082d97a8099d973f919f57904c925008a flutter_secure_storage: d33dac7ae2ea08509be337e775f6b59f1ff45f12 @@ -268,8 +269,8 @@ SPEC CHECKSUMS: quick_actions_ios: 56f3cbaa71e94f212838d1f9fe354bd0734779bf shared_preferences_foundation: fcdcbc04712aee1108ac7fda236f363274528f78 sqflite_darwin: 5a7236e3b501866c1c9befc6771dfd73ffb8702d - sqlite3: 0aa20658a9b238a3b1ff7175eb7bdd863b0ab4fd - sqlite3_flutter_libs: b55ef23cfafea5318ae5081e0bf3fbbce8417c94 + sqlite3: 1e522f0938463e44b7faf50393b40bdc1e1e456d + sqlite3_flutter_libs: 1b4e98da20ebd4e9b1240269b78cdcf492dbe9f3 url_launcher_ios: 5334b05cef931de560670eeae103fd3e431ac3fe video_player_avfoundation: 7c6c11d8470e1675df7397027218274b6d2360b3 diff --git a/lib/base/enums/user_preference.dart b/lib/base/enums/user_preference.dart index 9f68bd0d..7ec6e0d4 100644 --- a/lib/base/enums/user_preference.dart +++ b/lib/base/enums/user_preference.dart @@ -6,6 +6,7 @@ enum UserPreference { theme(int), calendarColors(String), browser(bool), + studentCardPicture(bool), failedGrades(bool), weekends(bool), hiddenCalendarEntries(bool), diff --git a/lib/homeComponent/view/contactCard/contact_card_loading_view.dart b/lib/homeComponent/view/contactCard/contact_card_loading_view.dart index c14b0469..ec908bf6 100644 --- a/lib/homeComponent/view/contactCard/contact_card_loading_view.dart +++ b/lib/homeComponent/view/contactCard/contact_card_loading_view.dart @@ -1,3 +1,5 @@ +import 'package:campus_flutter/base/enums/device.dart'; +import 'package:campus_flutter/base/services/device_type_service.dart'; import 'package:campus_flutter/base/util/placeholder_text.dart'; import 'package:campus_flutter/base/util/shimmer_view.dart'; import 'package:campus_flutter/homeComponent/view/contactCard/contact_card_view.dart'; @@ -20,15 +22,16 @@ class ContactCardLoadingView extends StatelessWidget { Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ - ShimmerView( - child: PlaceholderText( - text: "StudentCard".toUpperCase(), - style: Theme.of(context).textTheme.bodySmall?.copyWith( - color: Colors.grey, - fontWeight: FontWeight.w700, - ), + if (DeviceService.getType(context) == Device.phone) + ShimmerView( + child: PlaceholderText( + text: "StudentCard".toUpperCase(), + style: Theme.of(context).textTheme.bodySmall?.copyWith( + color: Colors.grey, + fontWeight: FontWeight.w700, + ), + ), ), - ), ShimmerView( child: PlaceholderText( text: "Max Mustermann", diff --git a/lib/homeComponent/view/contactCard/contact_card_view.dart b/lib/homeComponent/view/contactCard/contact_card_view.dart index 3d265c5b..dd39760d 100644 --- a/lib/homeComponent/view/contactCard/contact_card_view.dart +++ b/lib/homeComponent/view/contactCard/contact_card_view.dart @@ -1,12 +1,14 @@ import 'package:auto_size_text/auto_size_text.dart'; +import 'package:campus_flutter/base/enums/device.dart'; import 'package:campus_flutter/base/extensions/base_64_decode_image_data.dart'; +import 'package:campus_flutter/base/services/device_type_service.dart'; import 'package:campus_flutter/base/util/delayed_loading_indicator.dart'; import 'package:campus_flutter/homeComponent/view/contactCard/contact_card_loading_view.dart'; import 'package:campus_flutter/navigation_service.dart'; import 'package:campus_flutter/personComponent/model/personDetails/person_details.dart'; import 'package:campus_flutter/personComponent/model/profile/profile.dart'; import 'package:campus_flutter/personComponent/viewModel/person_details_viewmodel.dart'; -import 'package:campus_flutter/studentCardComponent/model/student_card.dart'; +import 'package:campus_flutter/settingsComponent/views/settings_view.dart'; import 'package:campus_flutter/studentCardComponent/viewModel/student_card_viewmodel.dart'; import 'package:easy_localization/easy_localization.dart'; import 'package:flutter/material.dart'; @@ -60,20 +62,21 @@ class _ContactCardViewState extends ConsumerState { padding: const EdgeInsets.all(10.0), child: Row( children: [ - profilePicture(), + profilePicture(data), const Padding(padding: EdgeInsets.only(left: 15)), Expanded( child: Column( crossAxisAlignment: CrossAxisAlignment.start, mainAxisAlignment: MainAxisAlignment.center, children: [ - Text( - "StudentCard".toUpperCase(), - style: Theme.of(context).textTheme.bodySmall?.copyWith( - color: Colors.grey, - fontWeight: FontWeight.w700, - ), - ), + if (DeviceService.getType(context) == Device.phone) + Text( + "StudentCard".toUpperCase(), + style: Theme.of(context).textTheme.bodySmall?.copyWith( + color: Colors.grey, + fontWeight: FontWeight.w700, + ), + ), Text( data?.fullName ?? profile.fullName, style: Theme.of(context).textTheme.headlineSmall, @@ -95,27 +98,35 @@ class _ContactCardViewState extends ConsumerState { ); } - Widget profilePicture() { - return StreamBuilder( - stream: ref.watch(studentCardViewModel).studentCard, - builder: (context, snapshot) { - if (snapshot.hasData || snapshot.hasError) { - return CircleAvatar( - backgroundImage: imageData(snapshot), - backgroundColor: Theme.of(context).cardTheme.color, - radius: contactImageSize / 2, - ); - } else { - return SizedBox(height: contactImageSize, width: contactImageSize); - } - }, + Widget profilePicture(PersonDetails? data) { + if (ref.read(showStudentCardPicture)) { + return StreamBuilder( + stream: ref.watch(studentCardViewModel).studentCard, + builder: (context, snapshot) { + if (snapshot.hasData || snapshot.hasError) { + return image(snapshot.data?.firstOrNull?.image); + } else { + return SizedBox(height: contactImageSize, width: contactImageSize); + } + }, + ); + } else { + return image(data?.imageData); + } + } + + Widget image(String? imageData) { + return CircleAvatar( + backgroundImage: provideImage(imageData), + backgroundColor: Theme.of(context).cardTheme.color, + radius: contactImageSize / 2, ); } - ImageProvider imageData(AsyncSnapshot?> snapshot) { - if (snapshot.hasData && snapshot.data!.isNotEmpty) { + ImageProvider provideImage(String? imageData) { + if (imageData != null) { return Image.memory( - base64DecodeImageData(snapshot.data!.first.image), + base64DecodeImageData(imageData), ).image; } else { return const AssetImage( diff --git a/lib/personComponent/model/personDetails/person_details.dart b/lib/personComponent/model/personDetails/person_details.dart index f8369067..f1eaca65 100644 --- a/lib/personComponent/model/personDetails/person_details.dart +++ b/lib/personComponent/model/personDetails/person_details.dart @@ -1,11 +1,10 @@ +import 'package:campus_flutter/base/enums/gender.dart'; import 'package:campus_flutter/personComponent/model/personDetails/contact_info.dart'; +import 'package:campus_flutter/personComponent/model/personDetails/organisation.dart'; import 'package:campus_flutter/personComponent/model/personDetails/phone_extension.dart'; import 'package:campus_flutter/personComponent/model/personDetails/room.dart'; import 'package:json_annotation/json_annotation.dart'; -import '../../../base/enums/gender.dart'; -import 'organisation.dart'; - part 'person_details.g.dart'; @JsonSerializable() diff --git a/lib/settingsComponent/viewModels/settings_viewmodel.dart b/lib/settingsComponent/viewModels/settings_viewmodel.dart index 761daf69..35684bcd 100644 --- a/lib/settingsComponent/viewModels/settings_viewmodel.dart +++ b/lib/settingsComponent/viewModels/settings_viewmodel.dart @@ -30,6 +30,8 @@ class SettingsViewModel { Appearance.values[value as int]; case UserPreference.browser: ref.read(useWebView.notifier).state = value as bool; + case UserPreference.studentCardPicture: + ref.read(showStudentCardPicture.notifier).state = value as bool; case UserPreference.failedGrades: ref.read(hideFailedGrades.notifier).state = value as bool; case UserPreference.weekends: @@ -53,6 +55,8 @@ class SettingsViewModel { value = value.index; case UserPreference.browser: ref.read(useWebView.notifier).state = value as bool; + case UserPreference.studentCardPicture: + ref.read(showStudentCardPicture.notifier).state = value as bool; case UserPreference.failedGrades: ref.read(hideFailedGrades.notifier).state = value as bool; case UserPreference.weekends: diff --git a/lib/settingsComponent/views/appearance_settings_view.dart b/lib/settingsComponent/views/appearance_settings_view.dart index e8248044..242da20d 100644 --- a/lib/settingsComponent/views/appearance_settings_view.dart +++ b/lib/settingsComponent/views/appearance_settings_view.dart @@ -1,6 +1,7 @@ import 'package:campus_flutter/base/enums/appearance.dart'; import 'package:campus_flutter/base/enums/user_preference.dart'; import 'package:campus_flutter/base/util/seperated_list.dart'; +import 'package:campus_flutter/personComponent/viewModel/profile_viewmodel.dart'; import 'package:campus_flutter/studiesComponent/viewModel/grade_viewmodel.dart'; import 'package:campus_flutter/homeComponent/view/widget/widget_frame_view.dart'; import 'package:campus_flutter/main.dart'; @@ -22,6 +23,7 @@ class AppearanceSettingsView extends ConsumerWidget { widgets: [ _appearanceSelection(context, ref), _useWebView(context, ref), + _showStudentCardPicture(context, ref), _hideFailedGrades(context, ref), ], ), @@ -71,6 +73,26 @@ class AppearanceSettingsView extends ConsumerWidget { ); } + Widget _showStudentCardPicture(BuildContext context, WidgetRef ref) { + return ListTile( + dense: true, + title: Text( + context.tr("showStudentCardPicture"), + style: Theme.of(context).textTheme.bodyMedium, + ), + trailing: Switch( + value: ref.watch(showStudentCardPicture), + onChanged: (value) { + ref.read(settingsViewModel).savePreference( + UserPreference.studentCardPicture, + value, + ); + ref.read(profileViewModel).fetch(false); + }, + ), + ); + } + Widget _hideFailedGrades(BuildContext context, WidgetRef ref) { return ListTile( dense: true, diff --git a/lib/settingsComponent/views/settings_view.dart b/lib/settingsComponent/views/settings_view.dart index 103289cd..943e9783 100644 --- a/lib/settingsComponent/views/settings_view.dart +++ b/lib/settingsComponent/views/settings_view.dart @@ -14,6 +14,7 @@ import 'package:go_router/go_router.dart'; import 'package:package_info_plus/package_info_plus.dart'; final useWebView = StateProvider((ref) => true); +final showStudentCardPicture = StateProvider((ref) => true); final hideFailedGrades = StateProvider((ref) => false); final showWeekends = StateProvider((ref) => false); final showHiddenCalendarEntries = StateProvider((ref) => false); diff --git a/pubspec.lock b/pubspec.lock index 05f373f1..53e0578f 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -13,10 +13,10 @@ packages: dependency: transitive description: name: _flutterfire_internals - sha256: "71c01c1998c40b3af1944ad0a5f374b4e6fef7f3d2df487f3970dbeadaeb25a1" + sha256: eae3133cbb06de9205899b822e3897fc6a8bc278ad4c944b4ce612689369694b url: "https://pub.dev" source: hosted - version: "1.3.46" + version: "1.3.47" _macros: dependency: transitive description: dart @@ -258,10 +258,10 @@ packages: dependency: transitive description: name: coverage - sha256: "4b03e11f6d5b8f6e5bb5e9f7889a56fe6c5cbe942da5378ea4d4d7f73ef9dfe5" + sha256: e3493833ea012784c740e341952298f1cc77f1f01b1bbc3eb4eecf6984fb7f43 url: "https://pub.dev" source: hosted - version: "1.11.0" + version: "1.11.1" crypto: dependency: transitive description: @@ -322,18 +322,18 @@ packages: dependency: "direct main" description: name: drift - sha256: "530d6c5a79723dff418c49c0bb498360fd77c965ea234587e345826cb63ecdd2" + sha256: c2d073d35ad441730812f4ea05b5dd031fb81c5f9786a4f5fb77ecd6307b6f74 url: "https://pub.dev" source: hosted - version: "2.22.0" + version: "2.22.1" drift_dev: dependency: "direct dev" description: name: drift_dev - sha256: "488263d85d027333fc602eb7714125de317e8c7db064aa6c2f208a8f79139e7b" + sha256: f4ab5d6976b1e31551ceb82ff597a505bda7818ff4f7be08a1da9d55eb6e730c url: "https://pub.dev" source: hosted - version: "2.22.0" + version: "2.22.1" easy_localization: dependency: "direct main" description: @@ -378,66 +378,66 @@ packages: dependency: "direct main" description: name: firebase_core - sha256: "2438a75ad803e818ad3bd5df49137ee619c46b6fc7101f4dbc23da07305ce553" + sha256: fef81a53ba1ca618def1f8bef4361df07968434e62cb204c1fb90bb880a03da2 url: "https://pub.dev" source: hosted - version: "3.8.0" + version: "3.8.1" firebase_core_platform_interface: dependency: transitive description: name: firebase_core_platform_interface - sha256: e30da58198a6d4b49d5bce4e852f985c32cb10db329ebef9473db2b9f09ce810 + sha256: b94b217e3ad745e784960603d33d99471621ecca151c99c670869b76e50ad2a6 url: "https://pub.dev" source: hosted - version: "5.3.0" + version: "5.3.1" firebase_core_web: dependency: transitive description: name: firebase_core_web - sha256: f967a7138f5d2ffb1ce15950e2a382924239eaa521150a8f144af34e68b3b3e5 + sha256: "9e69806bb3d905aeec3c1242e0e1475de6ea6d48f456af29d598fb229a2b4e5e" url: "https://pub.dev" source: hosted - version: "2.18.1" + version: "2.18.2" firebase_crashlytics: dependency: "direct main" description: name: firebase_crashlytics - sha256: "4e80ef22428dfecf609df8049419c7446c6e1d797d7f307cad3c7ab70e72ddc5" + sha256: e235c8452d5622fc271404592388fde179e4b62c50e777ad3c8c3369296104ed url: "https://pub.dev" source: hosted - version: "4.1.5" + version: "4.2.0" firebase_crashlytics_platform_interface: dependency: transitive description: name: firebase_crashlytics_platform_interface - sha256: "1104f428ec5249fff62016985719bb232ca91c4bde0d1a033af9b7d8b7451d70" + sha256: "4ddadf44ed0a202f3acad053f12c083877940fa8cc1a9f747ae09e1ef4372160" url: "https://pub.dev" source: hosted - version: "3.6.46" + version: "3.7.0" firebase_remote_config: dependency: "direct main" description: name: firebase_remote_config - sha256: "29619302396823622dd9d0ccb8ac2b48804c518c0c82aa85ef3d86b91fdf55ca" + sha256: e377fd519e73baf5afae343da8c8a0a88b506cfbf2ea8ceb7614a8793d9a7083 url: "https://pub.dev" source: hosted - version: "5.1.5" + version: "5.2.0" firebase_remote_config_platform_interface: dependency: transitive description: name: firebase_remote_config_platform_interface - sha256: ae899364a77fdf706c2ec37f1336df1dd3cc6777f8cd6ce7cf0cae65830bf1cf + sha256: "95755bcab41c7c9c28ac92aefc1eb4c79ffcc7565e94833cb1e7a2c9320ba53f" url: "https://pub.dev" source: hosted - version: "1.4.46" + version: "1.4.47" firebase_remote_config_web: dependency: transitive description: name: firebase_remote_config_web - sha256: "6f018a0d7ce4b67784d29ec7193806e494adc243a4c880a4fab49e59afca212f" + sha256: "09ff1f3db2120e798530354dd77c49e6596d88eadcfe366eb3a083c2dd5d7cb0" url: "https://pub.dev" source: hosted - version: "1.7.4" + version: "1.7.5" fixnum: dependency: transitive description: @@ -664,10 +664,10 @@ packages: dependency: "direct main" description: name: go_router - sha256: "8660b74171fafae4aa8202100fa2e55349e078281dadc73a241eb8e758534d9d" + sha256: "2fd11229f59e23e967b0775df8d5948a519cd7e1e8b6e849729e010587b46539" url: "https://pub.dev" source: hosted - version: "14.6.1" + version: "14.6.2" google_identity_services_web: dependency: transitive description: @@ -897,10 +897,10 @@ packages: dependency: "direct main" description: name: lottie - sha256: "7afc60865a2429d994144f7d66ced2ae4305fe35d82890b8766e3359872d872c" + sha256: fa39707f36786707b01eca7626d2c16c32aa603b3f3a146518518458847dc127 url: "https://pub.dev" source: hosted - version: "3.1.3" + version: "3.2.0" macros: dependency: transitive description: @@ -1017,18 +1017,18 @@ packages: dependency: transitive description: name: path_provider_android - sha256: "8c4967f8b7cb46dc914e178daa29813d83ae502e0529d7b0478330616a691ef7" + sha256: "4adf4fd5423ec60a29506c76581bc05854c55e3a0b72d35bb28d661c9686edf2" url: "https://pub.dev" source: hosted - version: "2.2.14" + version: "2.2.15" path_provider_foundation: dependency: transitive description: name: path_provider_foundation - sha256: f234384a3fdd67f989b4d54a5d73ca2a6c422fa55ae694381ae0f4375cd1ea16 + sha256: "4843174df4d288f5e29185bd6e72a6fbdf5a4a4602717eed565497429f179942" url: "https://pub.dev" source: hosted - version: "2.4.0" + version: "2.4.1" path_provider_linux: dependency: transitive description: @@ -1241,10 +1241,10 @@ packages: dependency: transitive description: name: shared_preferences_android - sha256: "3b9febd815c9ca29c9e3520d50ec32f49157711e143b7a4ca039eb87e8ade5ab" + sha256: "7f172d1b06de5da47b6264c2692ee2ead20bbbc246690427cdb4fc301cd0c549" url: "https://pub.dev" source: hosted - version: "2.3.3" + version: "2.3.4" shared_preferences_foundation: dependency: transitive description: @@ -1430,10 +1430,10 @@ packages: dependency: "direct main" description: name: sqlite3_flutter_libs - sha256: "7ae52b23366e5295005022e62fa093f64bfe190810223ea0ebf733a4cd140bce" + sha256: "636b0fe8a2de894e5455572f6cbbc458f4ffecfe9f860b79439e27041ea4f0b9" url: "https://pub.dev" source: hosted - version: "0.5.26" + version: "0.5.27" sqlparser: dependency: transitive description: @@ -1486,34 +1486,34 @@ packages: dependency: "direct main" description: name: syncfusion_flutter_calendar - sha256: "948934cecada4fd977a1097a3ac6c69857b1838b26438da1b2d58e667fa81f45" + sha256: "20118a598cf5ae5b7ec84fa364e2b51070800f078466158fcd25864e1b5a2cfd" url: "https://pub.dev" source: hosted - version: "27.2.4" + version: "27.2.5" syncfusion_flutter_charts: dependency: "direct main" description: name: syncfusion_flutter_charts - sha256: "1cd2b58b8f2cebbc3f87c470be37cb906d4e3fe4cd16855626071f56ef24fd8f" + sha256: "6b05bd7eab479d033ee74e64dcbd9f879c65396e0963407bb1ac9e52af2b54b2" url: "https://pub.dev" source: hosted - version: "27.2.4" + version: "27.2.5" syncfusion_flutter_core: dependency: "direct main" description: name: syncfusion_flutter_core - sha256: "795530addc930b3b06f4f2fe99a039de276860af505fcf54c4516fbcb838a3cb" + sha256: "325f519ce4ad8edd81811c21b853d72018529e353584490824da0555156ba076" url: "https://pub.dev" source: hosted - version: "27.2.4" + version: "27.2.5" syncfusion_flutter_datepicker: dependency: "direct main" description: name: syncfusion_flutter_datepicker - sha256: eafdcb6084a3c50d482cf846a59dac86bee3cc3511f62f3b69fea14133ab57be + sha256: "2177e49eb8a1c0fce7081e40f5613c986d00e5e63cbeb98a6012f65ca156bfc7" url: "https://pub.dev" source: hosted - version: "27.2.4" + version: "27.2.5" synchronized: dependency: transitive description: @@ -1614,10 +1614,10 @@ packages: dependency: transitive description: name: url_launcher_ios - sha256: e43b677296fadce447e987a2f519dcf5f6d1e527dc35d01ffab4fff5b8a7063e + sha256: "16a513b6c12bb419304e72ea0ae2ab4fed569920d1c7cb850263fe3acc824626" url: "https://pub.dev" source: hosted - version: "6.3.1" + version: "6.3.2" url_launcher_linux: dependency: transitive description: @@ -1630,10 +1630,10 @@ packages: dependency: transitive description: name: url_launcher_macos - sha256: "769549c999acdb42b8bcfa7c43d72bf79a382ca7441ab18a808e101149daf672" + sha256: "17ba2000b847f334f16626a574c702b196723af2a289e7a93ffcb79acff855c2" url: "https://pub.dev" source: hosted - version: "3.2.1" + version: "3.2.2" url_launcher_platform_interface: dependency: transitive description: @@ -1718,10 +1718,10 @@ packages: dependency: transitive description: name: video_player_avfoundation - sha256: "0b146e5d82e886ff43e5a46c6bcbe390761b802864a6e2503eb612d69a405dfa" + sha256: f498e44a547a3572a928fa30ac8760e127d5e5fc86b81b10b0d56300866322f3 url: "https://pub.dev" source: hosted - version: "2.6.3" + version: "2.6.4" video_player_platform_interface: dependency: transitive description: