From 6ca4d180281b80be8bd7949074c1a7e98ea36488 Mon Sep 17 00:00:00 2001 From: talksik Date: Sat, 28 May 2022 14:32:06 -0500 Subject: [PATCH] breaking apart conversations --- .../desktop/src/components/Conversations.tsx | 16 ++++++++++++---- packages/desktop/src/components/Terminal.tsx | 12 +++++++++--- 2 files changed, 21 insertions(+), 7 deletions(-) diff --git a/packages/desktop/src/components/Conversations.tsx b/packages/desktop/src/components/Conversations.tsx index 59321a4..463485f 100644 --- a/packages/desktop/src/components/Conversations.tsx +++ b/packages/desktop/src/components/Conversations.tsx @@ -23,6 +23,7 @@ import { useSnackbar } from 'notistack'; import KeyboardShortcutLabel from './KeyboardShortcutLabel'; import { searchUsers } from '../firebase/firestore'; import { User } from '@nirvana/core/src/models/user.model'; +import useTerminal from './Terminal'; const Conversations = () => { const { enqueueSnackbar } = useSnackbar(); @@ -49,9 +50,9 @@ const Conversations = () => { setSearchUsersResults(results); console.warn(results); - - setSearching(false); } + + setSearching(false); }, 500, [searchVal, enqueueSnackbar, setSearchUsersResults], @@ -95,7 +96,7 @@ const Conversations = () => { - {searchVal ? : <>} + {searchVal ? : } ); }; @@ -135,7 +136,13 @@ function ListPeople({ people }: { people: User[] }) { ); } -function StaticListConversations() { +function ListConversations() { + const { conversations } = useTerminal(); + + if (conversations.length === 0) { + return Find someone by email or name to get started!; + } + return ( <> ); } + export default Conversations; diff --git a/packages/desktop/src/components/Terminal.tsx b/packages/desktop/src/components/Terminal.tsx index d22f892..11671a9 100644 --- a/packages/desktop/src/components/Terminal.tsx +++ b/packages/desktop/src/components/Terminal.tsx @@ -1,4 +1,4 @@ -import React, { useContext } from 'react'; +import React, { useContext, useState } from 'react'; import { Container } from '@mui/system'; import { Avatar, Box, Fab, Grid, IconButton, Paper, Stack, Typography } from '@mui/material'; @@ -8,12 +8,16 @@ import { useSnackbar } from 'notistack'; import Conversations from './Conversations'; import Navbar from './Navbar'; +import Conversation from '@nirvana/core/src/models/conversation.model'; interface ITerminalContext { + conversations: Conversation[]; selectedConversation?: string; } -const TerminalContext = React.createContext({}); +const TerminalContext = React.createContext({ + conversations: [], +}); // TODOS // fetch all conversations that I am part of @@ -34,8 +38,10 @@ const TerminalContext = React.createContext({}); export function TerminalProvider({ children }: { children?: React.ReactNode }) { const { enqueueSnackbar } = useSnackbar(); + const [conversations, setConversations] = useState([]); + return ( - +