61 lines
2.5 KiB
Markdown
61 lines
2.5 KiB
Markdown
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
|
|
- priority conversations
|
|
a. need to be able to play any messages from there
|