Add NIP-65 relay list display and improve identity UI

- Add NIP-65 relay list service to fetch kind 10002 events from relays
- Replace configurable relay page with read-only NIP-65 relay display
- Update identity page to show display name and username in same badge
- Use reglisse heading font for titles throughout the UI
- Navigate to You page after vault unlock instead of identities list
- Add autofocus to vault password input field
- Add profile metadata service for fetching kind 0 events
- Add readonly mode to relay-rw component

Files modified:
- package.json (version bump to 0.0.6)
- projects/common/src/lib/services/relay-list/relay-list.service.ts (new)
- projects/common/src/lib/services/profile-metadata/profile-metadata.service.ts (new)
- projects/common/src/lib/constants/fallback-relays.ts (new)
- projects/*/src/app/components/home/identity/* (UI improvements)
- projects/*/src/app/components/edit-identity/relays/* (NIP-65 display)
- projects/*/src/app/components/vault-login/* (autofocus, navigation)
- projects/common/src/lib/styles/* (heading fonts)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
2025-12-17 15:21:57 +01:00
parent fe886d2101
commit 578f3e08ff
39 changed files with 1900 additions and 536 deletions

View File

@@ -25,3 +25,79 @@ button {
text-transform: uppercase;
font-family: var(--font-sans);
}
// Override Bootstrap primary button with orange
.btn-primary {
background-color: var(--primary);
border-color: var(--primary-border);
color: var(--primary-foreground);
&:hover,
&:focus {
background-color: var(--primary-hover);
border-color: var(--primary-border-hover);
color: var(--primary-foreground-hover);
}
&:active,
&.active {
background-color: var(--primary-hover);
border-color: var(--primary-border-hover);
}
&:disabled,
&.disabled {
background-color: var(--primary);
border-color: var(--primary-border);
opacity: 0.5;
}
&:focus-visible {
box-shadow: 0 0 0 0.25rem rgba(255, 62, 181, 0.25);
}
}
// Style for outline variant
.btn-outline-primary {
color: var(--primary);
border-color: var(--primary-border);
&:hover,
&:focus {
background-color: var(--primary);
border-color: var(--primary-border);
color: var(--primary-foreground);
}
}
// Form inputs styling
.form-control {
background-color: var(--input);
border-color: var(--input-border);
color: var(--foreground);
&:focus {
background-color: var(--input);
border-color: var(--primary);
color: var(--foreground);
box-shadow: 0 0 0 0.25rem rgba(255, 62, 181, 0.25);
}
&::placeholder {
color: var(--muted-foreground);
}
}
// Ensure alerts work in both themes
.alert-danger {
background-color: var(--destructive);
border-color: var(--destructive);
color: var(--destructive-foreground);
}
// Cards and panels
.sam-card {
background: var(--background-light);
border-color: var(--border);
color: var(--foreground);
}