import { Add, LinkRounded } from "@mui/icons-material"; import { $selectedConversation } from "../../../controller/recoil"; import { Avatar } from "antd"; import { ContactDetails } from "@nirvana/core/responses/getContacts.response"; import { FaVolumeUp } from "react-icons/fa"; import SkeletonLoader from "../../../components/loading/skeleton"; import UserAvatarWithStatus from "../../../components/User/userAvatarWithStatus"; import UserStatusText from "../../../components/User/userStatusText"; import { useGetAllContactBasicDetails } from "../../../controller"; import { useRecoilState } from "recoil"; import useSocketData from "../../../controller/sockets"; export default function Conversations() { const { data: contactDetailsListResponse, isLoading } = useGetAllContactBasicDetails(); const { speakingRooms } = useSocketData(); const [selectedConvo, setSelectedConvo] = useRecoilState( $selectedConversation ); // todo: show conversations with activity/new content for me first...then the rest of the contacts const selectContact = async (googleUserId: string) => { // if this person is already selected, unselect if (selectedConvo === googleUserId) { setSelectedConvo(null); return; } setSelectedConvo(googleUserId); }; return ( <> {/* actions navbar */}
{/* pinned conversations */}
Live Mark Conversations as Pinned to Hear Them Live
{isLoading ? ( ) : (
Inbox {contactDetailsListResponse?.contactsDetails.map( (contactDetail: ContactDetails) => { return (
selectContact(contactDetail.otherUser.googleId) } className="flex flex-row items-center hover:bg-slate-600 group border-t border-t-slate-500 py-4 px-2 cursor-pointer" > {contactDetail.otherUser.name} {speakingRooms.includes( contactDetail.relationship._id.toString() ) ? ( speaking... ) : null}
); } )}
)} ); }