diff --git a/lib/helpers/hooks/chat_scroll.dart b/lib/helpers/hooks/chat_scroll.dart index 8c26433..3b1531eb 100644 --- a/lib/helpers/hooks/chat_scroll.dart +++ b/lib/helpers/hooks/chat_scroll.dart @@ -129,14 +129,6 @@ final class ChatScroll({ } else if (position.extentBefore <= readThreshold) { await markRead(); } - - if (controllerData.isLoading == false && - position.extentBefore <= readThreshold && - controllerData.value?.hasMoreForward == false && - contextualEvent.value != null) { - anchorId.value = null; - contextualEvent.value = null; - } } scrollController.addListener(checkPosition); diff --git a/lib/widgets/pages/chat.dart b/lib/widgets/pages/chat.dart index d3886d3..186dfa2 100644 --- a/lib/widgets/pages/chat.dart +++ b/lib/widgets/pages/chat.dart @@ -25,7 +25,7 @@ class const ChatPage({super.key}) extends HookConsumerWidget { body: initComplete ? Row( children: [ - if (isDesktop) Sidebar(), + if (isDesktop) Sidebar(isDesktop: isDesktop), Expanded( child: Consumer( builder: (context, ref, _) { @@ -50,7 +50,9 @@ class const ChatPage({super.key}) extends HookConsumerWidget { children: [Loading(), Text("Syncing...")], ), ), - drawer: isDesktop || !initComplete ? null : Sidebar(), + drawer: isDesktop || !initComplete + ? null + : Sidebar(isDesktop: isDesktop), ), ); }, diff --git a/lib/widgets/sidebar.dart b/lib/widgets/sidebar.dart index c6fede9..cc6d441 100644 --- a/lib/widgets/sidebar.dart +++ b/lib/widgets/sidebar.dart @@ -16,7 +16,8 @@ import "package:nexus/widgets/room_menu.dart"; // Needed for navigation_rail_m3e (#65). import "package:flutter/material.dart" as old_mat; -class const Sidebar({super.key}) extends HookConsumerWidget { +class const Sidebar({required final bool isDesktop, super.key}) + extends HookConsumerWidget { @override Widget build(BuildContext context, WidgetRef ref) { final selectedSpaceProvider = KeyController.provider( @@ -192,8 +193,7 @@ class const Sidebar({super.key}) extends HookConsumerWidget { IconButton( tooltip: "Open notifications", onPressed: () { - if (Navigator.of(context).canPop()) - Navigator.of(context).pop(); + if (!isDesktop) Navigator.of(context).pop(); Navigator.of(context).push( MaterialPageRoute( builder: (_) => NotificationsPage(), @@ -309,8 +309,7 @@ class const Sidebar({super.key}) extends HookConsumerWidget { selectedRoomIdNotifier.set( children[value].metadata?.id, // ); - if (Navigator.of(context).canPop()) - Navigator.of(context).pop(); + if (!isDesktop) Navigator.of(context).pop(); }, ), ),