From 5341d03749009fe072e959bd9a2d4e8778c27e47 Mon Sep 17 00:00:00 2001 From: ajaythapliyal Date: Sat, 18 Feb 2023 08:20:20 +0530 Subject: [PATCH 1/2] moves the apikeymodal mounting one level down to simplify --- frontend/src/App.tsx | 13 ------------- frontend/src/Navigation.tsx | 21 ++++++++++++++++++--- 2 files changed, 18 insertions(+), 16 deletions(-) diff --git a/frontend/src/App.tsx b/frontend/src/App.tsx index a91b5c00..b2f69c5b 100644 --- a/frontend/src/App.tsx +++ b/frontend/src/App.tsx @@ -1,31 +1,18 @@ import { Routes, Route } from 'react-router-dom'; import Navigation from './Navigation'; import Conversation from './conversation/Conversation'; -import APIKeyModal from './preferences/APIKeyModal'; import About from './About'; import { useState } from 'react'; import { ActiveState } from './models/misc'; -import { selectApiKeyStatus } from './preferences/preferenceSlice'; -import { useSelector } from 'react-redux'; export default function App() { - const isApiKeySet = useSelector(selectApiKeyStatus); const [navState, setNavState] = useState('ACTIVE'); - const [apiKeyModalState, setApiKeyModalState] = useState( - isApiKeySet ? 'INACTIVE' : 'ACTIVE', - ); return (
- setNavState(val)} - setApiKeyModalState={setApiKeyModalState} />
void; - setApiKeyModalState: (val: ActiveState) => void; }) { + const isApiKeySet = useSelector(selectApiKeyStatus); + const [apiKeyModalState, setApiKeyModalState] = useState( + isApiKeySet ? 'INACTIVE' : 'ACTIVE', + ); const openNav = (
@@ -93,5 +99,14 @@ export default function Navigation({ ); - return navState === 'ACTIVE' ? openNav : closedNav; + return ( + <> + {navState === 'ACTIVE' ? openNav : closedNav} + + + ); } From 10ac36ee7b2d3b5ef58b9b9f77b4c23e795390a6 Mon Sep 17 00:00:00 2001 From: ajaythapliyal Date: Sat, 18 Feb 2023 16:52:14 +0530 Subject: [PATCH 2/2] simplifies the APIKeyModal communication and state management, adds conversation components --- frontend/src/Avatar.tsx | 9 +++++++ frontend/src/Navigation.tsx | 4 +-- frontend/src/assets/send.svg | 3 +++ frontend/src/conversation/Conversation.tsx | 25 +++++++++++++++++-- .../src/conversation/ConversationBubble.tsx | 25 +++++++++++++++++++ .../src/conversation/ConversationInput.tsx | 21 ++++++++++++++++ frontend/src/models/misc.ts | 4 +++ frontend/tailwind.config.cjs | 1 + 8 files changed, 88 insertions(+), 4 deletions(-) create mode 100644 frontend/src/Avatar.tsx create mode 100644 frontend/src/assets/send.svg create mode 100644 frontend/src/conversation/ConversationBubble.tsx create mode 100644 frontend/src/conversation/ConversationInput.tsx diff --git a/frontend/src/Avatar.tsx b/frontend/src/Avatar.tsx new file mode 100644 index 00000000..123b3836 --- /dev/null +++ b/frontend/src/Avatar.tsx @@ -0,0 +1,9 @@ +export default function Avatar({ + avatar, + size, +}: { + avatar: string; + size?: 'SMALL' | 'MEDIUM' | 'LARGE'; +}) { + return
{avatar}
; +} diff --git a/frontend/src/Navigation.tsx b/frontend/src/Navigation.tsx index dcb09bd4..48563938 100644 --- a/frontend/src/Navigation.tsx +++ b/frontend/src/Navigation.tsx @@ -25,7 +25,7 @@ export default function Navigation({ isApiKeySet ? 'INACTIVE' : 'ACTIVE', ); const openNav = ( -
+