fix(ui): better handling the ui in case of errors connecting with backend, migrating the fetch api to axios in chatwindow file

This commit is contained in:
Asif Rahaman 2024-12-30 20:35:54 +05:30
parent 409c811a42
commit 86646b1775

View file

@ -10,6 +10,7 @@ import { toast } from 'sonner';
import { useSearchParams } from 'next/navigation'; import { useSearchParams } from 'next/navigation';
import { getSuggestions } from '@/lib/actions'; import { getSuggestions } from '@/lib/actions';
import Error from 'next/error'; import Error from 'next/error';
import axios from 'axios';
export type Message = { export type Message = {
messageId: string; messageId: string;
@ -52,14 +53,17 @@ const useSocket = (
? localStorage.getItem('openAIApiKey') ? localStorage.getItem('openAIApiKey')
: null; : null;
const providers = await fetch( let providers;
try {
providers = await axios.get(
`${process.env.NEXT_PUBLIC_API_URL}/models`, `${process.env.NEXT_PUBLIC_API_URL}/models`,
{ );
headers: { providers = providers.data;
'Content-Type': 'application/json', } catch (e) {
}, setError(true);
}, return;
).then(async (res) => await res.json()); }
if ( if (
!chatModel || !chatModel ||
@ -113,10 +117,11 @@ const useSocket = (
embeddingModelProvider, embeddingModelProvider,
); );
} else { } else {
const chatModelProviders = providers.chatModelProviders; const chatModelProviders = providers?.chatModelProviders;
const embeddingModelProviders = providers.embeddingModelProviders; const embeddingModelProviders = providers?.embeddingModelProviders;
if ( if (
chatModelProviders &&
Object.keys(chatModelProviders).length > 0 && Object.keys(chatModelProviders).length > 0 &&
(((!openAIBaseURL || !openAIPIKey) && (((!openAIBaseURL || !openAIPIKey) &&
chatModelProvider === 'custom_openai') || chatModelProvider === 'custom_openai') ||
@ -144,6 +149,7 @@ const useSocket = (
if ( if (
chatModelProvider && chatModelProvider &&
chatModelProviders &&
(!openAIBaseURL || !openAIPIKey) && (!openAIBaseURL || !openAIPIKey) &&
!chatModelProviders[chatModelProvider][chatModel] !chatModelProviders[chatModelProvider][chatModel]
) { ) {
@ -158,6 +164,7 @@ const useSocket = (
} }
if ( if (
embeddingModelProviders &&
Object.keys(embeddingModelProviders).length > 0 && Object.keys(embeddingModelProviders).length > 0 &&
!embeddingModelProviders[embeddingModelProvider] !embeddingModelProviders[embeddingModelProvider]
) { ) {
@ -170,6 +177,7 @@ const useSocket = (
if ( if (
embeddingModelProvider && embeddingModelProvider &&
embeddingModelProviders &&
!embeddingModelProviders[embeddingModelProvider][embeddingModel] !embeddingModelProviders[embeddingModelProvider][embeddingModel]
) { ) {
embeddingModel = Object.keys( embeddingModel = Object.keys(