Watch
1
0
Fork
You've already forked nexus
0
forked from Nexus/nexus

add threads button back to appbar, hide close button on linux mobile mode

This commit is contained in:
Henry Hiles 2026-11-06 12:30:20 -05:00
commit a229fcc598
Signed by: Henry-Hiles
SSH key fingerprint: SHA256:VKQUdS31Q90KvX7EkKMHMBpUspcmItAh86a+v7PGiIs
3 changed files with 18 additions and 20 deletions

View file

@ -77,6 +77,12 @@ final class const Appbar({
onPressed: maximize, onPressed: maximize,
icon: const Icon(Icons.fullscreen), icon: const Icon(Icons.fullscreen),
), ),
if (ref
.watch(SettingsController.provider)
.whenOrNull(
data: (settings) => !settings.linuxMobileMode,
) ??
true)
IconButton( IconButton(
tooltip: "Close window", tooltip: "Close window",
onPressed: () => exit(0), onPressed: () => exit(0),

View file

@ -63,6 +63,11 @@ final class const RoomAppbar({
room == null room == null
? [] ? []
: [ : [
IconButton(
onPressed: onOpenThreads?.call,
icon: Icon(Icons.forum),
tooltip: "Open threads",
),
IconButton( IconButton(
onPressed: onOpenPinnedMessagesList?.call, onPressed: onOpenPinnedMessagesList?.call,
icon: Icon(Icons.push_pin), icon: Icon(Icons.push_pin),
@ -73,11 +78,7 @@ final class const RoomAppbar({
tooltip: "Open member list", tooltip: "Open member list",
icon: Icon(Icons.people), icon: Icon(Icons.people),
), ),
RoomMenuButton( RoomMenuButton(room, onOpenSearch: onOpenSearch),
room,
onOpenSearch: onOpenSearch,
onOpenThreads: onOpenThreads,
),
], ],
), ),
); );

View file

@ -17,7 +17,6 @@ final class const RoomMenuButton(
final Room? room, { final Room? room, {
final IList<Room> children = const .empty(), final IList<Room> children = const .empty(),
final VoidCallback? onOpenSearch, final VoidCallback? onOpenSearch,
final VoidCallback? onOpenThreads,
super.key, super.key,
}) extends ConsumerWidget { }) extends ConsumerWidget {
@override @override
@ -29,19 +28,11 @@ final class const RoomMenuButton(
icon: const Icon(Icons.more_vert), icon: const Icon(Icons.more_vert),
tooltip: "Room options", tooltip: "Room options",
itemBuilder: (_) => [ itemBuilder: (_) => [
if (onOpenSearch case final onOpenSearch?) if (onOpenSearch != null)
PopupMenuItem( PopupMenuItem(
onTap: onOpenSearch, onTap: onOpenSearch,
child: ListTile(leading: Icon(Icons.search), title: Text("Search")), child: ListTile(leading: Icon(Icons.search), title: Text("Search")),
), ),
if (onOpenThreads case final onOpenThreads?)
PopupMenuItem(
onTap: onOpenThreads,
child: ListTile(
leading: Icon(Icons.forum),
title: Text("View Threads"),
),
),
PopupMenuItem( PopupMenuItem(
onTap: () async { onTap: () async {
if (room != null) await client.markRead(room!); if (room != null) await client.markRead(room!);