From 6003d287bcbd0b8d7aa51df7d00c9d22abdb1d82 Mon Sep 17 00:00:00 2001 From: x Date: Thu, 6 Aug 2026 20:35:20 +0800 Subject: [PATCH] =?UTF-8?q?AIT-583:=20Toast=20residual=20carnival=20pink?= =?UTF-8?q?=20rgba=20=E2=86=92=20gallery=20copper?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Map hard-coded toast panel/dot glow from carnival pink rgba(255,78,205,…) to board copper rgba(196,165,116,…). Keep neon-pink CSS vars (already copper on board) and Toast queue/dismiss logic. Smoke-lock product-proof against residual pink RGB. Co-authored-by: multica-agent --- components/Toast.tsx | 4 ++-- scripts/generate-360-cta-smoke.mjs | 10 ++++++++-- scripts/product-proof-smoke.mjs | 22 ++++++++++++++++++++++ 3 files changed, 32 insertions(+), 4 deletions(-) diff --git a/components/Toast.tsx b/components/Toast.tsx index c76416b6..c55fd989 100644 --- a/components/Toast.tsx +++ b/components/Toast.tsx @@ -36,9 +36,9 @@ export function ToastProvider({ children }: { children: React.ReactNode }) { {items.map((t) => (
- + {t.text}
))} diff --git a/scripts/generate-360-cta-smoke.mjs b/scripts/generate-360-cta-smoke.mjs index a1f03e47..b9596b40 100644 --- a/scripts/generate-360-cta-smoke.mjs +++ b/scripts/generate-360-cta-smoke.mjs @@ -574,11 +574,17 @@ assert.doesNotMatch( "Toast stack must not hardcode bottom-20 (misses notched safe-area)" ); // AIT-374: Toast residual competitor lime → neon-pink / void board tokens +// AIT-583: hard glow rgba carnival pink → gallery copper (tokens stay --neon-pink) assert.doesNotMatch( toastSrc, /#c8ff3d|c8ff3d|200\s*,\s*255\s*,\s*61/, "Toast must not hard-code competitor lime (#c8ff3d / rgba 200,255,61)" ); +assert.doesNotMatch( + toastSrc, + /#B14EFF|#FF4ECD|255\s*,\s*78\s*,\s*205|177\s*,\s*78\s*,\s*255/i, + "Toast must not hard-code carnival pink RGB" +); assert.match( toastSrc, /var\(--neon-pink\)/, @@ -591,8 +597,8 @@ assert.match( ); assert.match( toastSrc, - /rgba\(255,\s*78,\s*205/, - "Toast glow uses neon-pink board rgba" + /rgba\(196\s*,\s*165\s*,\s*116/, + "Toast glow uses gallery copper board rgba" ); // 9. AIT-383 — sticky Generate content pads (Create/Modules/cinema/Batch) + browse bar pads diff --git a/scripts/product-proof-smoke.mjs b/scripts/product-proof-smoke.mjs index eaeb106e..62b7d5c3 100644 --- a/scripts/product-proof-smoke.mjs +++ b/scripts/product-proof-smoke.mjs @@ -307,6 +307,28 @@ assert( ); } +// AIT-583: Toast residual carnival pink rgba → gallery-calm copper board +{ + const toast = read("components/Toast.tsx"); + const carnival = + /#B14EFF|#FF4ECD|255\s*,\s*78\s*,\s*205|177\s*,\s*78\s*,\s*255/i; + assert( + !carnival.test(toast), + "components/Toast.tsx must not hard-code carnival pink RGB" + ); + assert( + /rgba\(196\s*,\s*165\s*,\s*116/.test(toast) && + toast.includes("var(--neon-pink)") && + toast.includes("data-toast-stack") && + toast.includes("useToast"), + "Toast panel/dot glows use copper rgba(196,165,116) + neon-pink board tokens; product queue/dismiss API intact" + ); + assert( + !toast.includes("Success") && !toast.includes("fake"), + "Toast must not hard-code success/fake UGC copy" + ); +} + console.log( `product-proof smoke passed: ${proofSlugs.length} proof recipes, static concepts, 1/2 autoplay budget` );