From da3dc8078d12728593a303d7b71332e180b5578a Mon Sep 17 00:00:00 2001 From: Christian Pauly Date: Fri, 9 Apr 2021 17:43:12 +0200 Subject: [PATCH] chore: Archive button in main menu --- lib/config/routes.dart | 2 +- lib/views/chat_list.dart | 17 ++++++++++++++++- lib/views/settings.dart | 5 ----- 3 files changed, 17 insertions(+), 7 deletions(-) diff --git a/lib/config/routes.dart b/lib/config/routes.dart index 4e0b4747..cabd5871 100644 --- a/lib/config/routes.dart +++ b/lib/config/routes.dart @@ -117,8 +117,8 @@ class FluffyRoutes { mainView: (_) => ChatList(), emptyView: (_) => EmptyPage()); case 'archive': return ViewData( - leftView: (_) => Settings(), mainView: (_) => Archive(), + emptyView: (_) => EmptyPage(), ); case 'logs': return ViewData( diff --git a/lib/views/chat_list.dart b/lib/views/chat_list.dart index b08f69e9..9eab18bc 100644 --- a/lib/views/chat_list.dart +++ b/lib/views/chat_list.dart @@ -20,7 +20,7 @@ import '../utils/url_launcher.dart'; import 'package:flutter_gen/gen_l10n/l10n.dart'; enum SelectMode { normal, share, select } -enum PopupMenuAction { settings, invite, newGroup, setStatus } +enum PopupMenuAction { settings, invite, newGroup, setStatus, archive } class ChatList extends StatefulWidget { final String activeChat; @@ -285,6 +285,10 @@ class _ChatListState extends State { AdaptivePageLayout.of(context) .pushNamed('/newgroup'); break; + case PopupMenuAction.archive: + AdaptivePageLayout.of(context) + .pushNamed('/archive'); + break; } }, itemBuilder: (_) => [ @@ -321,6 +325,17 @@ class _ChatListState extends State { ], ), ), + PopupMenuItem( + value: PopupMenuAction.archive, + child: Row( + mainAxisSize: MainAxisSize.min, + children: [ + Icon(Icons.archive_outlined), + SizedBox(width: 12), + Text(L10n.of(context).archive), + ], + ), + ), PopupMenuItem( value: PopupMenuAction.settings, child: Row( diff --git a/lib/views/settings.dart b/lib/views/settings.dart index 451dc9c6..c66e2f12 100644 --- a/lib/views/settings.dart +++ b/lib/views/settings.dart @@ -468,11 +468,6 @@ class _SettingsState extends State { AdaptivePageLayout.of(context).pushNamed('/settings/emotes'), trailing: Icon(Icons.insert_emoticon_outlined), ), - ListTile( - title: Text(L10n.of(context).archive), - onTap: () => AdaptivePageLayout.of(context).pushNamed('/archive'), - trailing: Icon(Icons.archive_outlined), - ), Divider(thickness: 1), ListTile( title: Text(