diff --git a/src/App.jsx b/src/App.jsx
index 6ec01ec1fb..ae989928fe 100644
--- a/src/App.jsx
+++ b/src/App.jsx
@@ -9,9 +9,9 @@ import useDidMountEffect from './hooks/useDidMountEffect';
const App = () => {
const { messages } = useSelector((state) => state.messages);
- const convo = useSelector((state) => state.convo);
+ const { conversationId } = useSelector((state) => state.convo);
const { data, error, isLoading, mutate } = swr('http://localhost:3050/convos');
- useDidMountEffect(() => mutate(), [convo]);
+ useDidMountEffect(() => mutate(), [conversationId]);
return (
diff --git a/src/components/Nav/DarkMode.jsx b/src/components/Nav/DarkMode.jsx
index 5e4a256295..70167952aa 100644
--- a/src/components/Nav/DarkMode.jsx
+++ b/src/components/Nav/DarkMode.jsx
@@ -1,19 +1,21 @@
import React, { useState, useContext } from 'react';
import DarkModeIcon from '../svg/DarkModeIcon';
+import LightModeIcon from '../svg/LightModeIcon';
import { ThemeContext } from '~/hooks/ThemeContext';
export default function DarkMode() {
const { theme, setTheme } = useContext(ThemeContext);
const clickHandler = () => setTheme(theme === 'dark' ? 'light' : 'dark');
+ const mode = theme === 'dark' ? 'Light mode' : 'Dark mode';
return (
-
- Dark mode
+ {theme === 'dark' ? : }
+ {mode}
);
}
diff --git a/src/components/main/Regenerate.jsx b/src/components/main/Regenerate.jsx
new file mode 100644
index 0000000000..8cfa76fe0c
--- /dev/null
+++ b/src/components/main/Regenerate.jsx
@@ -0,0 +1,34 @@
+import React from 'react';
+
+export default function Regenerate({ submitMessage }) {
+
+ const clickHandler = (e) => {
+ e.preventDefault();
+ submitMessage();
+ };
+
+ return (
+
+ There was an error generating a response
+
+
+ );
+}
diff --git a/src/components/main/TextChat.jsx b/src/components/main/TextChat.jsx
index 968825c9d3..cbffa8058c 100644
--- a/src/components/main/TextChat.jsx
+++ b/src/components/main/TextChat.jsx
@@ -9,7 +9,6 @@ import { setSubmitState } from '~/store/submitSlice';
import { setText } from '~/store/textSlice';
export default function TextChat({ messages, reloadConvos }) {
- // const [text, setText] = useState('');
const dispatch = useDispatch();
const convo = useSelector((state) => state.convo);
const { isSubmitting } = useSelector((state) => state.submit);
@@ -47,6 +46,7 @@ export default function TextChat({ messages, reloadConvos }) {
};
dispatch(setSubmitState(false));
dispatch(setMessages([...messages, currentMsg, errorResponse]));
+ dispatch(setText(payload));
return;
};
console.log('User Input:', payload);
diff --git a/src/components/svg/LightModeIcon.jsx b/src/components/svg/LightModeIcon.jsx
new file mode 100644
index 0000000000..bdb1360d4f
--- /dev/null
+++ b/src/components/svg/LightModeIcon.jsx
@@ -0,0 +1,72 @@
+import React from 'react';
+
+export default function LightModeIcon() {
+ return (
+
+ );
+}
diff --git a/src/store/convoSlice.js b/src/store/convoSlice.js
index dcb96be3f1..994dbd2379 100644
--- a/src/store/convoSlice.js
+++ b/src/store/convoSlice.js
@@ -2,6 +2,7 @@ import { createSlice } from '@reduxjs/toolkit';
const initialState = {
active: false,
+ error: false,
conversationId: null,
parentMessageId: null,
};
@@ -13,10 +14,13 @@ const currentSlice = createSlice({
setConversation: (state, action) => {
return { ...state, ...action.payload };
},
+ setError: (state, action) => {
+ state.error = action.payload;
+ },
}
});
//
-export const { setConversation } = currentSlice.actions;
+export const { setConversation, setError } = currentSlice.actions;
export default currentSlice.reducer;