🐛 Adding fab to chat wide screen mode, close #244

This commit is contained in:
2026-02-02 03:13:27 +08:00
parent 6e5255550a
commit 5cdeb7bd22
3 changed files with 257 additions and 243 deletions

View File

@@ -44,83 +44,83 @@ PODS:
- Flutter - Flutter
- file_saver (0.0.1): - file_saver (0.0.1):
- Flutter - Flutter
- Firebase/CoreOnly (12.6.0): - Firebase/CoreOnly (12.8.0):
- FirebaseCore (~> 12.6.0) - FirebaseCore (~> 12.8.0)
- Firebase/Crashlytics (12.6.0): - Firebase/Crashlytics (12.8.0):
- Firebase/CoreOnly - Firebase/CoreOnly
- FirebaseCrashlytics (~> 12.6.0) - FirebaseCrashlytics (~> 12.8.0)
- Firebase/Messaging (12.6.0): - Firebase/Messaging (12.8.0):
- Firebase/CoreOnly - Firebase/CoreOnly
- FirebaseMessaging (~> 12.6.0) - FirebaseMessaging (~> 12.8.0)
- firebase_analytics (12.1.0): - firebase_analytics (12.1.1):
- firebase_core - firebase_core
- FirebaseAnalytics (= 12.6.0) - FirebaseAnalytics (= 12.8.0)
- Flutter - Flutter
- firebase_core (4.3.0): - firebase_core (4.4.0):
- Firebase/CoreOnly (= 12.6.0) - Firebase/CoreOnly (= 12.8.0)
- Flutter - Flutter
- firebase_crashlytics (5.0.6): - firebase_crashlytics (5.0.7):
- Firebase/Crashlytics (= 12.6.0) - Firebase/Crashlytics (= 12.8.0)
- firebase_core - firebase_core
- Flutter - Flutter
- firebase_messaging (16.1.0): - firebase_messaging (16.1.1):
- Firebase/Messaging (= 12.6.0) - Firebase/Messaging (= 12.8.0)
- firebase_core - firebase_core
- Flutter - Flutter
- FirebaseAnalytics (12.6.0): - FirebaseAnalytics (12.8.0):
- FirebaseAnalytics/Default (= 12.6.0) - FirebaseAnalytics/Default (= 12.8.0)
- FirebaseCore (~> 12.6.0) - FirebaseCore (~> 12.8.0)
- FirebaseInstallations (~> 12.6.0) - FirebaseInstallations (~> 12.8.0)
- GoogleUtilities/AppDelegateSwizzler (~> 8.1) - GoogleUtilities/AppDelegateSwizzler (~> 8.1)
- GoogleUtilities/MethodSwizzler (~> 8.1) - GoogleUtilities/MethodSwizzler (~> 8.1)
- GoogleUtilities/Network (~> 8.1) - GoogleUtilities/Network (~> 8.1)
- "GoogleUtilities/NSData+zlib (~> 8.1)" - "GoogleUtilities/NSData+zlib (~> 8.1)"
- nanopb (~> 3.30910.0) - nanopb (~> 3.30910.0)
- FirebaseAnalytics/Default (12.6.0): - FirebaseAnalytics/Default (12.8.0):
- FirebaseCore (~> 12.6.0) - FirebaseCore (~> 12.8.0)
- FirebaseInstallations (~> 12.6.0) - FirebaseInstallations (~> 12.8.0)
- GoogleAppMeasurement/Default (= 12.6.0) - GoogleAppMeasurement/Default (= 12.8.0)
- GoogleUtilities/AppDelegateSwizzler (~> 8.1) - GoogleUtilities/AppDelegateSwizzler (~> 8.1)
- GoogleUtilities/MethodSwizzler (~> 8.1) - GoogleUtilities/MethodSwizzler (~> 8.1)
- GoogleUtilities/Network (~> 8.1) - GoogleUtilities/Network (~> 8.1)
- "GoogleUtilities/NSData+zlib (~> 8.1)" - "GoogleUtilities/NSData+zlib (~> 8.1)"
- nanopb (~> 3.30910.0) - nanopb (~> 3.30910.0)
- FirebaseCore (12.6.0): - FirebaseCore (12.8.0):
- FirebaseCoreInternal (~> 12.6.0) - FirebaseCoreInternal (~> 12.8.0)
- GoogleUtilities/Environment (~> 8.1) - GoogleUtilities/Environment (~> 8.1)
- GoogleUtilities/Logger (~> 8.1) - GoogleUtilities/Logger (~> 8.1)
- FirebaseCoreExtension (12.6.0): - FirebaseCoreExtension (12.8.0):
- FirebaseCore (~> 12.6.0) - FirebaseCore (~> 12.8.0)
- FirebaseCoreInternal (12.6.0): - FirebaseCoreInternal (12.8.0):
- "GoogleUtilities/NSData+zlib (~> 8.1)" - "GoogleUtilities/NSData+zlib (~> 8.1)"
- FirebaseCrashlytics (12.6.0): - FirebaseCrashlytics (12.8.0):
- FirebaseCore (~> 12.6.0) - FirebaseCore (~> 12.8.0)
- FirebaseInstallations (~> 12.6.0) - FirebaseInstallations (~> 12.8.0)
- FirebaseRemoteConfigInterop (~> 12.6.0) - FirebaseRemoteConfigInterop (~> 12.8.0)
- FirebaseSessions (~> 12.6.0) - FirebaseSessions (~> 12.8.0)
- GoogleDataTransport (~> 10.1) - GoogleDataTransport (~> 10.1)
- GoogleUtilities/Environment (~> 8.1) - GoogleUtilities/Environment (~> 8.1)
- nanopb (~> 3.30910.0) - nanopb (~> 3.30910.0)
- PromisesObjC (~> 2.4) - PromisesObjC (~> 2.4)
- FirebaseInstallations (12.6.0): - FirebaseInstallations (12.8.0):
- FirebaseCore (~> 12.6.0) - FirebaseCore (~> 12.8.0)
- GoogleUtilities/Environment (~> 8.1) - GoogleUtilities/Environment (~> 8.1)
- GoogleUtilities/UserDefaults (~> 8.1) - GoogleUtilities/UserDefaults (~> 8.1)
- PromisesObjC (~> 2.4) - PromisesObjC (~> 2.4)
- FirebaseMessaging (12.6.0): - FirebaseMessaging (12.8.0):
- FirebaseCore (~> 12.6.0) - FirebaseCore (~> 12.8.0)
- FirebaseInstallations (~> 12.6.0) - FirebaseInstallations (~> 12.8.0)
- GoogleDataTransport (~> 10.1) - GoogleDataTransport (~> 10.1)
- GoogleUtilities/AppDelegateSwizzler (~> 8.1) - GoogleUtilities/AppDelegateSwizzler (~> 8.1)
- GoogleUtilities/Environment (~> 8.1) - GoogleUtilities/Environment (~> 8.1)
- GoogleUtilities/Reachability (~> 8.1) - GoogleUtilities/Reachability (~> 8.1)
- GoogleUtilities/UserDefaults (~> 8.1) - GoogleUtilities/UserDefaults (~> 8.1)
- nanopb (~> 3.30910.0) - nanopb (~> 3.30910.0)
- FirebaseRemoteConfigInterop (12.6.0) - FirebaseRemoteConfigInterop (12.8.0)
- FirebaseSessions (12.6.0): - FirebaseSessions (12.8.0):
- FirebaseCore (~> 12.6.0) - FirebaseCore (~> 12.8.0)
- FirebaseCoreExtension (~> 12.6.0) - FirebaseCoreExtension (~> 12.8.0)
- FirebaseInstallations (~> 12.6.0) - FirebaseInstallations (~> 12.8.0)
- GoogleDataTransport (~> 10.1) - GoogleDataTransport (~> 10.1)
- GoogleUtilities/Environment (~> 8.1) - GoogleUtilities/Environment (~> 8.1)
- GoogleUtilities/UserDefaults (~> 8.1) - GoogleUtilities/UserDefaults (~> 8.1)
@@ -161,23 +161,23 @@ PODS:
- GoogleUtilities/Logger (~> 8.1) - GoogleUtilities/Logger (~> 8.1)
- GoogleUtilities/Network (~> 8.1) - GoogleUtilities/Network (~> 8.1)
- nanopb (~> 3.30910.0) - nanopb (~> 3.30910.0)
- GoogleAppMeasurement/Core (12.6.0): - GoogleAppMeasurement/Core (12.8.0):
- GoogleUtilities/AppDelegateSwizzler (~> 8.1) - GoogleUtilities/AppDelegateSwizzler (~> 8.1)
- GoogleUtilities/MethodSwizzler (~> 8.1) - GoogleUtilities/MethodSwizzler (~> 8.1)
- GoogleUtilities/Network (~> 8.1) - GoogleUtilities/Network (~> 8.1)
- "GoogleUtilities/NSData+zlib (~> 8.1)" - "GoogleUtilities/NSData+zlib (~> 8.1)"
- nanopb (~> 3.30910.0) - nanopb (~> 3.30910.0)
- GoogleAppMeasurement/Default (12.6.0): - GoogleAppMeasurement/Default (12.8.0):
- GoogleAdsOnDeviceConversion (~> 3.2.0) - GoogleAdsOnDeviceConversion (~> 3.2.0)
- GoogleAppMeasurement/Core (= 12.6.0) - GoogleAppMeasurement/Core (= 12.8.0)
- GoogleAppMeasurement/IdentitySupport (= 12.6.0) - GoogleAppMeasurement/IdentitySupport (= 12.8.0)
- GoogleUtilities/AppDelegateSwizzler (~> 8.1) - GoogleUtilities/AppDelegateSwizzler (~> 8.1)
- GoogleUtilities/MethodSwizzler (~> 8.1) - GoogleUtilities/MethodSwizzler (~> 8.1)
- GoogleUtilities/Network (~> 8.1) - GoogleUtilities/Network (~> 8.1)
- "GoogleUtilities/NSData+zlib (~> 8.1)" - "GoogleUtilities/NSData+zlib (~> 8.1)"
- nanopb (~> 3.30910.0) - nanopb (~> 3.30910.0)
- GoogleAppMeasurement/IdentitySupport (12.6.0): - GoogleAppMeasurement/IdentitySupport (12.8.0):
- GoogleAppMeasurement/Core (= 12.6.0) - GoogleAppMeasurement/Core (= 12.8.0)
- GoogleUtilities/AppDelegateSwizzler (~> 8.1) - GoogleUtilities/AppDelegateSwizzler (~> 8.1)
- GoogleUtilities/MethodSwizzler (~> 8.1) - GoogleUtilities/MethodSwizzler (~> 8.1)
- GoogleUtilities/Network (~> 8.1) - GoogleUtilities/Network (~> 8.1)
@@ -275,7 +275,7 @@ PODS:
- Flutter - Flutter
- receive_sharing_intent (1.8.1): - receive_sharing_intent (1.8.1):
- Flutter - Flutter
- record_ios (1.1.0): - record_ios (1.2.0):
- Flutter - Flutter
- SDWebImage (5.21.5): - SDWebImage (5.21.5):
- SDWebImage/Core (= 5.21.5) - SDWebImage/Core (= 5.21.5)
@@ -527,20 +527,20 @@ SPEC CHECKSUMS:
DKPhotoGallery: b3834fecb755ee09a593d7c9e389d8b5d6deed60 DKPhotoGallery: b3834fecb755ee09a593d7c9e389d8b5d6deed60
file_picker: a0560bc09d61de87f12d246fc47d2119e6ef37be file_picker: a0560bc09d61de87f12d246fc47d2119e6ef37be
file_saver: 6cdbcddd690cb02b0c1a0c225b37cd805c2bf8b6 file_saver: 6cdbcddd690cb02b0c1a0c225b37cd805c2bf8b6
Firebase: a451a7b61536298fd5cbfe3a746fd40443a50679 Firebase: 9a58fdbc9d8655ed7b79a19cf9690bb007d3d46d
firebase_analytics: 4f9cca09e65f6c2944a862c6dc86f6bed9fb769c firebase_analytics: b5a19eaf3e4bf4187b0815ef4850b8916e2bc549
firebase_core: ba00a168e719694f38960502ceb560285603d073 firebase_core: ee30637e6744af8e0c12a6a1e8a9718506ec2398
firebase_crashlytics: 13f4b77e9ce2a84b1f8ea07f293db5b6213ce1cf firebase_crashlytics: 28b8f39df8104131376393e6af658b8b77dd120f
firebase_messaging: bf0e29321927edc02a563c984dbfa5b063864b15 firebase_messaging: 343de01a8d3e18b60df0c6d37f7174c44ae38e02
FirebaseAnalytics: d0a97a0db6425e5a5d966340b87f92ca7b13a557 FirebaseAnalytics: f20bbad8cb7f65d8a5eaefeb424ae8800a31bdfc
FirebaseCore: 0e38ad5d62d980a47a64b8e9301ffa311457be04 FirebaseCore: 0dbad74bda10b8fb9ca34ad8f375fb9dd3ebef7c
FirebaseCoreExtension: 032fd6f8509e591fda8cb76f6651f20d926b121f FirebaseCoreExtension: 6605938d51f765d8b18bfcafd2085276a252bee2
FirebaseCoreInternal: 69bf1306a05b8ac43004f6cc1f804bb7b05b229e FirebaseCoreInternal: fe5fa466aeb314787093a7dce9f0beeaad5a2a21
FirebaseCrashlytics: 3d6248c50726ee7832aef0e53cb84c9e64d9fa7e FirebaseCrashlytics: fb31c6907e5b52aa252668394d3f1ab326df1511
FirebaseInstallations: 631b38da2e11a83daa4bfb482f79d286a5dfa7ad FirebaseInstallations: 6a14ab3d694ebd9f839c48d330da5547e9ca9dc0
FirebaseMessaging: a61bc42dcab3f7a346d94bbb54dab2c9435b18b2 FirebaseMessaging: 7f42cfd10ec64181db4e01b305a613791c8e782c
FirebaseRemoteConfigInterop: 3443b8cb8fffd76bb3e03b2a84bfd3db952fcda4 FirebaseRemoteConfigInterop: 869ddca16614f979e5c931ece11fbb0b8729ed41
FirebaseSessions: 2e8f808347e665dff3e5843f275715f07045297d FirebaseSessions: d614ca154c63dbbc6c10d6c38259c2162c4e7c9b
Flutter: cabc95a1d2626b1b06e7179b784ebcf0c0cde467 Flutter: cabc95a1d2626b1b06e7179b784ebcf0c0cde467
flutter_app_update: 816fdb2e30e4832a7c45e3f108d391c42ef040a9 flutter_app_update: 816fdb2e30e4832a7c45e3f108d391c42ef040a9
flutter_inappwebview_ios: b89ba3482b96fb25e00c967aae065701b66e9b99 flutter_inappwebview_ios: b89ba3482b96fb25e00c967aae065701b66e9b99
@@ -553,7 +553,7 @@ SPEC CHECKSUMS:
flutter_webrtc: c3e21fc0dcd9d8eb246ae4d5256fcbeb2f5ecd22 flutter_webrtc: c3e21fc0dcd9d8eb246ae4d5256fcbeb2f5ecd22
gal: baecd024ebfd13c441269ca7404792a7152fde89 gal: baecd024ebfd13c441269ca7404792a7152fde89
GoogleAdsOnDeviceConversion: d68c69dd9581a0f5da02617b6f377e5be483970f GoogleAdsOnDeviceConversion: d68c69dd9581a0f5da02617b6f377e5be483970f
GoogleAppMeasurement: 3bf40aff49a601af5da1c3345702fcb4991d35ee GoogleAppMeasurement: 72c9a682fec6290327ea5e3c4b829b247fcb2c17
GoogleDataTransport: aae35b7ea0c09004c3797d53c8c41f66f219d6a7 GoogleDataTransport: aae35b7ea0c09004c3797d53c8c41f66f219d6a7
GoogleUtilities: 00c88b9a86066ef77f0da2fab05f65d7768ed8e1 GoogleUtilities: 00c88b9a86066ef77f0da2fab05f65d7768ed8e1
image_picker_ios: e0ece4aa2a75771a7de3fa735d26d90817041326 image_picker_ios: e0ece4aa2a75771a7de3fa735d26d90817041326
@@ -580,7 +580,7 @@ SPEC CHECKSUMS:
protocol_handler_ios: 59f23ee71f3ec602d67902ca7f669a80957888d5 protocol_handler_ios: 59f23ee71f3ec602d67902ca7f669a80957888d5
quick_actions_ios: 500fcc11711d9f646739093395c4ae8eec25f779 quick_actions_ios: 500fcc11711d9f646739093395c4ae8eec25f779
receive_sharing_intent: 222384f00ffe7e952bbfabaa9e3967cb87e5fe00 receive_sharing_intent: 222384f00ffe7e952bbfabaa9e3967cb87e5fe00
record_ios: f75fa1d57f840012775c0e93a38a7f3ceea1a374 record_ios: 412daca2350b228e698fffcd08f1f94ceb1e3844
SDWebImage: e9c98383c7572d713c1a0d7dd2783b10599b9838 SDWebImage: e9c98383c7572d713c1a0d7dd2783b10599b9838
sensors_plus: 6a11ed0c2e1d0bd0b20b4029d3bad27d96e0c65b sensors_plus: 6a11ed0c2e1d0bd0b20b4029d3bad27d96e0c65b
share_plus: 50da8cb520a8f0f65671c6c6a99b3617ed10a58a share_plus: 50da8cb520a8f0f65671c6c6a99b3617ed10a58a

