diff --git a/packages/dashboard/app/components/TaskCard.css b/packages/dashboard/app/components/TaskCard.css
index 5a55e2151d..61518837ec 100644
--- a/packages/dashboard/app/components/TaskCard.css
+++ b/packages/dashboard/app/components/TaskCard.css
@@ -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);
diff --git a/packages/dashboard/app/components/__tests__/TaskCard.test.tsx b/packages/dashboard/app/components/__tests__/TaskCard.test.tsx
index dafe500367..09ae7eea16 100644
--- a/packages/dashboard/app/components/__tests__/TaskCard.test.tsx
+++ b/packages/dashboard/app/components/__tests__/TaskCard.test.tsx
@@ -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(
- ,
- );
+ try {
+ render(
+ ,
+ );
- 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", () => {