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) <noreply@runfusion.ai>
This commit is contained in:
7
.changeset/fn-8472-ideas-column-indicator.md
Normal file
7
.changeset/fn-8472-ideas-column-indicator.md
Normal file
@@ -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.
|
||||
@@ -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(
|
||||
<Column
|
||||
{...defaultProps}
|
||||
column={"ideas" as ColumnType}
|
||||
workflowMode
|
||||
columnDisplayName="Ideas"
|
||||
columnFlags={{ intake: true }}
|
||||
tasks={tasks}
|
||||
/>,
|
||||
);
|
||||
|
||||
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(
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user