diff --git a/src/components/chat/ChatInput.tsx b/src/components/chat/ChatInput.tsx index a1b0d05..53cb9e3 100644 --- a/src/components/chat/ChatInput.tsx +++ b/src/components/chat/ChatInput.tsx @@ -556,7 +556,7 @@ function KeepGoingButton() { ); } -function mapActionToButton(action: SuggestedAction) { +export function mapActionToButton(action: SuggestedAction) { switch (action.id) { case "summarize-in-new-chat": return ; diff --git a/src/components/chat/DyadMarkdownParser.tsx b/src/components/chat/DyadMarkdownParser.tsx index ba2c663..2c2596a 100644 --- a/src/components/chat/DyadMarkdownParser.tsx +++ b/src/components/chat/DyadMarkdownParser.tsx @@ -22,6 +22,8 @@ import { DyadMcpToolResult } from "./DyadMcpToolResult"; import { DyadWebSearchResult } from "./DyadWebSearchResult"; import { DyadWebSearch } from "./DyadWebSearch"; import { DyadRead } from "./DyadRead"; +import { mapActionToButton } from "./ChatInput"; +import { SuggestedAction } from "@/lib/schemas"; interface DyadMarkdownParserProps { content: string; @@ -498,7 +500,12 @@ function renderCustomTag( return null; case "dyad-command": - // Don't render anything for dyad-command + if (attributes.type) { + const action = { + id: attributes.type, + } as SuggestedAction; + return <>{mapActionToButton(action)}; + } return null; default: