Files
lamp/features/im/hooks/use-conversation-search.ts

20 lines
508 B
TypeScript

import { useMemo } from "react";
import type { ConversationItem } from "@/features/im/types/conversation";
export function useConversationSearch(items: ConversationItem[], keyword: string) {
return useMemo(() => {
const query = keyword.trim().toLowerCase();
if (!query) {
return items;
}
return items.filter((item) => {
return (
item.title.toLowerCase().includes(query) ||
item.preview.toLowerCase().includes(query)
);
});
}, [items, keyword]);
}