@@ -1,4 +1,5 @@
|
||||
import { describe, expect, test } from "bun:test";
|
||||
import { readFileSync } from "node:fs";
|
||||
import { getAiDisabledMessage } from "@/lib/ai-feature-flags";
|
||||
import { cn } from "@/lib/utils";
|
||||
|
||||
@@ -50,6 +51,8 @@ const DESTRUCTIVE_ACTION_CLASSES =
|
||||
/** Event count badge: auto-positioned to far right via ml-auto */
|
||||
const BADGE_POSITION_CLASS = "ml-auto";
|
||||
|
||||
const readToolbarSource = () => readFileSync("src/components/ai-toolbar.tsx", "utf8");
|
||||
|
||||
// ─── Cycle 1: AI zone visual accent ─────────────────────────────────────────
|
||||
|
||||
describe("AI zone – primary accent ring contract", () => {
|
||||
@@ -155,6 +158,20 @@ describe("Event count badge – positioning contract", () => {
|
||||
});
|
||||
});
|
||||
|
||||
describe("AI capture redesign", () => {
|
||||
test("desktop composer treats prompt and attachments as peer panels", () => {
|
||||
const source = readToolbarSource();
|
||||
|
||||
expect(source).toContain("lg:grid-cols-[minmax(0,1fr)_minmax(0,1fr)]");
|
||||
});
|
||||
|
||||
test("attachments panel is a first-class surfaced region, not an inline footer affordance", () => {
|
||||
const source = readToolbarSource();
|
||||
|
||||
expect(source).toContain("rounded-[10px] bg-card p-3 shadow-[0_0_0_1px_rgba(0,0,0,0.08)]");
|
||||
});
|
||||
});
|
||||
|
||||
// ─── Cycle 6: Composer footer bar ────────────────────────────────────────────
|
||||
//
|
||||
// Below the textarea sits a single horizontal footer row:
|
||||
|
||||
Reference in New Issue
Block a user