mirror of
https://github.com/suitenumerique/messages.git
synced 2026-04-25 17:15:21 +02:00
🐛(frontend) invalidate thread on self access removal
Invalidate thread list when the user deletes its own access to a thread to prevent buggy situation where the user still display a thread that has no more access..
This commit is contained in:
@@ -27,7 +27,7 @@ export const ThreadAccessesWidget = ({ accesses }: ThreadAccessesWidgetProps) =>
|
||||
const { t } = useTranslation();
|
||||
const [isShareModalOpen, setIsShareModalOpen] = useState(false);
|
||||
const [searchQuery, setSearchQuery] = useState("");
|
||||
const { selectedMailbox, selectedThread, invalidateThreadMessages } = useMailboxContext();
|
||||
const { selectedMailbox, selectedThread, invalidateThreadMessages, invalidateThreadsStats, unselectThread } = useMailboxContext();
|
||||
const { mutate: removeThreadAccess } = useThreadsAccessesDestroy({ mutation: { onSuccess: () => invalidateThreadMessages() } });
|
||||
const { mutate: createThreadAccess } = useThreadsAccessesCreate({ mutation: { onSuccess: () => invalidateThreadMessages() } });
|
||||
const { mutate: updateThreadAccess } = useThreadsAccessesUpdate({ mutation: { onSuccess: () => invalidateThreadMessages() } });
|
||||
@@ -86,6 +86,7 @@ export const ThreadAccessesWidget = ({ accesses }: ThreadAccessesWidgetProps) =>
|
||||
});
|
||||
return;
|
||||
};
|
||||
const isSelfRemoval = access.mailbox.id === selectedMailbox?.id;
|
||||
removeThreadAccess({
|
||||
id: access.id,
|
||||
threadId: selectedThread!.id
|
||||
@@ -94,6 +95,15 @@ export const ThreadAccessesWidget = ({ accesses }: ThreadAccessesWidgetProps) =>
|
||||
addToast(<ToasterItem>
|
||||
<p>{t('Thread access removed')}</p>
|
||||
</ToasterItem>);
|
||||
if (isSelfRemoval) {
|
||||
setIsShareModalOpen(false);
|
||||
invalidateThreadMessages({
|
||||
type: 'delete',
|
||||
metadata: { threadIds: [selectedThread!.id] },
|
||||
});
|
||||
invalidateThreadsStats();
|
||||
unselectThread();
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user