From 803e01def3b5bc09f0d688f5e9433bac9d7b1bc7 Mon Sep 17 00:00:00 2001 From: moonrailgun Date: Thu, 14 Oct 2021 10:34:19 +0800 Subject: [PATCH] =?UTF-8?q?refactor:=20=E8=B0=83=E6=95=B4=E4=BC=9A?= =?UTF-8?q?=E8=AF=9D=E8=BF=9B=E8=A1=8C=E8=BF=87=E6=BB=A4=EF=BC=8C=E7=A1=AE?= =?UTF-8?q?=E4=BF=9D=E7=A7=81=E4=BF=A1=E4=BC=9A=E8=AF=9D=E6=8B=BF=E7=9A=84?= =?UTF-8?q?=E6=98=AFDM=E7=B1=BB=E5=9E=8B=E7=9A=84=E4=BC=9A=E8=AF=9D?= =?UTF-8?q?=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../useQuickSwitcherFilteredActions.tsx | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/web/src/components/QuickSwitcher/useQuickSwitcherFilteredActions.tsx b/web/src/components/QuickSwitcher/useQuickSwitcherFilteredActions.tsx index 6b162e39..23842324 100644 --- a/web/src/components/QuickSwitcher/useQuickSwitcherFilteredActions.tsx +++ b/web/src/components/QuickSwitcher/useQuickSwitcherFilteredActions.tsx @@ -9,6 +9,7 @@ import _take from 'lodash/take'; import { useDebugValue, useMemo } from 'react'; import type { QuickActionContext } from './useQuickSwitcherActionContext'; import { getDMConverseName } from 'tailchat-shared'; +import { ChatConverseType } from 'tailchat-shared/model/converse'; interface QuickAction { key: string; @@ -36,10 +37,12 @@ const builtinActions: QuickAction[] = [ }, ]; -function usePersonalConverseActions(): QuickAction[] { +function useDMConverseActions(): QuickAction[] { const userId = useUserId(); - const converses = useAppSelector((state) => - Object.values(state.chat.converses) + const dmConverses = useAppSelector((state) => + Object.values(state.chat.converses).filter( + (converse) => converse.type === ChatConverseType.DM + ) ); const { value: personalConverseActions = [] } = useAsync(async () => { if (!isValidStr(userId)) { @@ -47,7 +50,7 @@ function usePersonalConverseActions(): QuickAction[] { } return Promise.all( - converses.map((converse) => + dmConverses.map((converse) => getDMConverseName(userId, converse).then( (converseName): QuickAction => ({ key: `qs#converse#${converse._id}`, @@ -60,7 +63,7 @@ function usePersonalConverseActions(): QuickAction[] { ) ) ); - }, [userId, converses.map((converse) => converse._id).join(',')]); + }, [userId, dmConverses.map((converse) => converse._id).join(',')]); useDebugValue(personalConverseActions); @@ -72,7 +75,7 @@ function usePersonalConverseActions(): QuickAction[] { * @param keyword 关键字 */ export function useQuickSwitcherFilteredActions(keyword: string) { - const allActions = [...builtinActions, ...usePersonalConverseActions()]; + const allActions = [...builtinActions, ...useDMConverseActions()]; const filteredActions = useMemo(() => { return _take(