From e68c48dabdfe2500a83a12781892098584dc695b Mon Sep 17 00:00:00 2001 From: gsxdsm Date: Wed, 22 Jul 2026 00:00:04 -0700 Subject: [PATCH] FN-8472: restore Coding (Ideas) header color indicator Restore the shared triage color indicator for Coding (Ideas) headers. - map the Ideas header dot to the shared triage design token - cover empty and populated Ideas columns plus the token mapping - add a patch changeset for the operator-facing fix Files changed: .changeset/fn-8472-ideas-column-indicator.md | 7 +++++ .../app/components/__tests__/Column.test.tsx | 36 ++++++++++++++++++++++ packages/dashboard/app/styles.css | 9 ++++++ 3 files changed, 52 insertions(+) Fusion-Task-Id: FN-8472 Fusion-Task-Lineage: dcaf556d-e8d4-4441-aa94-094e35f33824 Co-authored-by: Fusion (runfusion.ai) --- .changeset/fn-8472-ideas-column-indicator.md | 7 ++++ .../app/components/__tests__/Column.test.tsx | 36 +++++++++++++++++++ packages/dashboard/app/styles.css | 9 +++++ 3 files changed, 52 insertions(+) create mode 100644 .changeset/fn-8472-ideas-column-indicator.md diff --git a/.changeset/fn-8472-ideas-column-indicator.md b/.changeset/fn-8472-ideas-column-indicator.md new file mode 100644 index 0000000000..b1e1f108d3 --- /dev/null +++ b/.changeset/fn-8472-ideas-column-indicator.md @@ -0,0 +1,7 @@ +--- +"@runfusion/fusion": patch +--- + +summary: Restore the Coding Ideas board header color indicator. +category: fix +dev: Maps the Ideas intake column dot to the shared triage token. diff --git a/packages/dashboard/app/components/__tests__/Column.test.tsx b/packages/dashboard/app/components/__tests__/Column.test.tsx index 1b9b1b5b05..3035ef8c52 100644 --- a/packages/dashboard/app/components/__tests__/Column.test.tsx +++ b/packages/dashboard/app/components/__tests__/Column.test.tsx @@ -1,4 +1,6 @@ import React from "react"; +import { readFileSync } from "node:fs"; +import { resolve } from "node:path"; import { describe, it, expect, vi, beforeEach } from "vitest"; import { render, screen, fireEvent, waitFor } from "@testing-library/react"; import userEvent from "@testing-library/user-event"; @@ -178,6 +180,40 @@ describe("Column count-flash", () => { }); }); +/* +FNXC:CodingIdeasWorkflow 2026-07-21-23:42: +Coding (Ideas) uses the canonical non-legacy `ideas` intake ID. Cover empty and +populated real Column markup here because Board selected/aggregate views and Lane +all compose this shared renderer; duplicate consumer tests would not add another path. +*/ +describe("Column Coding (Ideas) header indicator", () => { + it.each([ + ["empty", []], + ["populated", [{ ...makeTask("FN-IDEA-1"), column: "ideas" as ColumnType }]], + ])("renders one Ideas dot before the heading for a %s intake column", (_state, tasks) => { + render( + , + ); + + const heading = screen.getByRole("heading", { name: "Ideas", level: 2 }); + const header = heading.closest(".column-header"); + expect(header?.querySelectorAll(".column-dot.dot-ideas")).toHaveLength(1); + expect(heading.previousElementSibling).toHaveClass("column-dot", "dot-ideas"); + }); + + it("maps the canonical Ideas dot to the shared triage token", () => { + const css = readFileSync(resolve(__dirname, "../../styles.css"), "utf8"); + expect(css).toMatch(/\.dot-ideas\s*\{\s*background:\s*var\(--triage\);\s*\}/); + }); +}); + describe("Column workflow mode (U9)", () => { it("uses the workflow column display name instead of the legacy label", () => { render( diff --git a/packages/dashboard/app/styles.css b/packages/dashboard/app/styles.css index bcbcde38ee..439f0a707e 100644 --- a/packages/dashboard/app/styles.css +++ b/packages/dashboard/app/styles.css @@ -1172,6 +1172,15 @@ body { .dot-triage { background: var(--triage); } + +/* +FNXC:CodingIdeasWorkflow 2026-07-21-23:42: +The non-legacy Coding (Ideas) manual-intake ID already uses the shared Column dot. +Map it to the established triage token so the decorative header indicator remains visible across themes. +*/ +.dot-ideas { + background: var(--triage); +} .dot-todo { background: var(--todo); }