Mark as read button

This commit is contained in:
Henry Hiles 2026-01-06 13:39:51 -05:00
commit 0f563455ff
No known key found for this signature in database
4 changed files with 21 additions and 4 deletions

View file

@ -2,6 +2,7 @@ import "package:clipboard/clipboard.dart";
import "package:flutter/material.dart";
import "package:flutter_hooks/flutter_hooks.dart";
import "package:matrix/matrix.dart";
import "package:nexus/helpers/extensions/room_to_children.dart";
import "package:nexus/widgets/form_text_input.dart";
class RoomMenu extends StatelessWidget {
@ -12,6 +13,15 @@ class RoomMenu extends StatelessWidget {
Widget build(BuildContext context) {
final danger = Theme.of(context).colorScheme.error;
void markRead(String roomId) async {
for (final child in await room.getAllChildren()) {
await child.roomData.setReadMarker(
child.roomData.lastEvent?.eventId,
mRead: child.roomData.lastEvent?.eventId,
);
}
}
return PopupMenuButton(
itemBuilder: (_) => [
PopupMenuItem(
@ -21,6 +31,13 @@ class RoomMenu extends StatelessWidget {
},
child: ListTile(leading: Icon(Icons.link), title: Text("Copy Link")),
),
PopupMenuItem(
onTap: () => markRead(room.id),
child: ListTile(
leading: Icon(Icons.check),
title: Text("Mark as Read"),
),
),
PopupMenuItem(
onTap: () => showDialog(
context: context,