FN-6086: fix promote action spacing on task cards
Align the promote action chip with the task card's other pill-style controls. - add shared gap and padding to the promote action chip styling - match send-back promote styling to the updated chip spacing contract - load app CSS in the task card test and assert the promote action keeps the expected chip class and spacing Files changed: packages/dashboard/app/components/TaskCard.css | 4 +++ .../app/components/__tests__/TaskCard.test.tsx | 34 +++++++++++++++------- 2 files changed, 27 insertions(+), 11 deletions(-) Fusion-Task-Id: FN-6086 Fusion-Task-Lineage: 8e8f07d2-8bf2-46d3-b488-766694495ec4
This commit is contained in:
@@ -797,7 +797,9 @@
|
||||
.card-promote-action {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
gap: var(--space-xs);
|
||||
flex-shrink: 0;
|
||||
padding: var(--space-xs) var(--space-sm);
|
||||
height: var(--card-chip-height);
|
||||
min-height: var(--card-chip-height);
|
||||
white-space: nowrap;
|
||||
@@ -1294,6 +1296,8 @@
|
||||
}
|
||||
|
||||
.card-promote-action.card-send-back-btn {
|
||||
gap: var(--space-xs);
|
||||
padding: var(--space-xs) var(--space-sm);
|
||||
border: var(--btn-border-width) solid color-mix(in srgb, var(--text-muted) 30%, transparent);
|
||||
background: color-mix(in srgb, var(--text-muted) 12%, transparent);
|
||||
color: var(--text);
|
||||
|
||||
@@ -4339,19 +4339,31 @@ describe("TaskCard mission badge", () => {
|
||||
|
||||
it("renders a promote action when onPromote is provided", () => {
|
||||
const onPromote = vi.fn().mockResolvedValue(undefined);
|
||||
const style = document.createElement("style");
|
||||
style.textContent = loadAllAppCss();
|
||||
document.head.appendChild(style);
|
||||
|
||||
render(
|
||||
<TaskCard
|
||||
task={makeTask({ id: "FN-777", column: "todo" })}
|
||||
onOpenDetail={noop}
|
||||
addToast={noop}
|
||||
onPromote={onPromote}
|
||||
/>,
|
||||
);
|
||||
try {
|
||||
render(
|
||||
<TaskCard
|
||||
task={makeTask({ id: "FN-777", column: "todo" })}
|
||||
onOpenDetail={noop}
|
||||
addToast={noop}
|
||||
onPromote={onPromote}
|
||||
/>,
|
||||
);
|
||||
|
||||
const promoteButton = screen.getByTestId("card-promote-FN-777");
|
||||
expect(promoteButton).toBeDefined();
|
||||
expect(promoteButton.textContent).toContain("Promote");
|
||||
const promoteButton = screen.getByTestId("card-promote-FN-777");
|
||||
expect(promoteButton).toBeDefined();
|
||||
expect(promoteButton).toHaveClass("card-promote-action");
|
||||
expect(promoteButton.textContent).toContain("Promote");
|
||||
|
||||
const styles = getComputedStyle(promoteButton);
|
||||
expect(styles.gap).toBe("var(--space-xs)");
|
||||
expect(styles.padding).toBe("var(--space-xs) var(--space-sm)");
|
||||
} finally {
|
||||
style.remove();
|
||||
}
|
||||
});
|
||||
|
||||
it("calls onPromote without opening the card when promote is clicked", () => {
|
||||
|
||||
Reference in New Issue
Block a user