View File

@@ -347,6 +347,78 @@ class ChatShellScreen extends HookConsumerWidget {
} }
} }
class ChatFabWidget extends HookConsumerWidget {
const ChatFabWidget({super.key});
@override
Widget build(BuildContext context, WidgetRef ref) {
final userInfo = ref.watch(userInfoProvider);
if (userInfo.value == null) {
return const SizedBox.shrink();
}
return FloatingActionButton(
child: const Icon(Symbols.add),
onPressed: () {
showModalBottomSheet(
context: context,
isScrollControlled: true,
useRootNavigator: true,
builder: (context) => Column(
mainAxisSize: MainAxisSize.min,
children: [
const Gap(40),
ListTile(
title: const Text('createChatRoom').tr(),
leading: const Icon(Symbols.add),
contentPadding: const EdgeInsets.symmetric(horizontal: 24),
onTap: () {
showModalBottomSheet(
context: context,
useRootNavigator: true,
isScrollControlled: true,
builder: (context) => const EditChatScreen(),
).then((value) {
if (value != null) {
eventBus.fire(const ChatRoomsRefreshEvent());
}
});
},
),
ListTile(
title: const Text('createDirectMessage').tr(),
leading: const Icon(Symbols.person),
contentPadding: const EdgeInsets.symmetric(horizontal: 24),
onTap: () async {
final result = await showModalBottomSheet(
context: context,
useRootNavigator: true,
isScrollControlled: true,
builder: (context) => const AccountPickerSheet(),
);
if (result == null) return;
final client = ref.read(apiClientProvider);
try {
await client.post(
'/messager/chat/direct',
data: {'related_user_id': result.id},
);
eventBus.fire(const ChatRoomsRefreshEvent());
} catch (err) {
showErrorAlert(err);
}
},
),
const Gap(16),
],
),
);
},
).padding(bottom: MediaQuery.of(context).padding.bottom);
}
}
class ChatListScreen extends HookConsumerWidget { class ChatListScreen extends HookConsumerWidget {
final bool isAside; final bool isAside;
final bool isFloating; final bool isFloating;
@@ -386,61 +458,66 @@ class ChatListScreen extends HookConsumerWidget {
margin: EdgeInsets.zero, margin: EdgeInsets.zero,
child: ClipRRect( child: ClipRRect(
borderRadius: const BorderRadius.all(Radius.circular(8)), borderRadius: const BorderRadius.all(Radius.circular(8)),
child: Column( child: Stack(
children: [ children: [
Row( Column(
children: [ children: [
Expanded( Row(
child: TabBar( children: [
dividerColor: Colors.transparent, Expanded(
controller: tabController, child: TabBar(
tabAlignment: TabAlignment.start, dividerColor: Colors.transparent,
isScrollable: true, controller: tabController,
tabs: [ tabAlignment: TabAlignment.start,
const Tab(icon: Icon(Symbols.chat)), isScrollable: true,
const Tab(icon: Icon(Symbols.person)), tabs: [
const Tab(icon: Icon(Symbols.group)), const Tab(icon: Icon(Symbols.chat)),
], const Tab(icon: Icon(Symbols.person)),
), const Tab(icon: Icon(Symbols.group)),
), ],
Padding(
padding: const EdgeInsets.only(right: 8),
child: IconButton(
icon: Badge(
label: Text(
chatInvites.when(
data: (invites) => invites.length.toString(),
error: (_, _) => '0',
loading: () => '0',
),
), ),
isLabelVisible: chatInvites.when(
data: (invites) => invites.isNotEmpty,
error: (_, _) => false,
loading: () => false,
),
child: const Icon(Symbols.email),
), ),
onPressed: () { Padding(
showModalBottomSheet( padding: const EdgeInsets.only(right: 8),
useRootNavigator: true, child: IconButton(
isScrollControlled: true, icon: Badge(
context: context, label: Text(
builder: (context) => const _ChatInvitesSheet(), chatInvites.when(
); data: (invites) => invites.length.toString(),
}, error: (_, _) => '0',
loading: () => '0',
),
),
isLabelVisible: chatInvites.when(
data: (invites) => invites.isNotEmpty,
error: (_, _) => false,
loading: () => false,
),
child: const Icon(Symbols.email),
),
onPressed: () {
showModalBottomSheet(
useRootNavigator: true,
isScrollControlled: true,
context: context,
builder: (context) => const _ChatInvitesSheet(),
);
},
),
),
],
).padding(horizontal: 8),
const Divider(height: 1),
Expanded(
child: ChatListBodyWidget(
isFloating: false,
tabController: tabController,
selectedTab: selectedTab,
), ),
), ),
], ],
).padding(horizontal: 8),
const Divider(height: 1),
Expanded(
child: ChatListBodyWidget(
isFloating: false,
tabController: tabController,
selectedTab: selectedTab,
),
), ),
Positioned(bottom: 16, right: 16, child: ChatFabWidget()),
], ],
), ),
), ),
@@ -457,70 +534,7 @@ class ChatListScreen extends HookConsumerWidget {
return AppScaffold( return AppScaffold(
extendBody: false, // Prevent conflicts with tabs navigation extendBody: false, // Prevent conflicts with tabs navigation
floatingActionButton: userInfo.value != null floatingActionButton: const ChatFabWidget(),
? FloatingActionButton(
child: const Icon(Symbols.add),
onPressed: () {
showModalBottomSheet(
context: context,
isScrollControlled: true,
useRootNavigator: true,
builder: (context) => Column(
mainAxisSize: MainAxisSize.min,
children: [
const Gap(40),
ListTile(
title: const Text('createChatRoom').tr(),
leading: const Icon(Symbols.add),
contentPadding: const EdgeInsets.symmetric(
horizontal: 24,
),
onTap: () {
showModalBottomSheet(
context: context,
useRootNavigator: true,
isScrollControlled: true,
builder: (context) => const EditChatScreen(),
).then((value) {
if (value != null) {
eventBus.fire(const ChatRoomsRefreshEvent());
}
});
},
),
ListTile(
title: const Text('createDirectMessage').tr(),
leading: const Icon(Symbols.person),
contentPadding: const EdgeInsets.symmetric(
horizontal: 24,
),
onTap: () async {
final result = await showModalBottomSheet(
context: context,
useRootNavigator: true,
isScrollControlled: true,
builder: (context) => const AccountPickerSheet(),
);
if (result == null) return;
final client = ref.read(apiClientProvider);
try {
await client.post(
'/messager/chat/direct',
data: {'related_user_id': result.id},
);
eventBus.fire(const ChatRoomsRefreshEvent());
} catch (err) {
showErrorAlert(err);
}
},
),
const Gap(16),
],
),
);
},
).padding(bottom: MediaQuery.of(context).padding.bottom)
: null,
appBar: AppBar( appBar: AppBar(
flexibleSpace: Container( flexibleSpace: Container(
height: 48, height: 48,

View File

@@ -15,85 +15,85 @@ PODS:
- FlutterMacOS - FlutterMacOS
- file_selector_macos (0.0.1): - file_selector_macos (0.0.1):
- FlutterMacOS - FlutterMacOS
- Firebase/CoreOnly (12.6.0): - Firebase/CoreOnly (12.8.0):
- FirebaseCore (~> 12.6.0) - FirebaseCore (~> 12.8.0)
- Firebase/Crashlytics (12.6.0): - Firebase/Crashlytics (12.8.0):
- Firebase/CoreOnly - Firebase/CoreOnly
- FirebaseCrashlytics (~> 12.6.0) - FirebaseCrashlytics (~> 12.8.0)
- Firebase/Messaging (12.6.0): - Firebase/Messaging (12.8.0):
- Firebase/CoreOnly - Firebase/CoreOnly
- FirebaseMessaging (~> 12.6.0) - FirebaseMessaging (~> 12.8.0)
- firebase_analytics (12.1.0): - firebase_analytics (12.1.1):
- firebase_core - firebase_core
- FirebaseAnalytics (= 12.6.0) - FirebaseAnalytics (= 12.8.0)
- FlutterMacOS - FlutterMacOS
- firebase_core (4.3.0): - firebase_core (4.4.0):
- Firebase/CoreOnly (~> 12.6.0) - Firebase/CoreOnly (~> 12.8.0)
- FlutterMacOS - FlutterMacOS
- firebase_crashlytics (5.0.6): - firebase_crashlytics (5.0.7):
- Firebase/CoreOnly (~> 12.6.0) - Firebase/CoreOnly (~> 12.8.0)
- Firebase/Crashlytics (~> 12.6.0) - Firebase/Crashlytics (~> 12.8.0)
- firebase_core - firebase_core
- FlutterMacOS - FlutterMacOS
- firebase_messaging (16.1.0): - firebase_messaging (16.1.1):
- Firebase/CoreOnly (~> 12.6.0) - Firebase/CoreOnly (~> 12.8.0)
- Firebase/Messaging (~> 12.6.0) - Firebase/Messaging (~> 12.8.0)
- firebase_core - firebase_core
- FlutterMacOS - FlutterMacOS
- FirebaseAnalytics (12.6.0): - FirebaseAnalytics (12.8.0):
- FirebaseAnalytics/Default (= 12.6.0) - FirebaseAnalytics/Default (= 12.8.0)
- FirebaseCore (~> 12.6.0) - FirebaseCore (~> 12.8.0)
- FirebaseInstallations (~> 12.6.0) - FirebaseInstallations (~> 12.8.0)
- GoogleUtilities/AppDelegateSwizzler (~> 8.1) - GoogleUtilities/AppDelegateSwizzler (~> 8.1)
- GoogleUtilities/MethodSwizzler (~> 8.1) - GoogleUtilities/MethodSwizzler (~> 8.1)
- GoogleUtilities/Network (~> 8.1) - GoogleUtilities/Network (~> 8.1)
- "GoogleUtilities/NSData+zlib (~> 8.1)" - "GoogleUtilities/NSData+zlib (~> 8.1)"
- nanopb (~> 3.30910.0) - nanopb (~> 3.30910.0)
- FirebaseAnalytics/Default (12.6.0): - FirebaseAnalytics/Default (12.8.0):
- FirebaseCore (~> 12.6.0) - FirebaseCore (~> 12.8.0)
- FirebaseInstallations (~> 12.6.0) - FirebaseInstallations (~> 12.8.0)
- GoogleAppMeasurement/Default (= 12.6.0) - GoogleAppMeasurement/Default (= 12.8.0)
- GoogleUtilities/AppDelegateSwizzler (~> 8.1) - GoogleUtilities/AppDelegateSwizzler (~> 8.1)
- GoogleUtilities/MethodSwizzler (~> 8.1) - GoogleUtilities/MethodSwizzler (~> 8.1)
- GoogleUtilities/Network (~> 8.1) - GoogleUtilities/Network (~> 8.1)
- "GoogleUtilities/NSData+zlib (~> 8.1)" - "GoogleUtilities/NSData+zlib (~> 8.1)"
- nanopb (~> 3.30910.0) - nanopb (~> 3.30910.0)
- FirebaseCore (12.6.0): - FirebaseCore (12.8.0):
- FirebaseCoreInternal (~> 12.6.0) - FirebaseCoreInternal (~> 12.8.0)
- GoogleUtilities/Environment (~> 8.1) - GoogleUtilities/Environment (~> 8.1)
- GoogleUtilities/Logger (~> 8.1) - GoogleUtilities/Logger (~> 8.1)
- FirebaseCoreExtension (12.6.0): - FirebaseCoreExtension (12.8.0):
- FirebaseCore (~> 12.6.0) - FirebaseCore (~> 12.8.0)
- FirebaseCoreInternal (12.6.0): - FirebaseCoreInternal (12.8.0):
- "GoogleUtilities/NSData+zlib (~> 8.1)" - "GoogleUtilities/NSData+zlib (~> 8.1)"
- FirebaseCrashlytics (12.6.0): - FirebaseCrashlytics (12.8.0):
- FirebaseCore (~> 12.6.0) - FirebaseCore (~> 12.8.0)
- FirebaseInstallations (~> 12.6.0) - FirebaseInstallations (~> 12.8.0)
- FirebaseRemoteConfigInterop (~> 12.6.0) - FirebaseRemoteConfigInterop (~> 12.8.0)
- FirebaseSessions (~> 12.6.0) - FirebaseSessions (~> 12.8.0)
- GoogleDataTransport (~> 10.1) - GoogleDataTransport (~> 10.1)
- GoogleUtilities/Environment (~> 8.1) - GoogleUtilities/Environment (~> 8.1)
- nanopb (~> 3.30910.0) - nanopb (~> 3.30910.0)
- PromisesObjC (~> 2.4) - PromisesObjC (~> 2.4)
- FirebaseInstallations (12.6.0): - FirebaseInstallations (12.8.0):
- FirebaseCore (~> 12.6.0) - FirebaseCore (~> 12.8.0)
- GoogleUtilities/Environment (~> 8.1) - GoogleUtilities/Environment (~> 8.1)
- GoogleUtilities/UserDefaults (~> 8.1) - GoogleUtilities/UserDefaults (~> 8.1)
- PromisesObjC (~> 2.4) - PromisesObjC (~> 2.4)
- FirebaseMessaging (12.6.0): - FirebaseMessaging (12.8.0):
- FirebaseCore (~> 12.6.0) - FirebaseCore (~> 12.8.0)
- FirebaseInstallations (~> 12.6.0) - FirebaseInstallations (~> 12.8.0)
- GoogleDataTransport (~> 10.1) - GoogleDataTransport (~> 10.1)
- GoogleUtilities/AppDelegateSwizzler (~> 8.1) - GoogleUtilities/AppDelegateSwizzler (~> 8.1)
- GoogleUtilities/Environment (~> 8.1) - GoogleUtilities/Environment (~> 8.1)
- GoogleUtilities/Reachability (~> 8.1) - GoogleUtilities/Reachability (~> 8.1)
- GoogleUtilities/UserDefaults (~> 8.1) - GoogleUtilities/UserDefaults (~> 8.1)
- nanopb (~> 3.30910.0) - nanopb (~> 3.30910.0)
- FirebaseRemoteConfigInterop (12.6.0) - FirebaseRemoteConfigInterop (12.8.0)
- FirebaseSessions (12.6.0): - FirebaseSessions (12.8.0):
- FirebaseCore (~> 12.6.0) - FirebaseCore (~> 12.8.0)
- FirebaseCoreExtension (~> 12.6.0) - FirebaseCoreExtension (~> 12.8.0)
- FirebaseInstallations (~> 12.6.0) - FirebaseInstallations (~> 12.8.0)
- GoogleDataTransport (~> 10.1) - GoogleDataTransport (~> 10.1)
- GoogleUtilities/Environment (~> 8.1) - GoogleUtilities/Environment (~> 8.1)
- GoogleUtilities/UserDefaults (~> 8.1) - GoogleUtilities/UserDefaults (~> 8.1)
@@ -119,23 +119,23 @@ PODS:
- gal (1.0.0): - gal (1.0.0):
- Flutter - Flutter
- FlutterMacOS - FlutterMacOS
- GoogleAppMeasurement/Core (12.6.0): - GoogleAppMeasurement/Core (12.8.0):
- GoogleUtilities/AppDelegateSwizzler (~> 8.1) - GoogleUtilities/AppDelegateSwizzler (~> 8.1)
- GoogleUtilities/MethodSwizzler (~> 8.1) - GoogleUtilities/MethodSwizzler (~> 8.1)
- GoogleUtilities/Network (~> 8.1) - GoogleUtilities/Network (~> 8.1)
- "GoogleUtilities/NSData+zlib (~> 8.1)" - "GoogleUtilities/NSData+zlib (~> 8.1)"
- nanopb (~> 3.30910.0) - nanopb (~> 3.30910.0)
- GoogleAppMeasurement/Default (12.6.0): - GoogleAppMeasurement/Default (12.8.0):
- GoogleAdsOnDeviceConversion (~> 3.2.0) - GoogleAdsOnDeviceConversion (~> 3.2.0)
- GoogleAppMeasurement/Core (= 12.6.0) - GoogleAppMeasurement/Core (= 12.8.0)
- GoogleAppMeasurement/IdentitySupport (= 12.6.0) - GoogleAppMeasurement/IdentitySupport (= 12.8.0)
- GoogleUtilities/AppDelegateSwizzler (~> 8.1) - GoogleUtilities/AppDelegateSwizzler (~> 8.1)
- GoogleUtilities/MethodSwizzler (~> 8.1) - GoogleUtilities/MethodSwizzler (~> 8.1)
- GoogleUtilities/Network (~> 8.1) - GoogleUtilities/Network (~> 8.1)
- "GoogleUtilities/NSData+zlib (~> 8.1)" - "GoogleUtilities/NSData+zlib (~> 8.1)"
- nanopb (~> 3.30910.0) - nanopb (~> 3.30910.0)
- GoogleAppMeasurement/IdentitySupport (12.6.0): - GoogleAppMeasurement/IdentitySupport (12.8.0):
- GoogleAppMeasurement/Core (= 12.6.0) - GoogleAppMeasurement/Core (= 12.8.0)
- GoogleUtilities/AppDelegateSwizzler (~> 8.1) - GoogleUtilities/AppDelegateSwizzler (~> 8.1)
- GoogleUtilities/MethodSwizzler (~> 8.1) - GoogleUtilities/MethodSwizzler (~> 8.1)
- GoogleUtilities/Network (~> 8.1) - GoogleUtilities/Network (~> 8.1)
@@ -209,7 +209,7 @@ PODS:
- PromisesObjC (= 2.4.0) - PromisesObjC (= 2.4.0)
- protocol_handler_macos (0.0.1): - protocol_handler_macos (0.0.1):
- FlutterMacOS - FlutterMacOS
- record_macos (1.1.0): - record_macos (1.2.0):
- FlutterMacOS - FlutterMacOS
- screen_retriever_macos (0.0.1): - screen_retriever_macos (0.0.1):
- FlutterMacOS - FlutterMacOS
@@ -431,20 +431,20 @@ SPEC CHECKSUMS:
file_picker: 7584aae6fa07a041af2b36a2655122d42f578c1a file_picker: 7584aae6fa07a041af2b36a2655122d42f578c1a
file_saver: e35bd97de451dde55ff8c38862ed7ad0f3418d0f file_saver: e35bd97de451dde55ff8c38862ed7ad0f3418d0f
file_selector_macos: 9e9e068e90ebee155097d00e89ae91edb2374db7 file_selector_macos: 9e9e068e90ebee155097d00e89ae91edb2374db7
Firebase: a451a7b61536298fd5cbfe3a746fd40443a50679 Firebase: 9a58fdbc9d8655ed7b79a19cf9690bb007d3d46d
firebase_analytics: d59fdb2c980c7975f249eafd51520a45d4050a77 firebase_analytics: a5e02c7d878b16431358e4b65808c171db05ae5a
firebase_core: 2ccd04fc130691db5f3d3cd9aa43ab430004c1e9 firebase_core: b1697fb64ff2b9ca16baaa821205f8b0c058e5d2
firebase_crashlytics: a2ffade1722840166ba9b05a5aa846a23cd84cb3 firebase_crashlytics: 1fc281aed26b12f6076d4be765f3dc66a453c64b
firebase_messaging: 80efbf2e975a91f612ce5b5d18c67e5a762fbdf8 firebase_messaging: e6b30479b390f3a41203a7244886c6ab345536d3
FirebaseAnalytics: d0a97a0db6425e5a5d966340b87f92ca7b13a557 FirebaseAnalytics: f20bbad8cb7f65d8a5eaefeb424ae8800a31bdfc
FirebaseCore: 0e38ad5d62d980a47a64b8e9301ffa311457be04 FirebaseCore: 0dbad74bda10b8fb9ca34ad8f375fb9dd3ebef7c
FirebaseCoreExtension: 032fd6f8509e591fda8cb76f6651f20d926b121f FirebaseCoreExtension: 6605938d51f765d8b18bfcafd2085276a252bee2
FirebaseCoreInternal: 69bf1306a05b8ac43004f6cc1f804bb7b05b229e FirebaseCoreInternal: fe5fa466aeb314787093a7dce9f0beeaad5a2a21
FirebaseCrashlytics: 3d6248c50726ee7832aef0e53cb84c9e64d9fa7e FirebaseCrashlytics: fb31c6907e5b52aa252668394d3f1ab326df1511
FirebaseInstallations: 631b38da2e11a83daa4bfb482f79d286a5dfa7ad FirebaseInstallations: 6a14ab3d694ebd9f839c48d330da5547e9ca9dc0
FirebaseMessaging: a61bc42dcab3f7a346d94bbb54dab2c9435b18b2 FirebaseMessaging: 7f42cfd10ec64181db4e01b305a613791c8e782c
FirebaseRemoteConfigInterop: 3443b8cb8fffd76bb3e03b2a84bfd3db952fcda4 FirebaseRemoteConfigInterop: 869ddca16614f979e5c931ece11fbb0b8729ed41
FirebaseSessions: 2e8f808347e665dff3e5843f275715f07045297d FirebaseSessions: d614ca154c63dbbc6c10d6c38259c2162c4e7c9b
flutter_inappwebview_macos: c2d68649f9f8f1831bfcd98d73fd6256366d9d1d flutter_inappwebview_macos: c2d68649f9f8f1831bfcd98d73fd6256366d9d1d
flutter_local_notifications: 4bf37a31afde695b56091b4ae3e4d9c7a7e6cda0 flutter_local_notifications: 4bf37a31afde695b56091b4ae3e4d9c7a7e6cda0
flutter_secure_storage_darwin: acdb3f316ed05a3e68f856e0353b133eec373a23 flutter_secure_storage_darwin: acdb3f316ed05a3e68f856e0353b133eec373a23
@@ -453,7 +453,7 @@ SPEC CHECKSUMS:
flutter_webrtc: 718eae22a371cd94e5d56aa4f301443ebc5bb737 flutter_webrtc: 718eae22a371cd94e5d56aa4f301443ebc5bb737
FlutterMacOS: d0db08ddef1a9af05a5ec4b724367152bb0500b1 FlutterMacOS: d0db08ddef1a9af05a5ec4b724367152bb0500b1
gal: baecd024ebfd13c441269ca7404792a7152fde89 gal: baecd024ebfd13c441269ca7404792a7152fde89
GoogleAppMeasurement: 3bf40aff49a601af5da1c3345702fcb4991d35ee GoogleAppMeasurement: 72c9a682fec6290327ea5e3c4b829b247fcb2c17
GoogleDataTransport: aae35b7ea0c09004c3797d53c8c41f66f219d6a7 GoogleDataTransport: aae35b7ea0c09004c3797d53c8c41f66f219d6a7
GoogleUtilities: 00c88b9a86066ef77f0da2fab05f65d7768ed8e1 GoogleUtilities: 00c88b9a86066ef77f0da2fab05f65d7768ed8e1
HotKey: 400beb7caa29054ea8d864c96f5ba7e5b4852277 HotKey: 400beb7caa29054ea8d864c96f5ba7e5b4852277
@@ -473,7 +473,7 @@ SPEC CHECKSUMS:
PromisesObjC: f5707f49cb48b9636751c5b2e7d227e43fba9f47 PromisesObjC: f5707f49cb48b9636751c5b2e7d227e43fba9f47
PromisesSwift: 9d77319bbe72ebf6d872900551f7eeba9bce2851 PromisesSwift: 9d77319bbe72ebf6d872900551f7eeba9bce2851
protocol_handler_macos: f9cd7b13bcaf6b0425f7410cbe52376cb843a936 protocol_handler_macos: f9cd7b13bcaf6b0425f7410cbe52376cb843a936
record_macos: 43194b6c06ca6f8fa132e2acea72b202b92a0f5b record_macos: 7f227161b93c49e7e34fe681c5891c8622c8cc8b
screen_retriever_macos: 452e51764a9e1cdb74b3c541238795849f21557f screen_retriever_macos: 452e51764a9e1cdb74b3c541238795849f21557f
share_plus: 510bf0af1a42cd602274b4629920c9649c52f4cc share_plus: 510bf0af1a42cd602274b4629920c9649c52f4cc
shared_preferences_foundation: 7036424c3d8ec98dfe75ff1667cb0cd531ec82bb shared_preferences_foundation: 7036424c3d8ec98dfe75ff1667cb0cd531ec82bb