export default class ConversationData { // want all of the contents of a conversation in one place for the frontend // need all of the content items in the conversation for the past week // can be audio clip or link for now // if user wants more data, click button to fetch further back // see if this convo is a priority one // all users in the conversation: userId's perhaps, but the actual user we can get from the relevantUsersCache map // want to create individual convo chunks...if I send three messages in a row, it should show my name and only one click to listen to all three in order // B - conversations - last activity date - update cache item for when last time this conversation had something going on (new link, new room, new clip...) AND other users just subscribe to this published source // -> users - A -> last interaction date // -> audioClips - c // -> links // -> live } - also be able to see very cleraly who the last speaker was in the conversation # Listeners ### A - listener for all - users within conversation documents ### B - listener for changes to overall top level convo details ### C - listener for all audio messages for a relevant conversation ### D - listener for all links for all relevant conversation ### F - live room listener - for all relevant convos, stay up to date on the live rooms associated // one map: all relevant users, a map we build based on where the user visits // one map: conversation id -> conversationData as above to get everything relevant // fetch only all convos in last 90 days // search for any other ones in the search bar // filter selector to get live convos // filter selector to get all priority convos // filter selector to get all later convos // filter selector to get all done convos // filter selector to get a map of default "inbox" conversations: // go through all conversations in the conversation map and place in right category /\*\* - { - "Today": [if latest message was today], - "Last 7 Days": [if convo last message was > day - 7], - "earlier this month": [...not in above two, but still > day - 30], - "mm yyyy": [create these if convo is older than the last threshold] - } \*/ // # Dashboard ### Data Needed - live conversations going on right now and which people are in them - all inbox-like conversations such as today, last 7 days, etc a. being able to play the last message in the conversation with a play button b. see if there is a new update in the conversation which I have not viewed c. how many new audio clips or links are in the conversation - priority conversations a. need to be able to play last convo chunk from here and reply from here - drawer a. need all links in all conversations where I am active b.