diff --git a/apps/waitlist-website/app/chat/message.ts b/apps/waitlist-website/app/chat/message.ts index 756dc18..8786832 100644 --- a/apps/waitlist-website/app/chat/message.ts +++ b/apps/waitlist-website/app/chat/message.ts @@ -56,3 +56,10 @@ export function duplicateEmailMessage(): SystemMessage { message: `I appreciate your excitement! You are already on the waitlist. When I am ready, I will reach out again. Have a good ${timeOfDay()} :)`, } } + +export function troubleMessage(): SystemMessage { + return { + role: "system", + message: `I apologize, but I am having trouble adding you to the waitlist. Could you refresh the page and try again please in a moment?`, + } +} diff --git a/apps/waitlist-website/app/routes/home.tsx b/apps/waitlist-website/app/routes/home.tsx index a84396f..344c8e5 100644 --- a/apps/waitlist-website/app/routes/home.tsx +++ b/apps/waitlist-website/app/routes/home.tsx @@ -8,6 +8,7 @@ import { ChatBox } from "~/chat/chat-box" import { duplicateEmailMessage, INITLAL_MESSAGES, + troubleMessage, waitListJoinedMessage, type Message, type SystemMessage, @@ -111,10 +112,19 @@ export default function Home() { if (fetcher.data?.email && !isAnimatingSend) { setMessages((messages) => [...messages, waitListJoinedMessage(fetcher.data.email)]) } else if (fetcher.data?.error) { - if (fetcher.data.error === FormError.Duplicate && !isAnimatingSend) { - setMessages((messages) => [...messages, duplicateEmailMessage()]) - } else { - console.error(fetcher.data.error) + if (!isAnimatingSend) { + let errorMessage: SystemMessage + switch (fetcher.data.error) { + case FormError.Duplicate: + errorMessage = duplicateEmailMessage() + break + default: { + console.error(fetcher.data.error) + errorMessage = troubleMessage() + break + } + } + setMessages((messages) => [...messages, errorMessage]) } } }, [fetcher.data?.email, fetcher.data?.error, isAnimatingSend]) @@ -196,6 +206,12 @@ export default function Home() { }} /> {chatBox} + + ) }