diff --git a/packages/web/components/MainTabsOrPages/Done.tsx b/packages/web/components/MainTabsOrPages/Done.tsx
index eb9d52c..a0c1d27 100644
--- a/packages/web/components/MainTabsOrPages/Done.tsx
+++ b/packages/web/components/MainTabsOrPages/Done.tsx
@@ -1,19 +1,34 @@
import React from "react";
import { FaCheck } from "react-icons/fa";
+import { useRecoilValue } from "recoil";
+import { doneConvosSelector } from "../../recoil/main";
+import ConversationFullRow from "../Conversations/ConversationFullRow";
export default function Done() {
- return (
-
-

+ const doneConvos = useRecoilValue(doneConvosSelector);
-
-
- Add things to done to
clear
- your mind.
-
-
+ return (
+ <>
+ {doneConvos?.length > 0 ? (
+
+ {doneConvos.map((tRoom) => (
+
+ ))}
+
+ ) : (
+
+

+
+
+
+ Add things to done to
clear
+ your mind.
+
+
+ )}
+ >
);
}
diff --git a/packages/web/components/MainTabsOrPages/Later.tsx b/packages/web/components/MainTabsOrPages/Later.tsx
index caeb44f..1c57a1a 100644
--- a/packages/web/components/MainTabsOrPages/Later.tsx
+++ b/packages/web/components/MainTabsOrPages/Later.tsx
@@ -1,21 +1,35 @@
import React from "react";
import { FaRegClock } from "react-icons/fa";
+import { useRecoilValue } from "recoil";
+import { laterConvosSelector } from "../../recoil/main";
+import ConversationFullRow from "../Conversations/ConversationFullRow";
export default function Later() {
- console.log("re-rendering later");
- return (
-
-

+ const laterConvos = useRecoilValue(laterConvosSelector);
-
-
- Focusing right now?
No worries, go through low-priority{" "}
-
- conversations later.
-
-
+ return (
+ <>
+ {laterConvos?.length > 0 ? (
+
+ {laterConvos.map((tRoom) => (
+
+ ))}
+
+ ) : (
+
+

+
+
+
+ Focusing right now?
No worries, go through low-priority{" "}
+
+ conversations later.
+
+
+ )}
+ >
);
}
diff --git a/packages/web/recoil/main.tsx b/packages/web/recoil/main.tsx
index 6966be3..1eb5afb 100644
--- a/packages/web/recoil/main.tsx
+++ b/packages/web/recoil/main.tsx
@@ -27,6 +27,9 @@ export enum RecoilActions {
SORTED_CONVERSATIONS = "SORTED_CONVERSATIONS",
LIVE_ROOMS = "LIVE_ROOMS",
+ LATER_CONVERSATIONS_SELECTOR = "LATER_CONVERSATIONS_SELECTOR",
+ PRIORITY_CONVERSATIONS_SELECTOR = "PRIORITY_CONVERSATIONS_SELECTOR",
+ DONE_CONVERSATIONS_SELECTOR = "DONE_CONVERSATIONS_SELECTOR",
RELATIVE_TIME_SECTIONS_CONVOS = "RELATIVE_TIME_SECTIONS_CONVOS",
CHECK_INCOMING_MESSAGE = "CHECK_INCOMING_MESSAGE",
@@ -113,6 +116,65 @@ export const liveRoomsSelector = selector({
},
});
+export const laterConvosSelector = selector({
+ key: RecoilActions.LATER_CONVERSATIONS_SELECTOR,
+ get: ({ get }) => {
+ const sortedConvos = get(sortedRoomSelector);
+ const convoUserMap = get(allUsersConversationsAtom);
+
+ const laterConvos: Conversation[] = sortedConvos.filter((conv) => {
+ // get the userconvoAssoc and see the state
+ if (convoUserMap.get(conv.id)?.state == ConversationMemberState.later) {
+ return true;
+ }
+
+ return false;
+ });
+
+ return laterConvos;
+ },
+});
+
+export const priorityConvosSelector = selector({
+ key: RecoilActions.PRIORITY_CONVERSATIONS_SELECTOR,
+ get: ({ get }) => {
+ const sortedConvos = get(sortedRoomSelector);
+ const convoUserMap = get(allUsersConversationsAtom);
+
+ const priorityConvos: Conversation[] = sortedConvos.filter((conv) => {
+ // get the userconvoAssoc and see the state
+ if (
+ convoUserMap.get(conv.id)?.state == ConversationMemberState.priority
+ ) {
+ return true;
+ }
+
+ return false;
+ });
+
+ return priorityConvos;
+ },
+});
+
+export const doneConvosSelector = selector({
+ key: RecoilActions.DONE_CONVERSATIONS_SELECTOR,
+ get: ({ get }) => {
+ const sortedConvos = get(sortedRoomSelector);
+ const convoUserMap = get(allUsersConversationsAtom);
+
+ const doneConvos: Conversation[] = sortedConvos.filter((conv) => {
+ // get the userconvoAssoc and see the state
+ if (convoUserMap.get(conv.id)?.state == ConversationMemberState.done) {
+ return true;
+ }
+
+ return false;
+ });
+
+ return doneConvos;
+ },
+});
+
export enum RelativeTimeConvosSections {
today = "TODAY",