This commit is contained in:
Arjun Patel
2022-02-01 23:46:13 -08:00
parent 5cec657af0
commit 22d4536200
6 changed files with 54 additions and 59 deletions
@@ -0,0 +1,47 @@
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 }
# 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]
- } \*/
//
@@ -1,33 +0,0 @@
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
}
// 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]
* }
*/
//
@@ -57,15 +57,8 @@ export default function Conversations() {
</span>
</span>
<span className="flex flex-row items-center mb-5 px-5 w-full mt-10">
<FaRocket className="text-sky-500 text-lg mr-1" />
<span className="text-md tracking-widest font-semibold text-slate-300 uppercase">
Priority
</span>
</span>
{/* Today */}
<span className="flex flex-row items-center mb-5 px-5 w-full">
<span className="flex flex-row items-center mb-5 px-5 w-full mt-10">
<span className="text-md tracking-widest font-semibold text-slate-300 uppercase">
Today
</span>
@@ -10,11 +10,15 @@ import {
FaHeadphones,
FaMicrophoneAlt,
} from "react-icons/fa";
import { useAuth } from "../../contexts/authContext";
import { UserStatus } from "../../models/user";
import MainLogo from "../Logo/MainLogo";
import UserStatusBubble from "../UserDetails/UserStatusBubble";
export default function Header() {
const { currUser } = useAuth();
console.log(currUser);
const router = useRouter();
const UserMenu = (
@@ -82,22 +86,6 @@ export default function Header() {
SELECT_SEARCH: selectSearch,
};
// let headerBgColorClasses: string;
// switch (currPage) {
// case Routes.convos:
// headerBgColorClasses = "bg-teal-600";
// break;
// case Routes.done:
// headerBgColorClasses = "bg-emerald-500";
// break;
// case Routes.later:
// headerBgColorClasses = "bg-purple-500";
// break;
// case Routes.priority:
// headerBgColorClasses = "bg-sky-500";
// break;
// }
return (
<div
className={`flex flex-row justify-start items-center py-3 px-10 bg-slate-50 border-b mb-10`}
@@ -58,7 +58,7 @@ function Sidebar() {
/>
<span className="text-md text-slate-500 font-semibold group-hover:text-slate-600">
Conversations
Convos
</span>
<span className="flex flex-row items-center ml-2">
+1 -1
View File
@@ -13,7 +13,7 @@ export default function Login() {
// if auth, go to dashboard
if (currUser) {
console.log("already logged in, redirecting to router");
router.push("/teams");
router.push("/s");
}
}, [currUser]);