chore: Follow up leave abandoned DM room

This commit is contained in:
Krille 2023-01-15 10:05:54 +01:00
parent ddb7cc841b
commit 4afb9a4790
2 changed files with 21 additions and 1 deletions

View File

@ -165,6 +165,20 @@ class ChatController extends State<Chat> {
VRouter.of(context).toSegments(['rooms', roomId]);
}
void leaveChat() async {
final room = this.room;
if (room == null) {
throw Exception(
'Leave room button clicked while room is null. This should not be possible from the UI!');
}
final success = await showFutureLoadingDialog(
context: context,
future: room.leave,
);
if (success.error != null) return;
VRouter.of(context).to('/rooms');
}
EmojiPickerType emojiPickerType = EmojiPickerType.keyboard;
void requestHistory() async {

View File

@ -298,6 +298,8 @@ class ChatView extends StatelessWidget {
children: [
TextButton.icon(
style: TextButton.styleFrom(
padding:
const EdgeInsets.all(16),
foregroundColor:
Theme.of(context)
.colorScheme
@ -306,12 +308,16 @@ class ChatView extends StatelessWidget {
icon: const Icon(
Icons.archive_outlined,
),
onPressed: () {},
onPressed: controller.leaveChat,
label: Text(
L10n.of(context)!.leave,
),
),
TextButton.icon(
style: TextButton.styleFrom(
padding:
const EdgeInsets.all(16),
),
icon: const Icon(
Icons.chat_outlined,
),