Forget rooms with slide
This commit is contained in:
parent
be8f3a4a47
commit
e13df1cbf0
|
@ -88,6 +88,14 @@ class ChatListItem extends StatelessWidget {
|
||||||
|
|
||||||
Future<bool> archiveAction(BuildContext context) async {
|
Future<bool> archiveAction(BuildContext context) async {
|
||||||
{
|
{
|
||||||
|
if ([Membership.leave, Membership.ban].contains(room.membership)) {
|
||||||
|
final success =
|
||||||
|
await Matrix.of(context).tryRequestWithLoadingDialog(room.forget());
|
||||||
|
if (success != false) {
|
||||||
|
if (this.onForget != null) this.onForget();
|
||||||
|
}
|
||||||
|
return success;
|
||||||
|
}
|
||||||
final bool confirmed = await SimpleDialogs(context).askConfirmation();
|
final bool confirmed = await SimpleDialogs(context).askConfirmation();
|
||||||
if (!confirmed) {
|
if (!confirmed) {
|
||||||
return false;
|
return false;
|
||||||
|
@ -113,6 +121,13 @@ class ChatListItem extends StatelessWidget {
|
||||||
icon: Icons.archive,
|
icon: Icons.archive,
|
||||||
onTap: () => archiveAction(context),
|
onTap: () => archiveAction(context),
|
||||||
),
|
),
|
||||||
|
if ([Membership.leave, Membership.ban].contains(room.membership))
|
||||||
|
IconSlideAction(
|
||||||
|
caption: I18n.of(context).delete,
|
||||||
|
color: Colors.red,
|
||||||
|
icon: Icons.delete_forever,
|
||||||
|
onTap: () => archiveAction(context),
|
||||||
|
),
|
||||||
],
|
],
|
||||||
actionPane: SlidableDrawerActionPane(),
|
actionPane: SlidableDrawerActionPane(),
|
||||||
dismissal: SlidableDismissal(
|
dismissal: SlidableDismissal(
|
||||||
|
|
|
@ -36,7 +36,7 @@ class _ArchiveState extends State<Archive> {
|
||||||
itemCount: archive.length,
|
itemCount: archive.length,
|
||||||
itemBuilder: (BuildContext context, int i) => ChatListItem(
|
itemBuilder: (BuildContext context, int i) => ChatListItem(
|
||||||
archive[i],
|
archive[i],
|
||||||
onForget: () => setState(() => archive = null)),
|
onForget: () => setState(() => archive.removeAt(i))),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
Loading…
Reference in a new issue