import React from "react" import User from "../../api/client_data/User.ts" import ContactsListItem from "./ContactsListItem.tsx" import useEventListener from "../useEventListener.ts" import { ListItem, TextField } from "mdui" import useAsyncEffect from "../useAsyncEffect.ts" import Client from "../../api/Client.ts" import data from "../../Data.ts" interface Args extends React.HTMLAttributes { display: boolean openChatFragment: (id: string) => void } export default function ContactsList({ display, openChatFragment, ...props }: Args) { const searchRef = React.useRef(null) const [isMultiSelecting, setIsMultiSelecting] = React.useState(false) const [searchText, setSearchText] = React.useState('') const [contactsList, setContactsList] = React.useState([ { id: '1', avatar: "https://www.court-records.net/mugshot/aa6-004-maya.png", nickname: "麻油衣酱", }, { id: '0', avatar: "https://www.court-records.net/mugshot/aa6-004-maya.png", nickname: "Maya Fey", }, ] as User[]) useEventListener(searchRef, 'input', (e) => { setSearchText((e.target as unknown as TextField).value) }) useAsyncEffect(async () => { }) return 添加聯絡人 {/* setIsMultiSelecting(!isMultiSelecting)}>{ isMultiSelecting ? "關閉多選" : "多選模式" } */} { contactsList.filter((user) => searchText == '' || user.nickname.includes(searchText) || user.id.includes(searchText) || user.username?.includes(searchText) ).map((v) => { const self = (e.target as ListItem) if (isMultiSelecting) self.active = !self.active else void(0) }} */ key={v.id} contact={v} /> ) } }