From 4d616d62d71a7b66b85afae77a73d2e625aadc30 Mon Sep 17 00:00:00 2001 From: Christian Pauly Date: Sun, 26 Dec 2021 11:40:18 +0100 Subject: [PATCH] chore: Pause on display receipts --- lib/pages/story/story_page.dart | 42 ++++++++++++++++++--------------- 1 file changed, 23 insertions(+), 19 deletions(-) diff --git a/lib/pages/story/story_page.dart b/lib/pages/story/story_page.dart index 79dca5b4d..111da2970 100644 --- a/lib/pages/story/story_page.dart +++ b/lib/pages/story/story_page.dart @@ -44,11 +44,11 @@ class StoryPageController extends State { Event? get currentEvent => index < events.length ? events[index] : null; bool replyLoading = false; - bool _emojiSelector = false; + bool _modalOpened = false; void replyEmojiAction() async { if (replyLoading) return; - _emojiSelector = true; + _modalOpened = true; await showModalBottomSheet( context: context, builder: (context) => EmojiPicker( @@ -58,7 +58,7 @@ class StoryPageController extends State { }, ), ); - _emojiSelector = false; + _modalOpened = false; } void replyAction([String? message]) async { @@ -103,24 +103,28 @@ class StoryPageController extends State { []; } - void displaySeenByUsers() => showModalBottomSheet( - context: context, - builder: (context) => Scaffold( - appBar: AppBar( - title: Text(seenByUsersTitle), - ), - body: ListView.builder( - itemCount: currentSeenByUsers.length, - itemBuilder: (context, i) => ListTile( - leading: Avatar( - mxContent: currentSeenByUsers[i].avatarUrl, - name: currentSeenByUsers[i].calcDisplayname(), - ), - title: Text(currentSeenByUsers[i].calcDisplayname()), + void displaySeenByUsers() async { + _modalOpened = true; + await showModalBottomSheet( + context: context, + builder: (context) => Scaffold( + appBar: AppBar( + title: Text(seenByUsersTitle), + ), + body: ListView.builder( + itemCount: currentSeenByUsers.length, + itemBuilder: (context, i) => ListTile( + leading: Avatar( + mxContent: currentSeenByUsers[i].avatarUrl, + name: currentSeenByUsers[i].calcDisplayname(), ), + title: Text(currentSeenByUsers[i].calcDisplayname()), ), ), - ); + ), + ); + _modalOpened = false; + } String get seenByUsersTitle { final seenByUsers = currentSeenByUsers; @@ -147,7 +151,7 @@ class StoryPageController extends State { _progressTimer?.cancel(); if (reset) progress = Duration.zero; _progressTimer = Timer.periodic(_step, (_) { - if (replyFocus.hasFocus || _emojiSelector) return; + if (replyFocus.hasFocus || _modalOpened) return; if (!mounted) { _progressTimer?.cancel(); return;