import { Avatar, Tooltip } from "antd"; import { useRecoilState, useRecoilValue } from "recoil"; import { checkIncomingMessageSelector, selectedConvoAtom, } from "../../recoil/main"; import Conversation from "../../../common/models/conversation"; import { MasterAvatarGroupWithUserFetch } from "../UserDetails/MasterAvatarGroup"; import moment from "moment"; import { FaCaretRight, FaCircle, FaMicrophoneAlt, FaPlay, } from "react-icons/fa"; import { useCallback } from "react"; import { FaAngleRight } from "react-icons/fa"; import { useRouter } from "next/router"; import { Routes } from "@nirvana/common/helpers/routes"; import { isRecordingAtom } from "../../recoil/main"; export default function PriorityConvoRow(props: { conversation: Conversation; itemIndex: number; }) { // figure out if this is a selectedConvo const [selectedConvo, setSelectedConvo] = useRecoilState(selectedConvoAtom); const isSelected = selectedConvo == props.conversation.id ? true : false; const isRecording = useRecoilValue(isRecordingAtom); // who was the last sender based on the lastInteractionDate etc. const isNewIncoming = useRecoilValue( checkIncomingMessageSelector(props.conversation.id) ); // todo: implement method in conversation // const isOneonOne = const handleSelectConvo = useCallback(() => { setSelectedConvo(props.conversation.id); }, [props.conversation]); const router = useRouter(); const handleViewConversationDetails = (e) => { e.stopPropagation(); router.push({ pathname: Routes.home, query: { convoId: props.conversation.id }, }); }; return ( {props.conversation.name} {props.itemIndex} {isNewIncoming && ( )} {moment(props.conversation.lastActivityDate.toDate()).fromNow()} {isSelected && ( <> )} ); }