diff --git a/.storybook/test-runner.ts b/.storybook/test-runner.ts index 99cb29be5..b2839fcca 100644 --- a/.storybook/test-runner.ts +++ b/.storybook/test-runner.ts @@ -1,11 +1,16 @@ import type { TestRunnerConfig } from '@storybook/test-runner'; +import { getStoryContext } from '@storybook/test-runner'; import { injectAxe, checkA11y } from 'axe-playwright'; const config: TestRunnerConfig = { async preVisit(page) { await injectAxe(page); }, - async postVisit(page) { + async postVisit(page, context) { + const storyContext = await getStoryContext(page, context); + if (storyContext.parameters?.a11y?.disable) { + return; + } await checkA11y(page, '#storybook-root', { detailedReport: true, detailedReportOptions: { diff --git a/src/lib/holocene/accordion/accordion.stories.svelte b/src/lib/holocene/accordion/accordion.stories.svelte index d85f386b4..5053ea0f0 100644 --- a/src/lib/holocene/accordion/accordion.stories.svelte +++ b/src/lib/holocene/accordion/accordion.stories.svelte @@ -34,6 +34,8 @@ import { action } from '@storybook/addon-actions'; import { Story, Template } from '@storybook/addon-svelte-csf'; + import Link from '../link.svelte'; + import AccordionGroup from './accordion-group.svelte'; @@ -63,3 +65,20 @@ + + + +

Accordion Content

+ + docs + +
+
diff --git a/src/lib/holocene/accordion/accordion.svelte b/src/lib/holocene/accordion/accordion.svelte index fd9bd4657..181b7947c 100644 --- a/src/lib/holocene/accordion/accordion.svelte +++ b/src/lib/holocene/accordion/accordion.svelte @@ -69,11 +69,11 @@ role="none" > + -

{#if error} diff --git a/src/lib/pages/nexus-endpoints.svelte b/src/lib/pages/nexus-endpoints.svelte index d24206ecb..e62760e0f 100644 --- a/src/lib/pages/nexus-endpoints.svelte +++ b/src/lib/pages/nexus-endpoints.svelte @@ -13,6 +13,7 @@ import { timeFormat } from '$lib/stores/time-format'; import type { NexusEndpoint } from '$lib/types/nexus'; import { formatDate } from '$lib/utilities/format-date'; + import { pluralize } from '$lib/utilities/pluralize'; import { routeForNexusEndpoint, routeForNexusEndpointCreate, @@ -90,7 +91,11 @@ {/if} {#if endpoint.spec?.allowedCallerNamespaces} {endpoint.spec?.allowedCallerNamespaces.length} Namespaces{endpoint.spec?.allowedCallerNamespaces.length} + {pluralize( + translate('namespaces.namespace'), + endpoint.spec?.allowedCallerNamespaces.length, + )} {/if} diff --git a/src/routes/(app)/+layout.svelte b/src/routes/(app)/+layout.svelte index 1b2e29136..712ad73bb 100644 --- a/src/routes/(app)/+layout.svelte +++ b/src/routes/(app)/+layout.svelte @@ -69,13 +69,13 @@ href: workflowsRoute, icon: 'workflow', label: translate('common.workflows'), - isActive: (path) => Boolean(path.includes(workflowsRoute)), + isActive: (path) => path.includes(workflowsRoute), }, { href: schedulesRoute, icon: 'schedules', label: translate('common.schedules'), - isActive: (path) => Boolean(path.includes(schedulesRoute)), + isActive: (path) => path.includes(schedulesRoute), }, { href: batchOperationsRoute, @@ -83,13 +83,13 @@ label: translate('batch.nav-title'), tooltip: translate('batch.list-page-title'), animate: inProgressBatch, - isActive: (path) => Boolean(path.includes(batchOperationsRoute)), + isActive: (path) => path.includes(batchOperationsRoute), }, { href: archivalRoute, icon: 'archives', label: translate('common.archive'), - isActive: (path) => Boolean(path.includes(archivalRoute)), + isActive: (path) => path.includes(archivalRoute), }, { href: namespacesRoute, @@ -97,26 +97,24 @@ label: translate('common.namespaces'), divider: true, isActive: (path) => - Boolean( - path.includes(namespacesRoute) && - !path.includes(workflowsRoute) && - !path.includes(schedulesRoute) && - !path.includes(batchOperationsRoute) && - !path.includes(archivalRoute), - ), + path.includes(namespacesRoute) && + !path.includes(workflowsRoute) && + !path.includes(schedulesRoute) && + !path.includes(batchOperationsRoute) && + !path.includes(archivalRoute), }, { href: nexusRoute, icon: 'nexus', label: translate('nexus.nexus'), hidden: !$page.data?.systemInfo?.capabilities?.nexus, - isActive: (path) => Boolean(path.includes(nexusRoute)), + isActive: (path) => path.includes(nexusRoute), }, { href: historyImportRoute, icon: 'import', label: translate('common.import'), - isActive: (path) => Boolean(path.includes(historyImportRoute)), + isActive: (path) => path.includes(historyImportRoute), }, { href: 'http://docs.temporal.io',