diff --git a/packages/web/components/Conversations/ConversationFullRow.tsx b/packages/web/components/Conversations/ConversationFullRow.tsx new file mode 100644 index 0000000..af7052c --- /dev/null +++ b/packages/web/components/Conversations/ConversationFullRow.tsx @@ -0,0 +1,63 @@ +import Conversation from "@nirvana/common/models/conversation"; +import { Avatar } from "antd"; +import { + FaCircle, + FaUser, + FaRocket, + FaRegClock, + FaCheck, + FaAngleRight, +} from "react-icons/fa"; +import { MasterAvatarGroupWithUserFetch } from "../UserDetails/MasterAvatarGroup"; + +export default function ConversationFullRow(props: { + conversation: Conversation; +}) { + let quickUpdateText = ""; + + if (props.conversation.cachedAudioClips?.length > 0) { + quickUpdateText = `${props.conversation.cachedAudioClips[0].senderUserId} spoke just now...`; + } + + return ( + + + + + + + {props.conversation.name} + + + + {quickUpdateText} + + + + 9:00am + + + {/* actions */} + + + + + + + + + + + + + + + + ); +} diff --git a/packages/web/components/MainTabsOrPages/Conversations.tsx b/packages/web/components/MainTabsOrPages/Conversations.tsx index 3c03028..ec5c8ad 100644 --- a/packages/web/components/MainTabsOrPages/Conversations.tsx +++ b/packages/web/components/MainTabsOrPages/Conversations.tsx @@ -22,6 +22,7 @@ import { RelativeTimeConvosSections, RelativeTimeSeparatedConvosSelector, } from "../../recoil/main"; +import ConversationFullRow from "../Conversations/ConversationFullRow"; export default function Conversations() { const router = useRouter(); @@ -52,6 +53,7 @@ export default function Conversations() { return ( <> + {/* live */} {liveRooms?.length > 0 && ( <> @@ -72,311 +74,91 @@ export default function Conversations() { {/* Today */} {todayConvos && todayConvos?.length > 0 && ( - - - Today - + <> + + + Today + - - + + + handleViewConversationDetails("woah")} + className="flex flex-col w-full items-stretch" + > + {todayConvos.map((tRoom) => ( + + ))} + + )} - handleViewConversationDetails("woah")} - className="flex flex-col w-full items-stretch" - > - {/* engineering */} - - - - - - - K - } - /> - } - /> - } - /> - } - /> - - - Engineering - - - - {`Josh: "let's just figure out how to finish the rest of the "`} - - - - 9:00am - - - {/* actions */} - - - - - - - - - - - - + {/* last 7 days */} + {last7DaysConvos && last7DaysConvos?.length > 0 && ( + <> + + + Today + + - - - {/* general */} - - - - - - - - - - - - - - - - - - General + handleViewConversationDetails("woah")} + className="flex flex-col w-full items-stretch" + > + {last7DaysConvos.map((tRoom) => ( + + ))} + + )} - - You spoke 2 hours ago + {/* earlier this month */} + {earlierMonthConvos && earlierMonthConvos?.length > 0 && ( + <> + + + Today + + + - - - 7:22am + handleViewConversationDetails("woah")} + className="flex flex-col w-full items-stretch" + > + {earlierMonthConvos.map((tRoom) => ( + + ))} + + )} - {/* actions */} - - - - - - - - - - - - + {/* old junk */} + {oldJunkConvos && oldJunkConvos?.length > 0 && ( + <> + + + Today + + - - - {/* one on one chat with sydney */} - - - - - - - - - - - Sydney + handleViewConversationDetails("woah")} + className="flex flex-col w-full items-stretch" + > + {oldJunkConvos.map((tRoom) => ( + + ))} + + )} - - {`"Did you ever figure out that problem with the "`} - - - - 6:50am - - - {/* actions */} - - - - - - - - - - - - - - - + + {"That's all"} - - - - Last 7 Days - - - - - - - - - - - - - - - - - Justin - - - - {`"Here's a quick github link for that library you were looking for"`} - - - - - - - - - - - - - - 6:50am - - - {/* actions */} - - - - - - - - - - - - - - - - - - - - - - - - - - Steph and Lee - - - - {`"Let's hop into a room to discuss this sometime this afternoon..."`} - - - - 6:50am - - - {/* actions */} - - - - - - - - - - - - - - - - - - - - Earlier This Month - - - - - - - - Old Junk - - - - - - {"That's all"} ); } diff --git a/packages/web/recoil/main.tsx b/packages/web/recoil/main.tsx index 46d924f..c949432 100644 --- a/packages/web/recoil/main.tsx +++ b/packages/web/recoil/main.tsx @@ -135,7 +135,8 @@ export const RelativeTimeSeparatedConvosSelector = selector< // inbox/default Convos: already sorted const defaultConvos = sortedConvos.filter((convo) => { return ( - userMemberMap.get(convo.id)?.state == ConversationMemberState.default + userMemberMap.get(convo.id)?.state == ConversationMemberState.default && + !convo.membersInLiveRoom?.length ); });