Skip to content

Commit 451c201

Browse files
authored
Add Profile menu item to user dropdown (#12027)
This commit adds a "Profile" link to both desktop and mobile user menus. The link navigates to the user's public profile page showing their published crates.
1 parent e93cd1d commit 451c201

File tree

3 files changed

+10
-8
lines changed

3 files changed

+10
-8
lines changed

app/components/header.gjs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,7 @@ export default class Header extends Component {
6767
</dd.Trigger>
6868

6969
<dd.Menu class='current-user-links' as |menu|>
70+
<menu.Item><LinkTo @route='user' @model={{this.session.currentUser.login}}>Profile</LinkTo></menu.Item>
7071
<menu.Item><LinkTo @route='dashboard'>Dashboard</LinkTo></menu.Item>
7172
<menu.Item><LinkTo @route='settings' data-test-settings>Account Settings</LinkTo></menu.Item>
7273
<menu.Item><LinkTo @route='me.pending-invites'>Owner Invites</LinkTo></menu.Item>
@@ -138,6 +139,7 @@ export default class Header extends Component {
138139
<dd.Menu class='current-user-links' as |menu|>
139140
<menu.Item><LinkTo @route='crates'>Browse All Crates</LinkTo></menu.Item>
140141
{{#if this.session.currentUser}}
142+
<menu.Item><LinkTo @route='user' @model={{this.session.currentUser.login}}>Profile</LinkTo></menu.Item>
141143
<menu.Item><LinkTo @route='dashboard'>Dashboard</LinkTo></menu.Item>
142144
<menu.Item><LinkTo @route='settings' data-test-me-link>Account Settings</LinkTo></menu.Item>
143145
<menu.Item><LinkTo @route='me.pending-invites'>Owner Invites</LinkTo></menu.Item>

e2e/acceptance/settings/settings.spec.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,10 +23,10 @@ test.describe('Acceptance | Settings', { tag: '@acceptance' }, () => {
2323

2424
await expect(page.locator('[data-test-owners] [data-test-owner-team]')).toHaveCount(2);
2525
await expect(page.locator('[data-test-owners] [data-test-owner-user]')).toHaveCount(2);
26-
await expect(page.locator('a[href="/teams/github:org:thehydroimpulse"]').first()).toBeVisible();
27-
await expect(page.locator('a[href="/teams/github:org:blabaere"]').first()).toBeVisible();
28-
await expect(page.locator('a[href="/users/thehydroimpulse"]').first()).toBeVisible();
29-
await expect(page.locator('a[href="/users/blabaere"]').first()).toBeVisible();
26+
await expect(page.locator('[data-test-owners] a[href="/teams/github:org:thehydroimpulse"]').first()).toBeVisible();
27+
await expect(page.locator('[data-test-owners] a[href="/teams/github:org:blabaere"]').first()).toBeVisible();
28+
await expect(page.locator('[data-test-owners] a[href="/users/thehydroimpulse"]').first()).toBeVisible();
29+
await expect(page.locator('[data-test-owners] a[href="/users/blabaere"]').first()).toBeVisible();
3030

3131
await percy.snapshot();
3232
await a11y.audit();

tests/acceptance/settings/settings-test.js

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -39,10 +39,10 @@ module('Acceptance | Settings', function (hooks) {
3939

4040
assert.dom('[data-test-owners] [data-test-owner-team]').exists({ count: 2 });
4141
assert.dom('[data-test-owners] [data-test-owner-user]').exists({ count: 2 });
42-
assert.dom('a[href="/teams/github:org:thehydroimpulse"]').exists();
43-
assert.dom('a[href="/teams/github:org:blabaere"]').exists();
44-
assert.dom('a[href="/users/thehydroimpulse"]').exists();
45-
assert.dom('a[href="/users/blabaere"]').exists();
42+
assert.dom('[data-test-owners] a[href="/teams/github:org:thehydroimpulse"]').exists();
43+
assert.dom('[data-test-owners] a[href="/teams/github:org:blabaere"]').exists();
44+
assert.dom('[data-test-owners] a[href="/users/thehydroimpulse"]').exists();
45+
assert.dom('[data-test-owners] a[href="/users/blabaere"]').exists();
4646

4747
await percySnapshot(assert);
4848
await a11yAudit(axeConfig);

0 commit comments

Comments
 (0)