From 334f7b2028ac31bd0b42dd886f1d274c465840b8 Mon Sep 17 00:00:00 2001 From: symonbaikov Date: Sat, 5 Jul 2025 23:07:22 +0300 Subject: [PATCH] feat: add 'No member' filter for board cards --- .../boards/BoardActions/Filters.jsx | 15 +++++++++++++++ client/src/constants/ActionTypes.js | 3 +++ client/src/constants/EntryActionTypes.js | 5 +++++ client/src/entry-actions/boards.js | 10 ++++++++++ client/src/locales/en-US/core.js | 1 + client/src/models/Board.js | 19 +++++++++++++++++++ client/src/models/List.js | 5 +++++ client/src/sagas/core/services/boards.js | 18 ++++++++++++++++++ client/src/sagas/core/watchers/boards.js | 8 ++++++++ 9 files changed, 84 insertions(+) diff --git a/client/src/components/boards/BoardActions/Filters.jsx b/client/src/components/boards/BoardActions/Filters.jsx index b193a7ed..3aaa71bb 100644 --- a/client/src/components/boards/BoardActions/Filters.jsx +++ b/client/src/components/boards/BoardActions/Filters.jsx @@ -147,6 +147,14 @@ const Filters = React.memo(() => { const isSearchActive = search || isSearchFocused; + const handleNoMemberClick = useCallback(() => { + if (board.filterNoMember) { + dispatch(entryActions.removeNoMemberFromFilterInCurrentBoard()); + } else { + dispatch(entryActions.setNoMemberToFilterInCurrentBoard()); + } + }, [dispatch, board.filterNoMember]); + return ( <> @@ -161,6 +169,13 @@ const Filters = React.memo(() => { {userIds.length === 0 && {t('common.all')}} + {userIds.length === 0 && withCurrentUserSelector && (