The top-right shows "Welcome back, [email protected]". Using the full email is impersonal when there's a Display Name ("Eric Gullickson") available in settings.
Recommendation
Use the display name: "Welcome back, Eric" (first name only or full display name).
Acceptance Criteria
Header greeting uses the user's display name instead of email
Falls back to email if no display name is set
Tested on mobile (320px, 768px) and desktop (1920px)
Relates to #162
## Severity: Minor
## Problem
The top-right shows "Welcome back, [email protected]". Using the full email is impersonal when there's a Display Name ("Eric Gullickson") available in settings.
## Recommendation
Use the display name: "Welcome back, Eric" (first name only or full display name).
## Acceptance Criteria
- Header greeting uses the user's display name instead of email
- Falls back to email if no display name is set
- Tested on mobile (320px, 768px) and desktop (1920px)
Phase: 8 (Header and minor polish) | Priority: Minor | Depends on: None | Blocks: None
Context
The header greeting currently shows the user's email address instead of their display name. The existing logic is user?.name || user?.email, but Auth0's user.name may not always be populated or may contain the full name when a first name would be more compact.
Implementation
1. In frontend/src/components/Layout.tsx:
Change greeting logic to extract first name with fallback chain:
Greeting displays as: "Welcome back, Eric" (first name only for compact greeting)
Files
frontend/src/components/Layout.tsx
Commit Convention
chore: use display name instead of email in header greeting (refs #177)
Test Criteria
Greeting shows first name (e.g., "Welcome back, Eric")
Falls back gracefully: given_name -> first word of name -> nickname -> email
Works with various Auth0 user profile configurations
Verify on mobile (320px, 768px) and desktop (1920px) viewports
Branch
Work on branch issue-162-ux-design-audit-cleanup (shared with all #162 sub-issues)
## Implementation Plan (from #162 -- Milestone 17)
**Phase**: 8 (Header and minor polish) | **Priority**: Minor | **Depends on**: None | **Blocks**: None
### Context
The header greeting currently shows the user's email address instead of their display name. The existing logic is `user?.name || user?.email`, but Auth0's `user.name` may not always be populated or may contain the full name when a first name would be more compact.
### Implementation
**1. In `frontend/src/components/Layout.tsx`:**
- Change greeting logic to extract first name with fallback chain:
```typescript
const displayName = user?.given_name
|| user?.name?.split(' ')[0]
|| user?.nickname
|| user?.email;
```
- Greeting displays as: "Welcome back, Eric" (first name only for compact greeting)
### Files
- `frontend/src/components/Layout.tsx`
### Commit Convention
```
chore: use display name instead of email in header greeting (refs #177)
```
### Test Criteria
- Greeting shows first name (e.g., "Welcome back, Eric")
- Falls back gracefully: given_name -> first word of name -> nickname -> email
- Works with various Auth0 user profile configurations
- Verify on mobile (320px, 768px) and desktop (1920px) viewports
### Branch
Work on branch `issue-162-ux-design-audit-cleanup` (shared with all #162 sub-issues)
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Relates to #162
Severity: Minor
Problem
The top-right shows "Welcome back, [email protected]". Using the full email is impersonal when there's a Display Name ("Eric Gullickson") available in settings.
Recommendation
Use the display name: "Welcome back, Eric" (first name only or full display name).
Acceptance Criteria
Implementation Plan (from #162 -- Milestone 17)
Phase: 8 (Header and minor polish) | Priority: Minor | Depends on: None | Blocks: None
Context
The header greeting currently shows the user's email address instead of their display name. The existing logic is
user?.name || user?.email, but Auth0'suser.namemay not always be populated or may contain the full name when a first name would be more compact.Implementation
1. In
frontend/src/components/Layout.tsx:Files
frontend/src/components/Layout.tsxCommit Convention
Test Criteria
Branch
Work on branch
issue-162-ux-design-audit-cleanup(shared with all #162 sub-issues)Milestone: Implementation Complete
Phase: Execution | Agent: Developer | Status: PASS
Changes
Layout.tsxfromuser?.name || user?.emailtouser?.given_name || user?.name?.split(' ')[0] || user?.nickname || user?.emailVerification
da4cd85Verdict: PASS | Next: Move to status/done