diff --git a/components/artifact-messages.tsx b/components/artifact-messages.tsx index f691a11..1c65230 100644 --- a/components/artifact-messages.tsx +++ b/components/artifact-messages.tsx @@ -1,6 +1,6 @@ import type { UseChatHelpers } from "@ai-sdk/react"; import equal from "fast-deep-equal"; -import { motion } from "framer-motion"; +import { AnimatePresence, motion } from "framer-motion"; import { memo } from "react"; import { useMessages } from "@/hooks/use-messages"; import type { Vote } from "@/lib/db/schema"; @@ -63,9 +63,9 @@ function PureArtifactMessages({ /> ))} - {status === "submitted" && - messages.length > 0 && - messages.at(-1)?.role === "user" && } + + {status === "submitted" && } + { className="group/message w-full" data-role={role} data-testid="message-assistant-loading" + exit={{ opacity: 0, transition: { duration: 0.5 } }} initial={{ opacity: 0 }} + transition={{ duration: 0.2 }} >
@@ -327,7 +329,7 @@ export const ThinkingMessage = () => {
- Thinking... + Thinking...
@@ -335,25 +337,3 @@ export const ThinkingMessage = () => { ); }; -const LoadingText = ({ children }: { children: React.ReactNode }) => { - return ( - - {children} - - ); -}; diff --git a/components/messages.tsx b/components/messages.tsx index e5f29fd..8e0ef08 100644 --- a/components/messages.tsx +++ b/components/messages.tsx @@ -1,5 +1,6 @@ import type { UseChatHelpers } from "@ai-sdk/react"; import equal from "fast-deep-equal"; +import { AnimatePresence } from "framer-motion"; import { ArrowDownIcon } from "lucide-react"; import { memo, useEffect } from "react"; import { useMessages } from "@/hooks/use-messages"; @@ -90,10 +91,9 @@ function PureMessages({ /> ))} - {status === "submitted" && - messages.length > 0 && - messages.at(-1)?.role === "user" && - selectedModelId !== "chat-model-reasoning" && } + + {status === "submitted" && } +