feat(FN-2928): merge fusion/fn-2928

- test(FN-2928): complete Step 2 — assert hidden usage rows use display none
- fix(FN-2928): complete Step 1 — collapse hidden usage window layout
- feat(FN-2927): merge fusion/fn-2927

Fusion-Task-Id: FN-2928
This commit is contained in:
Fusion
2026-04-29 00:30:07 -07:00
committed by gsxdsm
parent 3d277afb90
commit 43c5d91c0a
2 changed files with 20 additions and 7 deletions

View File

@@ -214,13 +214,6 @@
}
.usage-window--hidden {
opacity: 0.4;
}
.usage-window--hidden .usage-progress-wrapper,
.usage-window--hidden .usage-window-footer,
.usage-window--hidden .usage-pace-row,
.usage-window--hidden .usage-window-label {
display: none;
}

View File

@@ -676,6 +676,26 @@ describe("UsageIndicator", () => {
expect(screen.queryByRole("button", { name: "Hide Session (5h)" })).not.toBeInTheDocument();
});
it("hidden window does not occupy layout space", () => {
mockUseUsageData.mockReturnValue({
providers: mockProviders,
loading: false,
error: null,
lastUpdated: new Date(),
refresh: mockRefresh,
});
render(<UsageIndicator isOpen={true} onClose={mockOnClose} projectId={TEST_PROJECT_ID} />);
const sessionRow = screen.getByText("Session (5h)").closest(".usage-window") as HTMLElement;
expect(sessionRow).toBeVisible();
fireEvent.click(screen.getByRole("button", { name: "Hide Session (5h)" }));
expect(sessionRow).not.toBeVisible();
expect(getComputedStyle(sessionRow).display).toBe("none");
});
it("persists hidden windows to localStorage", () => {
mockUseUsageData.mockReturnValue({
providers: mockProviders,