fix: Route back to room list after leaving a chat

This commit is contained in:
Christian Kußowski 2025-06-18 09:07:22 +02:00
commit 7d798c5770
No known key found for this signature in database
GPG key ID: E067ECD60F1A0652

View file

@ -56,6 +56,7 @@ class ChatSettingsPopupMenuState extends State<ChatSettingsPopupMenu> {
onSelected: (choice) async { onSelected: (choice) async {
switch (choice) { switch (choice) {
case ChatPopupMenuActions.leave: case ChatPopupMenuActions.leave:
final router = GoRouter.of(context);
final confirmed = await showOkCancelAlertDialog( final confirmed = await showOkCancelAlertDialog(
context: context, context: context,
title: L10n.of(context).areYouSure, title: L10n.of(context).areYouSure,
@ -64,15 +65,15 @@ class ChatSettingsPopupMenuState extends State<ChatSettingsPopupMenu> {
cancelLabel: L10n.of(context).cancel, cancelLabel: L10n.of(context).cancel,
isDestructive: true, isDestructive: true,
); );
if (confirmed == OkCancelResult.ok) { if (confirmed != OkCancelResult.ok) return;
final success = await showFutureLoadingDialog( final result = await showFutureLoadingDialog(
context: context, context: context,
future: () => widget.room.leave(), future: () => widget.room.leave(),
); );
if (success.error == null) { if (result.error == null) {
context.go('/rooms'); router.go('/rooms');
}
} }
break; break;
case ChatPopupMenuActions.mute: case ChatPopupMenuActions.mute:
await showFutureLoadingDialog( await showFutureLoadingDialog(