import { IonContent, IonHeader, IonPage, IonTitle, IonToolbar, IonSearchbar, IonButtons, IonButton, IonIcon, IonItem, IonModal, } from "@ionic/react"; import { checkmarkDone, createOutline } from "ionicons/icons"; import "./Chats.css"; import { ChatStore, ContactStore } from "../store"; import { getContacts, getChats } from "../store/Selectors"; import { useEffect, useState } from "react"; import ChatItem from "../components/ChatItem"; import { useRef } from "react"; import ContactModal from "../components/ContactModal"; const Chats = () => { const pageRef = useRef(null); const contacts = ContactStore.useState(getContacts); const latestChats = ChatStore.useState(getChats); const [results, setResults] = useState(latestChats); const [showContactModal, setShowContactModal] = useState(false); useEffect(() => { setResults(latestChats); }, [latestChats]); const search = (e) => { const searchTerm = e.target.value; if (searchTerm !== "") { const searchTermLower = searchTerm.toLowerCase(); const newResults = latestChats.filter((chat) => contacts .filter((c) => c.id === chat.contact_id)[0] .name.toLowerCase() .includes(searchTermLower) ); setResults(newResults); } else { setResults(latestChats); } }; return ( Edit setShowContactModal(true)}> Chats Chats search(e)} /> {results.map((chat, index) => { return ; })} setShowContactModal(false)} > setShowContactModal(false)} /> ); }; export default Chats;