add react-hot-toast and surface OpenAI API errors to users (#328)
This commit is contained in:
@@ -2,12 +2,14 @@ import '@/styles/globals.css';
|
||||
import { appWithTranslation } from 'next-i18next';
|
||||
import type { AppProps } from 'next/app';
|
||||
import { Inter } from 'next/font/google';
|
||||
import { Toaster } from 'react-hot-toast';
|
||||
|
||||
const inter = Inter({ subsets: ['latin'] });
|
||||
|
||||
function App({ Component, pageProps }: AppProps<{}>) {
|
||||
return (
|
||||
<main className={inter.className}>
|
||||
<Toaster />
|
||||
<Component {...pageProps} />
|
||||
</main>
|
||||
);
|
||||
|
||||
+6
-2
@@ -1,6 +1,6 @@
|
||||
import { ChatBody, Message } from '@/types/chat';
|
||||
import { DEFAULT_SYSTEM_PROMPT } from '@/utils/app/const';
|
||||
import { OpenAIStream } from '@/utils/server';
|
||||
import { OpenAIError, OpenAIStream } from '@/utils/server';
|
||||
import tiktokenModel from '@dqbd/tiktoken/encoders/cl100k_base.json';
|
||||
import { init, Tiktoken } from '@dqbd/tiktoken/lite/init';
|
||||
// @ts-expect-error
|
||||
@@ -49,7 +49,11 @@ const handler = async (req: Request): Promise<Response> => {
|
||||
return new Response(stream);
|
||||
} catch (error) {
|
||||
console.error(error);
|
||||
return new Response('Error', { status: 500 });
|
||||
if (error instanceof OpenAIError) {
|
||||
return new Response('Error', { status: 500, statusText: error.message });
|
||||
} else {
|
||||
return new Response('Error', { status: 500 });
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
@@ -34,6 +34,7 @@ import { serverSideTranslations } from 'next-i18next/serverSideTranslations';
|
||||
import Head from 'next/head';
|
||||
import { useEffect, useRef, useState } from 'react';
|
||||
import { v4 as uuidv4 } from 'uuid';
|
||||
import toast from 'react-hot-toast';
|
||||
|
||||
interface HomeProps {
|
||||
serverSideApiKeyIsSet: boolean;
|
||||
@@ -120,6 +121,7 @@ const Home: React.FC<HomeProps> = ({
|
||||
if (!response.ok) {
|
||||
setLoading(false);
|
||||
setMessageIsStreaming(false);
|
||||
toast.error(response.statusText);
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user