import { TextField } from "mdui" import RecentChat from "../../api/client_data/RecentChat.ts" import useEventListener from "../useEventListener.ts" import RecentsListItem from "./RecentsListItem.tsx" import React from "react" interface Args extends React.HTMLAttributes { recentsList: RecentChat[] setRecentsList: React.Dispatch> display: boolean currentChatId: string openChatFragment: (id: string) => void } export default function RecentsList({ recentsList, setRecentsList, currentChatId, display, openChatFragment, ...props }: Args) { const searchRef = React.useRef(null) const [searchText, setSearchText] = React.useState('') useEventListener(searchRef, 'input', (e) => { setSearchText((e.target as unknown as TextField).value) }) return { recentsList.filter((chat) => searchText == '' || chat.title.includes(searchText) || chat.id.includes(searchText) || chat.content?.includes(searchText) ).map((v) => openChatFragment(v.id)} key={v.id} recentChat={v} /> ) } }