Feat/startup config api (#518)

* feat: add api for config

* feat: add data service to client

* feat: update client pages with values from config endpoint

* test: update tests

* Update configurations and documentation to remove VITE_SHOW_GOOGLE_LOGIN_OPTION and change VITE_APP_TITLE to APP_TITLE

* include APP_TITLE with startup config

* Add test for new route

* update backend-review pipeline

* comment out test until we can figure out testing routes in CI

* update: .env.example

---------

Co-authored-by: fuegovic <32828263+fuegovic@users.noreply.github.com>
This commit is contained in:
Dan Orlando 2023-06-15 09:36:34 -07:00 committed by GitHub
parent 2da81db440
commit 3634d8691a
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
25 changed files with 419 additions and 75 deletions

View file

@ -7,7 +7,11 @@ import Messages from '../components/Messages';
import TextChat from '../components/Input';
import store from '~/store';
import { useGetMessagesByConvoId, useGetConversationByIdMutation } from '~/data-provider';
import {
useGetMessagesByConvoId,
useGetConversationByIdMutation,
useGetStartupConfig
} from '~/data-provider';
export default function Chat() {
const searchQuery = useRecoilValue(store.searchQuery);
@ -21,6 +25,7 @@ export default function Chat() {
//disabled by default, we only enable it when messagesTree is null
const messagesQuery = useGetMessagesByConvoId(conversationId, { enabled: false });
const getConversationMutation = useGetConversationByIdMutation(conversationId);
const { data: config } = useGetStartupConfig();
// when conversation changed or conversationId (in url) changed
useEffect(() => {
@ -53,8 +58,8 @@ export default function Chat() {
// conversationId (in url) should always follow conversation?.conversationId, unless conversation is null
navigate(`/chat/${conversation?.conversationId}`);
}
document.title = conversation?.title || import.meta.env.VITE_APP_TITLE || 'Chat';
}, [conversation, conversationId]);
document.title = conversation?.title || config?.appTitle || 'Chat';
}, [conversation, conversationId, config]);
useEffect(() => {
if (messagesTree === null && conversation?.conversationId) {

View file

@ -5,7 +5,6 @@ import Search from './Search';
import { Login, Registration, RequestPasswordReset, ResetPassword } from '../components/Auth';
import { AuthContextProvider } from '../hooks/AuthContext';
import ApiErrorWatcher from '../components/Auth/ApiErrorWatcher';
import { ALLOW_REGISTRATION } from '../utils/envConstants';
const AuthLayout = () => (
<AuthContextProvider>
@ -17,7 +16,7 @@ const AuthLayout = () => (
export const router = createBrowserRouter([
{
path: 'register',
element: ALLOW_REGISTRATION ? <Registration /> : <Navigate to="/login" replace={true} />
element: <Registration />
},
{
path: 'forgot-password',