diff --git a/components/chat/mcp-notice.tsx b/components/chat/mcp-notice.tsx index a2c3b654..fc7d7add 100644 --- a/components/chat/mcp-notice.tsx +++ b/components/chat/mcp-notice.tsx @@ -11,7 +11,7 @@ const MCP_URL = "https://github.com/DayuanJiang/next-ai-draw-io/tree/main/packages/mcp-server" /** - * Whether the user closed the MCP video once. Starts as closed so the server + * Whether the user closed the MCP notice once. Starts as closed so the server * render and the first client render agree; the stored choice is read after * mount. */ @@ -90,25 +90,12 @@ const cardClass = "w-full rounded-xl border border-purple-500/20 bg-gradient-to-r from-purple-500/10 to-blue-500/10" /** - * MCP server notice on the start screen. Until the user closes it, the card - * also plays the promo video; after that it is the plain card for good. + * MCP server notice on the start screen: the card with the promo video. Once + * the user closes it, it does not come back. */ export function McpNotice({ className }: { className?: string }) { const [closed, close] = useVideoClosed() - if (closed) { - return ( -
- -
- ) - } + if (closed) return null return (
{ await expect(getChatInput(page)).toHaveValue("Draw a cat for me") }) - test("the MCP card's video stays away once closed", async ({ page }) => { + test("the MCP card and its video stay away once closed", async ({ + page, + }) => { await openApp(page) const card = page.locator('[data-testid="mcp-notice"]') - const video = page.locator('[data-testid="mcp-video"]') await expect(card.locator('[data-testid="mcp-video"]')).toBeVisible() await page.locator('[data-testid="mcp-video-close"]').click() - await expect(video).toHaveCount(0) - await expect(card).toBeVisible() + await expect(card).toHaveCount(0) await page.reload({ waitUntil: "networkidle" }) await expect(page.locator('[data-testid="lobby-hero"]')).toBeVisible() - await expect(card).toBeVisible() - await expect(video).toHaveCount(0) + await expect(card).toHaveCount(0) }) test("each AI change becomes a version card; the latest undoes and redoes it", async ({