import { Avatar, Modal, Tooltip } from "antd"; import { Message } from "../../models/message"; import { FaBackward } from "react-icons/fa"; import { useTeamDashboardContext } from "../../contexts/teamDashboardContext"; import { useAuth } from "../../contexts/authContext"; import { useKeyboardContext } from "../../contexts/keyboardContext"; import moment from "moment"; export default function PowerPlayer(props: { show: boolean; handleCloseModal: Function; }) { const { currUser } = useAuth(); const { allMessages, teamUsersMap } = useTeamDashboardContext(); const { handleAddAudioToQueue } = useKeyboardContext(); // two arrays: // 1. all of my messages in order date desc => top // const sentMessages = allMessages.filter(msg => msg.senderUserId == currUser.uid) // // 2. all of incoming messages in order date desc => bottom // const receivedMessages = allMessages.filter(msg => msg.receiverUserId == currUser.uid) const messageRangeHalfToPlay = 2; function handlePlayAudio(url: string) { // todo play like 2 indexes lower to 2 indexes higher instead of // const indexOfMessage = 5; // var startPlay = indexOfMessage - messageRangeHalfToPlay; // if (startPlay < 0) { // startPlay = 0; // } // var endPlay = indexOfMessage + messageRangeHalfToPlay; // if (endPlay > allMessages.length) { // endPlay = allMessages.length; // } // // loop through start to end and add to queue // var convoChunk: string[] = [] handleAddAudioToQueue([url]); } function handleClose(e) { props.handleCloseModal(); } return ( 👋 Close } > One timeline to listen to the past 24 hours. The bottom are your messages. The top are incoming messages. Click on the bubbles to listen to conversations during that period.
{/* top incoming messages */}
{allMessages.map((msg, i) => { const relativeDateTime: string = moment( msg.createdDate.toDate() ).fromNow(); if (msg.senderUserId == currUser.uid) { // if I am the sender const receiverUser = teamUsersMap[msg.receiverUserId]; if (!receiverUser) { return; } return ( " + receiverUser.nickName + ": " + relativeDateTime } > handlePlayAudio(msg.audioDataUrl)} className="border-r-2 border-r-sky-400 translate-y-10 min-w-max hover:cursor-pointer border-t-2 border-t-black" > {/* */}
); } const sender = teamUsersMap[msg.senderUserId]; // incoming messages return ( handlePlayAudio(msg.audioDataUrl)} className="border-r-2 border-r-orange-400 min-w-max hover:cursor-pointer border-b-2 border-b-black" > K ); })}
{/* middle line */} {/*
*/}
); }