diff --git a/lib/l10n/app_bg.arb b/lib/l10n/app_bg.arb index 7ac5417..1771dc1 100644 --- a/lib/l10n/app_bg.arb +++ b/lib/l10n/app_bg.arb @@ -1353,6 +1353,7 @@ "listFilter_users": "Потребители", "listFilter_repeaters": "Повторители", "listFilter_roomServers": "Сървъри на стая", + "listFilter_activeChat": "Активен чат", "listFilter_unreadOnly": "Само непрочетените", "listFilter_newGroup": "Нова група", "@neighbors_errorLoading": { diff --git a/lib/l10n/app_de.arb b/lib/l10n/app_de.arb index 4695505..2fb65e7 100644 --- a/lib/l10n/app_de.arb +++ b/lib/l10n/app_de.arb @@ -1356,6 +1356,7 @@ "listFilter_users": "Benutzer", "listFilter_repeaters": "Repeater", "listFilter_roomServers": "Raumserver", + "listFilter_activeChat": "Aktiver Chat", "listFilter_unreadOnly": "Nicht gelesen", "listFilter_newGroup": "Neue Gruppe", "@neighbors_errorLoading": { diff --git a/lib/l10n/app_en.arb b/lib/l10n/app_en.arb index 8ad6bf3..6fa18ad 100644 --- a/lib/l10n/app_en.arb +++ b/lib/l10n/app_en.arb @@ -1762,6 +1762,7 @@ "listFilter_users": "Users", "listFilter_repeaters": "Repeaters", "listFilter_roomServers": "Room servers", + "listFilter_activeChat": "Active chat", "listFilter_unreadOnly": "Unread only", "listFilter_newGroup": "New group", "pathTrace_you": "You", diff --git a/lib/l10n/app_es.arb b/lib/l10n/app_es.arb index ac9527b..760ba43 100644 --- a/lib/l10n/app_es.arb +++ b/lib/l10n/app_es.arb @@ -1353,6 +1353,7 @@ "listFilter_users": "Usuarios", "listFilter_repeaters": "Repetidores", "listFilter_roomServers": "Servidores de la sala", + "listFilter_activeChat": "Chat activo", "listFilter_unreadOnly": "Solo sin leer", "listFilter_newGroup": "Nuevo grupo", "@neighbors_errorLoading": { diff --git a/lib/l10n/app_fr.arb b/lib/l10n/app_fr.arb index a942aa2..5098d95 100644 --- a/lib/l10n/app_fr.arb +++ b/lib/l10n/app_fr.arb @@ -1353,6 +1353,7 @@ "listFilter_users": "Utilisateurs", "listFilter_repeaters": "Répéteurs", "listFilter_roomServers": "Room servers", + "listFilter_activeChat": "Chat actif", "listFilter_unreadOnly": "Messages non lus seulement", "listFilter_newGroup": "Nouveau groupe", "@neighbors_errorLoading": { diff --git a/lib/l10n/app_hu.arb b/lib/l10n/app_hu.arb index 6f43463..d36b255 100644 --- a/lib/l10n/app_hu.arb +++ b/lib/l10n/app_hu.arb @@ -1706,6 +1706,7 @@ "listFilter_users": "Felhasználók", "listFilter_repeaters": "Újraküldők", "listFilter_roomServers": "Szoba-szolgálatok", + "listFilter_activeChat": "Aktív chat", "listFilter_unreadOnly": "Csak olvasatlan", "listFilter_newGroup": "Új csoport", "pathTrace_you": "Te", diff --git a/lib/l10n/app_it.arb b/lib/l10n/app_it.arb index 387c8cf..7a57e22 100644 --- a/lib/l10n/app_it.arb +++ b/lib/l10n/app_it.arb @@ -1353,6 +1353,7 @@ "listFilter_users": "Utenti", "listFilter_repeaters": "Ripetitori", "listFilter_roomServers": "Server della stanza", + "listFilter_activeChat": "Chat attiva", "listFilter_unreadOnly": "Solo non letto", "listFilter_newGroup": "Nuovo gruppo", "@neighbors_errorLoading": { diff --git a/lib/l10n/app_ja.arb b/lib/l10n/app_ja.arb index b63f146..a451e1d 100644 --- a/lib/l10n/app_ja.arb +++ b/lib/l10n/app_ja.arb @@ -1706,6 +1706,7 @@ "listFilter_users": "利用者", "listFilter_repeaters": "繰り返し送信装置", "listFilter_roomServers": "ルーム用サーバー", + "listFilter_activeChat": "アクティブチャット", "listFilter_unreadOnly": "未読のみ", "listFilter_newGroup": "新しいグループ", "pathTrace_you": "あなた", diff --git a/lib/l10n/app_ko.arb b/lib/l10n/app_ko.arb index 40721fe..522aa6e 100644 --- a/lib/l10n/app_ko.arb +++ b/lib/l10n/app_ko.arb @@ -1706,6 +1706,7 @@ "listFilter_users": "사용자", "listFilter_repeaters": "다시 보내는 장치", "listFilter_roomServers": "방 내 서버", + "listFilter_activeChat": "활성 채팅", "listFilter_unreadOnly": "읽지 않은 항목만", "listFilter_newGroup": "새로운 그룹", "pathTrace_you": "당신", diff --git a/lib/l10n/app_localizations.dart b/lib/l10n/app_localizations.dart index 2c1342d..a8f4b73 100644 --- a/lib/l10n/app_localizations.dart +++ b/lib/l10n/app_localizations.dart @@ -5402,6 +5402,12 @@ abstract class AppLocalizations { /// **'Room servers'** String get listFilter_roomServers; + /// No description provided for @listFilter_activeChat. + /// + /// In en, this message translates to: + /// **'Active chat'** + String get listFilter_activeChat; + /// No description provided for @listFilter_unreadOnly. /// /// In en, this message translates to: diff --git a/lib/l10n/app_localizations_bg.dart b/lib/l10n/app_localizations_bg.dart index b3e1279..a9d9e57 100644 --- a/lib/l10n/app_localizations_bg.dart +++ b/lib/l10n/app_localizations_bg.dart @@ -3094,6 +3094,9 @@ class AppLocalizationsBg extends AppLocalizations { @override String get listFilter_roomServers => 'Сървъри на стая'; + @override + String get listFilter_activeChat => 'Активен чат'; + @override String get listFilter_unreadOnly => 'Само непрочетените'; diff --git a/lib/l10n/app_localizations_de.dart b/lib/l10n/app_localizations_de.dart index d7c1691..5172beb 100644 --- a/lib/l10n/app_localizations_de.dart +++ b/lib/l10n/app_localizations_de.dart @@ -3098,6 +3098,9 @@ class AppLocalizationsDe extends AppLocalizations { @override String get listFilter_roomServers => 'Raumserver'; + @override + String get listFilter_activeChat => 'Aktiver Chat'; + @override String get listFilter_unreadOnly => 'Nicht gelesen'; diff --git a/lib/l10n/app_localizations_en.dart b/lib/l10n/app_localizations_en.dart index a2a88b0..917f0df 100644 --- a/lib/l10n/app_localizations_en.dart +++ b/lib/l10n/app_localizations_en.dart @@ -3039,6 +3039,9 @@ class AppLocalizationsEn extends AppLocalizations { @override String get listFilter_roomServers => 'Room servers'; + @override + String get listFilter_activeChat => 'Active chat'; + @override String get listFilter_unreadOnly => 'Unread only'; diff --git a/lib/l10n/app_localizations_es.dart b/lib/l10n/app_localizations_es.dart index a127012..f239fea 100644 --- a/lib/l10n/app_localizations_es.dart +++ b/lib/l10n/app_localizations_es.dart @@ -3091,6 +3091,9 @@ class AppLocalizationsEs extends AppLocalizations { @override String get listFilter_roomServers => 'Servidores de la sala'; + @override + String get listFilter_activeChat => 'Chat activo'; + @override String get listFilter_unreadOnly => 'Solo sin leer'; diff --git a/lib/l10n/app_localizations_fr.dart b/lib/l10n/app_localizations_fr.dart index a006391..65d8386 100644 --- a/lib/l10n/app_localizations_fr.dart +++ b/lib/l10n/app_localizations_fr.dart @@ -3110,6 +3110,9 @@ class AppLocalizationsFr extends AppLocalizations { @override String get listFilter_roomServers => 'Room servers'; + @override + String get listFilter_activeChat => 'Chat actif'; + @override String get listFilter_unreadOnly => 'Messages non lus seulement'; diff --git a/lib/l10n/app_localizations_hu.dart b/lib/l10n/app_localizations_hu.dart index 1ad8558..9107cfc 100644 --- a/lib/l10n/app_localizations_hu.dart +++ b/lib/l10n/app_localizations_hu.dart @@ -3105,6 +3105,9 @@ class AppLocalizationsHu extends AppLocalizations { @override String get listFilter_roomServers => 'Szoba-szolgálatok'; + @override + String get listFilter_activeChat => 'Aktív chat'; + @override String get listFilter_unreadOnly => 'Csak olvasatlan'; diff --git a/lib/l10n/app_localizations_it.dart b/lib/l10n/app_localizations_it.dart index 3a55559..0da83c2 100644 --- a/lib/l10n/app_localizations_it.dart +++ b/lib/l10n/app_localizations_it.dart @@ -3094,6 +3094,9 @@ class AppLocalizationsIt extends AppLocalizations { @override String get listFilter_roomServers => 'Server della stanza'; + @override + String get listFilter_activeChat => 'Chat attiva'; + @override String get listFilter_unreadOnly => 'Solo non letto'; diff --git a/lib/l10n/app_localizations_ja.dart b/lib/l10n/app_localizations_ja.dart index afb8c29..afb294a 100644 --- a/lib/l10n/app_localizations_ja.dart +++ b/lib/l10n/app_localizations_ja.dart @@ -2953,6 +2953,9 @@ class AppLocalizationsJa extends AppLocalizations { @override String get listFilter_roomServers => 'ルーム用サーバー'; + @override + String get listFilter_activeChat => 'アクティブチャット'; + @override String get listFilter_unreadOnly => '未読のみ'; diff --git a/lib/l10n/app_localizations_ko.dart b/lib/l10n/app_localizations_ko.dart index ff4bd26..686cdb0 100644 --- a/lib/l10n/app_localizations_ko.dart +++ b/lib/l10n/app_localizations_ko.dart @@ -2953,6 +2953,9 @@ class AppLocalizationsKo extends AppLocalizations { @override String get listFilter_roomServers => '방 내 서버'; + @override + String get listFilter_activeChat => '활성 채팅'; + @override String get listFilter_unreadOnly => '읽지 않은 항목만'; diff --git a/lib/l10n/app_localizations_nl.dart b/lib/l10n/app_localizations_nl.dart index dd770e1..51b1dee 100644 --- a/lib/l10n/app_localizations_nl.dart +++ b/lib/l10n/app_localizations_nl.dart @@ -3077,6 +3077,9 @@ class AppLocalizationsNl extends AppLocalizations { @override String get listFilter_roomServers => 'Roomservers'; + @override + String get listFilter_activeChat => 'Actieve chat'; + @override String get listFilter_unreadOnly => 'Alleen ongelezen'; diff --git a/lib/l10n/app_localizations_pl.dart b/lib/l10n/app_localizations_pl.dart index 357dd7e..a26fceb 100644 --- a/lib/l10n/app_localizations_pl.dart +++ b/lib/l10n/app_localizations_pl.dart @@ -3103,6 +3103,9 @@ class AppLocalizationsPl extends AppLocalizations { @override String get listFilter_roomServers => 'Serwery pokoju'; + @override + String get listFilter_activeChat => 'Aktywny czat'; + @override String get listFilter_unreadOnly => 'Tylko nieprzeczytane'; diff --git a/lib/l10n/app_localizations_pt.dart b/lib/l10n/app_localizations_pt.dart index 2dfcd8b..1bfcfb3 100644 --- a/lib/l10n/app_localizations_pt.dart +++ b/lib/l10n/app_localizations_pt.dart @@ -3092,6 +3092,9 @@ class AppLocalizationsPt extends AppLocalizations { @override String get listFilter_roomServers => 'Servidores de sala'; + @override + String get listFilter_activeChat => 'Chat ativo'; + @override String get listFilter_unreadOnly => 'Apenas não lido'; diff --git a/lib/l10n/app_localizations_ru.dart b/lib/l10n/app_localizations_ru.dart index 4fac42c..3203dfc 100644 --- a/lib/l10n/app_localizations_ru.dart +++ b/lib/l10n/app_localizations_ru.dart @@ -3097,6 +3097,9 @@ class AppLocalizationsRu extends AppLocalizations { @override String get listFilter_roomServers => 'Серверы комнат'; + @override + String get listFilter_activeChat => 'Активный чат'; + @override String get listFilter_unreadOnly => 'Только непрочитанные'; diff --git a/lib/l10n/app_localizations_sk.dart b/lib/l10n/app_localizations_sk.dart index c42e024..982a4e1 100644 --- a/lib/l10n/app_localizations_sk.dart +++ b/lib/l10n/app_localizations_sk.dart @@ -3072,6 +3072,9 @@ class AppLocalizationsSk extends AppLocalizations { @override String get listFilter_roomServers => 'Servéry miestnosti'; + @override + String get listFilter_activeChat => 'Aktívny chat'; + @override String get listFilter_unreadOnly => 'Nezaregistrované len'; diff --git a/lib/l10n/app_localizations_sl.dart b/lib/l10n/app_localizations_sl.dart index 2d89aa4..9fb34f3 100644 --- a/lib/l10n/app_localizations_sl.dart +++ b/lib/l10n/app_localizations_sl.dart @@ -3073,6 +3073,9 @@ class AppLocalizationsSl extends AppLocalizations { @override String get listFilter_roomServers => 'Smeti za prostore'; + @override + String get listFilter_activeChat => 'Aktivni klepet'; + @override String get listFilter_unreadOnly => 'Nezbrani samo'; diff --git a/lib/l10n/app_localizations_sv.dart b/lib/l10n/app_localizations_sv.dart index 38e0893..2d16298 100644 --- a/lib/l10n/app_localizations_sv.dart +++ b/lib/l10n/app_localizations_sv.dart @@ -3057,6 +3057,9 @@ class AppLocalizationsSv extends AppLocalizations { @override String get listFilter_roomServers => 'Rumservrar'; + @override + String get listFilter_activeChat => 'Aktiv chatt'; + @override String get listFilter_unreadOnly => 'Endast oinlästa'; diff --git a/lib/l10n/app_localizations_uk.dart b/lib/l10n/app_localizations_uk.dart index 8ed4b9f..5b29ed2 100644 --- a/lib/l10n/app_localizations_uk.dart +++ b/lib/l10n/app_localizations_uk.dart @@ -3099,6 +3099,9 @@ class AppLocalizationsUk extends AppLocalizations { @override String get listFilter_roomServers => 'Сервери кімнат'; + @override + String get listFilter_activeChat => 'Активний чат'; + @override String get listFilter_unreadOnly => 'Тільки непрочитані повідомлення'; diff --git a/lib/l10n/app_localizations_zh.dart b/lib/l10n/app_localizations_zh.dart index 4f38c64..666cc42 100644 --- a/lib/l10n/app_localizations_zh.dart +++ b/lib/l10n/app_localizations_zh.dart @@ -2878,6 +2878,9 @@ class AppLocalizationsZh extends AppLocalizations { @override String get listFilter_roomServers => '房间服务器'; + @override + String get listFilter_activeChat => '活跃聊天'; + @override String get listFilter_unreadOnly => '仅显示未读'; diff --git a/lib/l10n/app_nl.arb b/lib/l10n/app_nl.arb index 96bdb84..027cc29 100644 --- a/lib/l10n/app_nl.arb +++ b/lib/l10n/app_nl.arb @@ -1353,6 +1353,7 @@ "listFilter_users": "Gebruikers", "listFilter_repeaters": "Repeaters", "listFilter_roomServers": "Roomservers", + "listFilter_activeChat": "Actieve chat", "listFilter_unreadOnly": "Alleen ongelezen", "listFilter_newGroup": "Nieuwe groep", "@neighbors_errorLoading": { diff --git a/lib/l10n/app_pl.arb b/lib/l10n/app_pl.arb index b62a78a..6846358 100644 --- a/lib/l10n/app_pl.arb +++ b/lib/l10n/app_pl.arb @@ -1363,6 +1363,7 @@ "listFilter_users": "Użytkownicy", "listFilter_repeaters": "Przekaźniki", "listFilter_roomServers": "Serwery pokoju", + "listFilter_activeChat": "Aktywny czat", "listFilter_unreadOnly": "Tylko nieprzeczytane", "listFilter_newGroup": "Nowa grupa", "@neighbors_errorLoading": { diff --git a/lib/l10n/app_pt.arb b/lib/l10n/app_pt.arb index bf3e893..da36caa 100644 --- a/lib/l10n/app_pt.arb +++ b/lib/l10n/app_pt.arb @@ -1353,6 +1353,7 @@ "listFilter_users": "Usuários", "listFilter_repeaters": "Repetidores", "listFilter_roomServers": "Servidores de sala", + "listFilter_activeChat": "Chat ativo", "listFilter_unreadOnly": "Apenas não lido", "listFilter_newGroup": "Novo grupo", "@neighbors_errorLoading": { diff --git a/lib/l10n/app_ru.arb b/lib/l10n/app_ru.arb index a83d139..c43895a 100644 --- a/lib/l10n/app_ru.arb +++ b/lib/l10n/app_ru.arb @@ -759,6 +759,7 @@ "listFilter_users": "Пользователи", "listFilter_repeaters": "Репитеры", "listFilter_roomServers": "Серверы комнат", + "listFilter_activeChat": "Активный чат", "listFilter_unreadOnly": "Только непрочитанные", "listFilter_newGroup": "Новая группа", "@chat_couldNotOpenLink": { diff --git a/lib/l10n/app_sk.arb b/lib/l10n/app_sk.arb index e4466c3..c11bc4b 100644 --- a/lib/l10n/app_sk.arb +++ b/lib/l10n/app_sk.arb @@ -1353,6 +1353,7 @@ "listFilter_users": "Používatelia", "listFilter_repeaters": "Opakovadlá", "listFilter_roomServers": "Servéry miestnosti", + "listFilter_activeChat": "Aktívny chat", "listFilter_unreadOnly": "Nezaregistrované len", "listFilter_newGroup": "Nová skupina", "@neighbors_errorLoading": { diff --git a/lib/l10n/app_sl.arb b/lib/l10n/app_sl.arb index f6a317e..f2315e5 100644 --- a/lib/l10n/app_sl.arb +++ b/lib/l10n/app_sl.arb @@ -1353,6 +1353,7 @@ "listFilter_users": "Uporabniki", "listFilter_repeaters": "Ponovitve", "listFilter_roomServers": "Smeti za prostore", + "listFilter_activeChat": "Aktivni klepet", "listFilter_unreadOnly": "Nezbrani samo", "listFilter_newGroup": "Nova skupina", "@neighbors_errorLoading": { diff --git a/lib/l10n/app_sv.arb b/lib/l10n/app_sv.arb index eab348c..787b256 100644 --- a/lib/l10n/app_sv.arb +++ b/lib/l10n/app_sv.arb @@ -1353,6 +1353,7 @@ "listFilter_users": "Användare", "listFilter_repeaters": "Upprepare", "listFilter_roomServers": "Rumservrar", + "listFilter_activeChat": "Aktiv chatt", "listFilter_unreadOnly": "Endast oinlästa", "listFilter_newGroup": "Ny grupp", "@neighbors_errorLoading": { diff --git a/lib/l10n/app_uk.arb b/lib/l10n/app_uk.arb index a005b36..85f2843 100644 --- a/lib/l10n/app_uk.arb +++ b/lib/l10n/app_uk.arb @@ -1354,6 +1354,7 @@ "listFilter_users": "Користувачі", "listFilter_repeaters": "Ретранслятори", "listFilter_roomServers": "Сервери кімнат", + "listFilter_activeChat": "Активний чат", "listFilter_unreadOnly": "Тільки непрочитані повідомлення", "listFilter_newGroup": "Нова група", "@neighbors_errorLoading": { diff --git a/lib/l10n/app_zh.arb b/lib/l10n/app_zh.arb index 9dc2325..60535da 100644 --- a/lib/l10n/app_zh.arb +++ b/lib/l10n/app_zh.arb @@ -1547,6 +1547,7 @@ "listFilter_users": "用户", "listFilter_repeaters": "转发节点", "listFilter_roomServers": "房间服务器", + "listFilter_activeChat": "活跃聊天", "listFilter_unreadOnly": "仅显示未读", "listFilter_newGroup": "新建群聊", "pathTrace_you": "我自己", diff --git a/lib/screens/contacts_screen.dart b/lib/screens/contacts_screen.dart index 54d3299..cb8ddb1 100644 --- a/lib/screens/contacts_screen.dart +++ b/lib/screens/contacts_screen.dart @@ -672,6 +672,14 @@ class _ContactsScreenState extends State : "", ); break; + case ContactTypeFilter.activeChat: + hintText = context.l10n.contacts_searchContacts( + filteredAndSorted.length, + viewState.contactsShowUnreadOnly + ? " ${context.l10n.contacts_unread}" + : "", + ); + break; } final groupsByName = {}; @@ -682,14 +690,11 @@ class _ContactsScreenState extends State ..sort((a, b) => a.name.toLowerCase().compareTo(b.name.toLowerCase())); final screenWidth = MediaQuery.sizeOf(context).width; - final searchExpandedWidth = (screenWidth * 0.52).clamp( + final searchExpandedWidth = (screenWidth * 0.72).clamp( 97.0, double.infinity, - ); // allow expansion up to 52% of screen width, but not less than the collapsed width - final searchCollapsedWidth = (screenWidth * 0.22).clamp( - 97.0, - 120.0, - ); //two 48px icon buttons + 1px divider + ); // allow expansion up to 72% of screen width, but not less than the collapsed width + final searchCollapsedWidth = 97.0; //two 48px icon buttons + 1px divider return Column( children: [ @@ -860,8 +865,11 @@ class _ContactsScreenState extends State if (viewState.contactsTypeFilter != ContactTypeFilter.all) { filtered = filtered .where( - (contact) => - _matchesTypeFilter(contact, viewState.contactsTypeFilter), + (contact) => _matchesTypeFilter( + contact, + viewState.contactsTypeFilter, + connector, + ), ) .toList(); } @@ -901,7 +909,11 @@ class _ContactsScreenState extends State return filtered; } - bool _matchesTypeFilter(Contact contact, ContactTypeFilter typeFilter) { + bool _matchesTypeFilter( + Contact contact, + ContactTypeFilter typeFilter, + MeshCoreConnector connector, + ) { switch (typeFilter) { case ContactTypeFilter.all: return true; @@ -913,6 +925,8 @@ class _ContactsScreenState extends State return contact.type == advTypeRepeater; case ContactTypeFilter.rooms: return contact.type == advTypeRoom; + case ContactTypeFilter.activeChat: + return connector.getMessages(contact).isNotEmpty; } } diff --git a/lib/screens/discovery_screen.dart b/lib/screens/discovery_screen.dart index f9f0e07..0311f06 100644 --- a/lib/screens/discovery_screen.dart +++ b/lib/screens/discovery_screen.dart @@ -306,6 +306,12 @@ class _DiscoveryScreenState extends State { showUnreadOnly ? " ${context.l10n.contacts_unread}" : "", ); break; + case ContactTypeFilter.activeChat: + hintText = context.l10n.contacts_searchContacts( + filteredAndSorted.length, + showUnreadOnly ? " ${context.l10n.contacts_unread}" : "", + ); + break; } return Column( @@ -424,6 +430,8 @@ class _DiscoveryScreenState extends State { return contact.type == advTypeRepeater; case ContactTypeFilter.rooms: return contact.type == advTypeRoom; + case ContactTypeFilter.activeChat: + return false; default: return false; } diff --git a/lib/services/ui_view_state_service.dart b/lib/services/ui_view_state_service.dart index 7f2a03a..cb370ad 100644 --- a/lib/services/ui_view_state_service.dart +++ b/lib/services/ui_view_state_service.dart @@ -57,8 +57,9 @@ class UiViewStateService extends ChangeNotifier { final typeStr = prefs.getString(_keyContactsTypeFilter); if (typeStr != null) { + final normalizedTypeStr = typeStr == 'chat' ? 'activeChat' : typeStr; _contactsTypeFilter = ContactTypeFilter.values.firstWhere( - (e) => e.name == typeStr, + (e) => e.name == normalizedTypeStr, orElse: () => ContactTypeFilter.all, ); } diff --git a/lib/utils/contact_filter_types.dart b/lib/utils/contact_filter_types.dart index 08e07c2..3d3e222 100644 --- a/lib/utils/contact_filter_types.dart +++ b/lib/utils/contact_filter_types.dart @@ -1,3 +1,3 @@ enum ContactSortOption { lastSeen, recentMessages, name } -enum ContactTypeFilter { all, favorites, users, repeaters, rooms } +enum ContactTypeFilter { all, favorites, users, repeaters, rooms, activeChat } diff --git a/lib/widgets/list_filter_widget.dart b/lib/widgets/list_filter_widget.dart index c4fd5aa..9866dfc 100644 --- a/lib/widgets/list_filter_widget.dart +++ b/lib/widgets/list_filter_widget.dart @@ -157,6 +157,11 @@ class ContactsFilterMenu extends StatelessWidget { label: l10n.listFilter_all, checked: typeFilter == ContactTypeFilter.all, ), + SortFilterMenuOption( + value: _TypeFilterAction(ContactTypeFilter.activeChat), + label: l10n.listFilter_activeChat, + checked: typeFilter == ContactTypeFilter.activeChat, + ), SortFilterMenuOption( value: _TypeFilterAction(ContactTypeFilter.favorites), label: l10n.listFilter_favorites, diff --git a/macos/Flutter/GeneratedPluginRegistrant.swift b/macos/Flutter/GeneratedPluginRegistrant.swift index ffc8c59..2428a77 100644 --- a/macos/Flutter/GeneratedPluginRegistrant.swift +++ b/macos/Flutter/GeneratedPluginRegistrant.swift @@ -9,6 +9,7 @@ import flutter_blue_plus_darwin import flutter_local_notifications import mobile_scanner import package_info_plus +import path_provider_foundation import share_plus import shared_preferences_foundation import sqflite_darwin @@ -19,6 +20,7 @@ func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) { FlutterLocalNotificationsPlugin.register(with: registry.registrar(forPlugin: "FlutterLocalNotificationsPlugin")) MobileScannerPlugin.register(with: registry.registrar(forPlugin: "MobileScannerPlugin")) FPPPackageInfoPlusPlugin.register(with: registry.registrar(forPlugin: "FPPPackageInfoPlusPlugin")) + PathProviderPlugin.register(with: registry.registrar(forPlugin: "PathProviderPlugin")) SharePlusMacosPlugin.register(with: registry.registrar(forPlugin: "SharePlusMacosPlugin")) SharedPreferencesPlugin.register(with: registry.registrar(forPlugin: "SharedPreferencesPlugin")) SqflitePlugin.register(with: registry.registrar(forPlugin: "SqflitePlugin"))