:drunk: Add call overlay

This commit is contained in:
2025-05-26 01:52:08 +08:00
parent fed8171b36
commit 6b4189a93b
4 changed files with 49 additions and 16 deletions

View File

@ -160,7 +160,12 @@ class AppScaffold extends StatelessWidget {
? content
: AppBackground(isRoot: true, child: content),
),
const _GlobalCallOverlay(),
Positioned(
left: 16,
right: 16,
bottom: 8,
child: const _GlobalCallOverlay(),
),
],
),
appBar: appBar,
@ -211,13 +216,8 @@ class _GlobalCallOverlay extends HookConsumerWidget {
final modalRoute = ModalRoute.of(context);
final isOnCallScreen = modalRoute?.settings.name?.contains('call') ?? false;
// You may want to store roomId in callState for more robust navigation
final roomId =
(modalRoute?.settings.arguments is Map &&
(modalRoute!.settings.arguments as Map).containsKey('roomId'))
? (modalRoute.settings.arguments as Map)['roomId'] as String
: null;
if (callState.isConnected && !isOnCallScreen && roomId != null) {
return CallOverlayBar(roomId: roomId);
if (callState.isConnected && !isOnCallScreen) {
return CallOverlayBar();
}
return const SizedBox.shrink();
}