refactor: 调整会话进行过滤,确保私信会话拿的是DM类型的会话数据

pull/13/head
moonrailgun 4 years ago
parent d13d773704
commit 803e01def3

@ -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(

Loading…
Cancel
Save