fix default avatar rendering

This commit is contained in:
Danny Morabito 2025-03-13 20:31:10 +01:00
parent f195264b10
commit cee44c69ed
Signed by: dannym
GPG key ID: 7CC8056A5A04557E
2 changed files with 22 additions and 21 deletions

View file

@ -2,6 +2,7 @@ import type { NDKUserProfile } from '@nostr-dev-kit/ndk';
import { LitElement, css, html } from 'lit-element'; import { LitElement, css, html } from 'lit-element';
import { customElement, property } from 'lit/decorators.js'; import { customElement, property } from 'lit/decorators.js';
type AvatarSize = 'short' | 'medium' | 'large' | 'huge'; type AvatarSize = 'short' | 'medium' | 'large' | 'huge';
import defaultAvatar from '@/default-avatar.png';
@customElement('arx-nostr-avatar') @customElement('arx-nostr-avatar')
export class ArxNostrAvatar extends LitElement { export class ArxNostrAvatar extends LitElement {
@ -10,31 +11,31 @@ export class ArxNostrAvatar extends LitElement {
static override styles = [ static override styles = [
css` css`
img { img {
border-radius: 50%; border-radius: 50%;
width: var(--avatar-size); width: var(--avatar-size);
height: var(--avatar-size); height: var(--avatar-size);
} }
.short-avatar { .short-avatar {
--avatar-size: 2rem; --avatar-size: 2rem;
} }
.medium-avatar { .medium-avatar {
--avatar-size: 3rem; --avatar-size: 3rem;
} }
.large-avatar { .large-avatar {
--avatar-size: 4rem; --avatar-size: 4rem;
} }
.huge-avatar { .huge-avatar {
--avatar-size: 5rem; --avatar-size: 5rem;
} }
`, `,
]; ];
override render() { override render() {
return html` return html`
<img <img
class=${this.size}-avatar class="${this.size}-avatar"
src=${this.profile.image || '/default-avatar.png'} src=${this.profile.image || defaultAvatar}
alt=${this.profile.name || this.profile.displayName || ''} alt=${this.profile.name || this.profile.displayName || ''}
@error=${this.handleError} @error=${this.handleError}
/> />
@ -43,6 +44,6 @@ export class ArxNostrAvatar extends LitElement {
handleError(event: Event) { handleError(event: Event) {
event.preventDefault(); event.preventDefault();
(event.target as HTMLImageElement).src = '/default-avatar.png'; (event.target as HTMLImageElement).src = defaultAvatar;
} }
} }

BIN
src/default-avatar.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 80 KiB