From 6004f86ceba77cb8a0d83818da1a044757f0ff8e Mon Sep 17 00:00:00 2001 From: balzack Date: Fri, 10 Jan 2025 21:22:40 -0800 Subject: [PATCH] filtering blocked items --- app/client/mobile/src/contacts/useContacts.hook.ts | 3 ++- app/client/mobile/src/content/useContent.hook.ts | 3 ++- app/client/mobile/src/details/Details.tsx | 1 - app/client/mobile/src/settings/useSettings.hook.ts | 10 +++++----- 4 files changed, 9 insertions(+), 8 deletions(-) diff --git a/app/client/mobile/src/contacts/useContacts.hook.ts b/app/client/mobile/src/contacts/useContacts.hook.ts index 6f451a6c..8948d51b 100644 --- a/app/client/mobile/src/contacts/useContacts.hook.ts +++ b/app/client/mobile/src/contacts/useContacts.hook.ts @@ -28,7 +28,8 @@ export function useContacts() { useEffect(() => { const contact = app.state.session?.getContact(); const setCards = (cards: Card[]) => { - updateState({cards}); + const filtered = cards.filter(card => !card.blocked); + updateState({cards: filtered}); }; contact.addCardListener(setCards); return () => { diff --git a/app/client/mobile/src/content/useContent.hook.ts b/app/client/mobile/src/content/useContent.hook.ts index f02aa9bb..f64dd4dc 100644 --- a/app/client/mobile/src/content/useContent.hook.ts +++ b/app/client/mobile/src/content/useContent.hook.ts @@ -187,7 +187,8 @@ export function useContent() { cardChannels.current.forEach(values => { merged.push(...values); }); - const sorted = merged.sort((a, b) => { + const filtered = merged.filter(channel => !channel.blocked); + const sorted = filtered.sort((a, b) => { const aUpdated = a?.lastTopic?.created; const bUpdated = b?.lastTopic?.created; if (aUpdated == bUpdated) { diff --git a/app/client/mobile/src/details/Details.tsx b/app/client/mobile/src/details/Details.tsx index ce772753..c36193c1 100644 --- a/app/client/mobile/src/details/Details.tsx +++ b/app/client/mobile/src/details/Details.tsx @@ -45,7 +45,6 @@ export function Details({close, closeAll}: {close: ()=>void, closeAll: ()=>void} const block = () => { const apply = async () => { await actions.block(); - closeAll(); } confirmAction(state.strings.blockTopic, state.strings.blockTopicPrompt, state.strings.block, setBlocking, apply); } diff --git a/app/client/mobile/src/settings/useSettings.hook.ts b/app/client/mobile/src/settings/useSettings.hook.ts index 13b40a8a..8955d45c 100644 --- a/app/client/mobile/src/settings/useSettings.hook.ts +++ b/app/client/mobile/src/settings/useSettings.hook.ts @@ -274,14 +274,14 @@ export function useSettings() { }, loadBlockedContacts: async () => { const settings = app.state.session.getSettings(); - const blockedCards = await settings.getBlockedCards(); - updateState({ blockedCards }); + const blockedContacts = await settings.getBlockedCards(); + updateState({ blockedContacts }); }, - unblockCard: async (cardId: string) => { + unblockContact: async (cardId: string) => { const contact = app.state.session.getContact(); await contact.setBlockedCard(cardId, false); - const blockedCards = state.blockedCards.filter(blocked => blocked.cardId != cardId); - updateState({ blockedCards }); + const blockedContactss = state.blockedContacts.filter(blocked => blocked.cardId != cardId); + updateState({ blockedContacts }); }, getTimestamp: (created: number) => { const now = Math.floor((new Date()).getTime() / 1000)