diff --git a/frontend/src/components/workspace/flip-display.tsx b/frontend/src/components/workspace/flip-display.tsx
new file mode 100644
index 0000000..6c3a2ca
--- /dev/null
+++ b/frontend/src/components/workspace/flip-display.tsx
@@ -0,0 +1,29 @@
+import { AnimatePresence, motion } from "motion/react";
+
+import { cn } from "@/lib/utils";
+
+export function FlipDisplay({
+ uniqueKey,
+ children,
+ className,
+}: {
+ uniqueKey: string;
+ children: React.ReactNode;
+ className?: string;
+}) {
+ return (
+
+ );
+}
diff --git a/frontend/src/components/workspace/message-list/message-group.tsx b/frontend/src/components/workspace/message-list/message-group.tsx
index 16f9d82..dcc7ae1 100644
--- a/frontend/src/components/workspace/message-list/message-group.tsx
+++ b/frontend/src/components/workspace/message-list/message-group.tsx
@@ -29,6 +29,8 @@ import { useRehypeSplitWordsIntoSpans } from "@/core/rehype";
import { extractTitleFromMarkdown } from "@/core/utils/markdown";
import { cn } from "@/lib/utils";
+import { FlipDisplay } from "../flip-display";
+
export function MessageGroup({
className,
messages,
@@ -62,17 +64,20 @@ export function MessageGroup({
{open && steps.length > 1 ? (
{steps.length} steps
) : (
-
- {label}
-
+
+
+ {label}
+
+
)}
{!open && steps.length > 1 && (
-
- {steps.length - 1} more step
- {steps.length - 1 > 1 ? "s" : ""}
+
+ {steps.length - 1 > 1
+ ? `${steps.length - 1} more steps`
+ : `${steps.length - 1} more step`}
)}
diff --git a/frontend/src/components/workspace/message-list/message-list.tsx b/frontend/src/components/workspace/message-list/message-list.tsx
index 215b6ab..f947e38 100644
--- a/frontend/src/components/workspace/message-list/message-list.tsx
+++ b/frontend/src/components/workspace/message-list/message-list.tsx
@@ -28,7 +28,7 @@ export function MessageList({
-
+
{groupMessages(
thread.messages,
(groupedMessages) => {