Files
2022-02-02 21:51:09 -08:00

2.7 KiB

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

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.