feat(chats): скрытие чатов групповых звонков + тоггл показа скрытых чатов

This commit is contained in:
klockky
2026-07-09 19:35:59 +03:00
parent 7dab8f09f7
commit cc5eb6299e
5 changed files with 61 additions and 23 deletions
@@ -549,6 +549,7 @@ class _ChatListScreenState extends State<ChatListScreen>
AppStories.current.addListener(_onStoriesEnabledChanged);
storiesModule.storiesChanged.addListener(_onStoriesDataChanged);
KometSettings.hideAllChatsFolder.addListener(_requestReload);
KometSettings.showHiddenChats.addListener(_requestReload);
_maybeLoadStories();
_typingSub = api.pushStream
.where((p) => p.opcode == Opcode.notifTyping)
@@ -709,7 +710,10 @@ class _ChatListScreenState extends State<ChatListScreen>
}
try {
final loadedChats = await chats.getChats(p.id);
final loadedChats = await chats.getChats(
p.id,
includeHidden: KometSettings.showHiddenChats.value,
);
var folders = await FoldersModule.loadFolders(p.id);
final foldersKnown = await FoldersModule.hasReceivedFoldersList(p.id);
final contactIds = (await ContactsModule.getContacts(p.id))
@@ -1153,6 +1157,7 @@ class _ChatListScreenState extends State<ChatListScreen>
AppStories.current.removeListener(_onStoriesEnabledChanged);
storiesModule.storiesChanged.removeListener(_onStoriesDataChanged);
KometSettings.hideAllChatsFolder.removeListener(_requestReload);
KometSettings.showHiddenChats.removeListener(_requestReload);
_loginSub?.cancel();
_stateSub?.cancel();
_typingSub?.cancel();
@@ -86,6 +86,18 @@ class KometSettingsScreen extends StatelessWidget {
onChanged: KometSettings.setHideAllChatsFolder,
),
),
ValueListenableBuilder<bool>(
valueListenable: KometSettings.showHiddenChats,
builder: (context, value, _) => SettingsToggleTile(
icon: Symbols.visibility_lock,
label: 'Show hidden chats',
subtitle:
'Показывать скрытые чаты (например, от групповых '
'звонков), которые обычно не отображаются в списке',
value: value,
onChanged: KometSettings.setShowHiddenChats,
),
),
],
),
const SizedBox(height: 20),