diff --git a/docs/release-control/v6/internal/subsystems/unified-resources.md b/docs/release-control/v6/internal/subsystems/unified-resources.md index 16e9fb18e..b58150c61 100644 --- a/docs/release-control/v6/internal/subsystems/unified-resources.md +++ b/docs/release-control/v6/internal/subsystems/unified-resources.md @@ -297,8 +297,10 @@ operations. That same ownership rule now keeps the service-summary sentence in the `Service details` disclosure header instead of repeating a second summary box inside PBS or PMG cards, and the service-local reveal labels stay terse -(`Show jobs`, `Show mail flow`, `Jobs`, `Queue`) so opened cards read like -current state instead of descriptive chrome. +(`Show jobs`, `Show mail flow`, `Jobs`, `Queue`), while the opened accordions +also use shorter section labels (`Types`, `Queue detail`, `Mail detail`) and +count-only summary badges so opened cards read like current state instead of +descriptive chrome. The Docker service card now follows the same rule: its opened state uses compact labels (`Docker runtime`, `Updates`, `Checked`, `Show actions`, `Check now`, `Update all`) and short queued/confirm feedback so action diff --git a/frontend-modern/src/components/Infrastructure/ResourceDetailDrawer.tsx b/frontend-modern/src/components/Infrastructure/ResourceDetailDrawer.tsx index db58279dc..28c6a53b3 100644 --- a/frontend-modern/src/components/Infrastructure/ResourceDetailDrawer.tsx +++ b/frontend-modern/src/components/Infrastructure/ResourceDetailDrawer.tsx @@ -1388,8 +1388,8 @@ const DrawerContent: Component = (props) => {
- Job breakdown - {pbsVisibleJobBreakdown().length} types + Types + {pbsVisibleJobBreakdown().length}
@@ -1487,8 +1487,8 @@ const DrawerContent: Component = (props) => {
- Queue breakdown - {pmgVisibleQueueBreakdown().length} signals + Queue detail + {pmgVisibleQueueBreakdown().length}
@@ -1507,8 +1507,8 @@ const DrawerContent: Component = (props) => {
- Mail processing - {pmgVisibleMailBreakdown().length} signals + Mail detail + {pmgVisibleMailBreakdown().length}
diff --git a/frontend-modern/src/components/Infrastructure/__tests__/ResourceDetailDrawer.history.test.tsx b/frontend-modern/src/components/Infrastructure/__tests__/ResourceDetailDrawer.history.test.tsx index ad97feb6a..ac8b65993 100644 --- a/frontend-modern/src/components/Infrastructure/__tests__/ResourceDetailDrawer.history.test.tsx +++ b/frontend-modern/src/components/Infrastructure/__tests__/ResourceDetailDrawer.history.test.tsx @@ -378,9 +378,10 @@ describe('ResourceDetailDrawer change history section', () => { expect(serviceDetails.queryByText('Connection')).toBeNull(); expect(screen.queryByText('Backup summary')).toBeNull(); expect(screen.queryByText('Job breakdown')).toBeNull(); + expect(screen.queryByText('Types')).toBeNull(); expect(screen.queryByText('Show job detail')).toBeNull(); fireEvent.click(screen.getByRole('button', { name: 'Show jobs' })); - expect(screen.getByText('Job breakdown')).toBeInTheDocument(); + expect(screen.getByText('Types')).toBeInTheDocument(); }); it('filters timeline entries by kind and source type', async () => { diff --git a/frontend-modern/src/components/Infrastructure/__tests__/ResourceDetailDrawer.service-cards.test.tsx b/frontend-modern/src/components/Infrastructure/__tests__/ResourceDetailDrawer.service-cards.test.tsx index d29f9e856..cf7ee9909 100644 --- a/frontend-modern/src/components/Infrastructure/__tests__/ResourceDetailDrawer.service-cards.test.tsx +++ b/frontend-modern/src/components/Infrastructure/__tests__/ResourceDetailDrawer.service-cards.test.tsx @@ -101,11 +101,12 @@ describe('ResourceDetailDrawer service cards', () => { expect(serviceDetails.getAllByText('pbs-main.local').length).toBeGreaterThan(0); expect(queryByText('Backup summary')).toBeNull(); expect(queryByText('Job breakdown')).toBeNull(); + expect(queryByText('Types')).toBeNull(); expect(queryByText('Show job detail')).toBeNull(); fireEvent.click(getByRole('button', { name: 'Show jobs' })); expect(getByText('Datastores')).toBeInTheDocument(); expect(getByText('Jobs')).toBeInTheDocument(); - expect(getByText('Job breakdown')).toBeInTheDocument(); + expect(getByText('Types')).toBeInTheDocument(); expect(getByRole('link', { name: /open pbs backups/i })).toHaveAttribute( 'href', '/recovery?provider=proxmox-pbs&mode=remote', @@ -152,12 +153,14 @@ describe('ResourceDetailDrawer service cards', () => { expect(queryByText('Mail flow summary')).toBeNull(); expect(queryByText('Queue breakdown')).toBeNull(); expect(queryByText('Mail processing')).toBeNull(); + expect(queryByText('Queue detail')).toBeNull(); + expect(queryByText('Mail detail')).toBeNull(); expect(queryByText('Show mail flow detail')).toBeNull(); fireEvent.click(getByRole('button', { name: 'Show mail flow' })); expect(getByText('Queue')).toBeInTheDocument(); expect(getByText('Backlog')).toBeInTheDocument(); - expect(getByText('Queue breakdown')).toBeInTheDocument(); - expect(getByText('Mail processing')).toBeInTheDocument(); + expect(getByText('Queue detail')).toBeInTheDocument(); + expect(getByText('Mail detail')).toBeInTheDocument(); expect(getByRole('link', { name: /open pmg thresholds/i })).toHaveAttribute( 'href', '/alerts/thresholds/mail-gateway',