From bd03ef2e0ff636c26daa35704c4073526f350f8d Mon Sep 17 00:00:00 2001 From: Vault Automation Date: Wed, 22 Apr 2026 18:43:23 -0400 Subject: [PATCH] [UI] Fixes Overlapping Nav Panels Bug (#14175) (#14210) * moves and renames cluster sidenav to dashboard * adds changelog * reverts cluster to dashboard nav name change * reverts cluster nav import path change * reverts cluster nav test name change * adds nav to cluster error, mfa-setup, not-found, storage-restore and storage routes * fixes tests Co-authored-by: Jordan Reimer --- changelog/_14175.txt | 3 +++ ui/app/templates/vault/cluster.hbs | 1 - ui/app/templates/vault/cluster/dashboard.hbs | 1 + ui/app/templates/vault/cluster/error.hbs | 1 + ui/app/templates/vault/cluster/mfa-setup.hbs | 2 ++ ui/app/templates/vault/cluster/not-found.hbs | 1 + ui/app/templates/vault/cluster/storage-restore.hbs | 1 + ui/app/templates/vault/cluster/storage.hbs | 1 + .../backend/kv/kv-v2-workflow-edge-cases-test.js | 13 +++++-------- ui/tests/acceptance/sidebar-nav-test.js | 5 ++--- 10 files changed, 17 insertions(+), 12 deletions(-) create mode 100644 changelog/_14175.txt diff --git a/changelog/_14175.txt b/changelog/_14175.txt new file mode 100644 index 0000000000..34fdd5fa07 --- /dev/null +++ b/changelog/_14175.txt @@ -0,0 +1,3 @@ +```release-note:bug +ui: Fixed sidebar navigation animation issues +``` \ No newline at end of file diff --git a/ui/app/templates/vault/cluster.hbs b/ui/app/templates/vault/cluster.hbs index e1722c11c1..2fbd8f4ffa 100644 --- a/ui/app/templates/vault/cluster.hbs +++ b/ui/app/templates/vault/cluster.hbs @@ -2,7 +2,6 @@ Copyright IBM Corp. 2016, 2025 SPDX-License-Identifier: BUSL-1.1 }} - {{#if this.vaultVersion.isEnterprise}} {{#each this.customMessages.bannerMessages as |bannerMessage|}} {{#if (get this.customMessages.bannerState bannerMessage.id)}} diff --git a/ui/app/templates/vault/cluster/dashboard.hbs b/ui/app/templates/vault/cluster/dashboard.hbs index 31bf659998..d19fef998c 100644 --- a/ui/app/templates/vault/cluster/dashboard.hbs +++ b/ui/app/templates/vault/cluster/dashboard.hbs @@ -3,6 +3,7 @@ SPDX-License-Identifier: BUSL-1.1 }} + \ No newline at end of file diff --git a/ui/app/templates/vault/cluster/mfa-setup.hbs b/ui/app/templates/vault/cluster/mfa-setup.hbs index 6931ec2b87..9fb1ea5dc9 100644 --- a/ui/app/templates/vault/cluster/mfa-setup.hbs +++ b/ui/app/templates/vault/cluster/mfa-setup.hbs @@ -3,6 +3,8 @@ SPDX-License-Identifier: BUSL-1.1 }} + + {{#if (eq this.onStep 1)}} \ No newline at end of file diff --git a/ui/app/templates/vault/cluster/storage-restore.hbs b/ui/app/templates/vault/cluster/storage-restore.hbs index dc4c3f4f6d..48597e7f75 100644 --- a/ui/app/templates/vault/cluster/storage-restore.hbs +++ b/ui/app/templates/vault/cluster/storage-restore.hbs @@ -3,4 +3,5 @@ SPDX-License-Identifier: BUSL-1.1 }} + \ No newline at end of file diff --git a/ui/app/templates/vault/cluster/storage.hbs b/ui/app/templates/vault/cluster/storage.hbs index 69d3a28095..fc5d02fe53 100644 --- a/ui/app/templates/vault/cluster/storage.hbs +++ b/ui/app/templates/vault/cluster/storage.hbs @@ -3,4 +3,5 @@ SPDX-License-Identifier: BUSL-1.1 }} + \ No newline at end of file diff --git a/ui/tests/acceptance/secrets/backend/kv/kv-v2-workflow-edge-cases-test.js b/ui/tests/acceptance/secrets/backend/kv/kv-v2-workflow-edge-cases-test.js index 961b59a737..860758f513 100644 --- a/ui/tests/acceptance/secrets/backend/kv/kv-v2-workflow-edge-cases-test.js +++ b/ui/tests/acceptance/secrets/backend/kv/kv-v2-workflow-edge-cases-test.js @@ -574,11 +574,6 @@ module('Acceptance | kv-v2 workflow | edge cases', function (hooks) { module('Acceptance | Enterprise | kv-v2 workflow | edge cases', function (hooks) { setupApplicationTest(hooks); - const navToEngine = async (backend) => { - await click(GENERAL.navLink('Secrets')); - return await click(GENERAL.linkTo(`${backend}/`)); - }; - const assertDeleteActions = (assert, expected = ['delete', 'destroy']) => { ['delete', 'destroy', 'undelete'].forEach((toolbar) => { if (expected.includes(toolbar)) { @@ -637,7 +632,9 @@ module('Acceptance | Enterprise | kv-v2 workflow | edge cases', function (hooks) const backend = this.backend; const ns = this.namespace; const secret = 'my-create-secret'; - await navToEngine(backend); + + await click(GENERAL.navLink('Secrets')); + await click(GENERAL.linkTo(`${backend}/`)); assert.strictEqual( currentURL(), `/vault/secrets-engines/${backend}/kv/list?namespace=${ns}`, @@ -690,8 +687,8 @@ module('Acceptance | Enterprise | kv-v2 workflow | edge cases', function (hooks) const ns = this.namespace; const secret = 'my-delete-secret'; await writeVersionedSecret(backend, secret, 'foo', 'bar', 2, ns); - await navToEngine(backend); - + await click(GENERAL.navLink('Secrets engines')); + await click(GENERAL.linkTo(`${backend}/`)); await click(PAGE.list.item(secret)); assert.strictEqual( currentURL(), diff --git a/ui/tests/acceptance/sidebar-nav-test.js b/ui/tests/acceptance/sidebar-nav-test.js index 873107dcf8..f168625851 100644 --- a/ui/tests/acceptance/sidebar-nav-test.js +++ b/ui/tests/acceptance/sidebar-nav-test.js @@ -43,12 +43,13 @@ module('Acceptance | sidebar navigation', function (hooks) { }); test('it should link to correct routes at the cluster level', async function (assert) { - assert.expect(8); + assert.expect(9); assert.dom(panel('Cluster')).exists('Cluster nav panel renders'); const subNavs = [ { label: 'Access control', route: 'policies/acl' }, + { label: 'Secrets', route: 'secrets-engines' }, { label: 'Operational tools', route: 'tools/wrap' }, ]; @@ -62,10 +63,8 @@ module('Acceptance | sidebar navigation', function (hooks) { const links = [ { label: 'Raft storage', route: '/vault/storage/raft' }, - { label: 'Secrets', route: '/vault/secrets-engines' }, { label: 'Dashboard', route: '/vault/dashboard' }, ]; - for (const l of links) { await click(link(l.label)); assert.strictEqual(currentURL(), l.route, `${l.label} route renders`);