diff options
| author | Adam <[email protected]> | 2025-12-11 15:39:38 -0600 |
|---|---|---|
| committer | Adam <[email protected]> | 2025-12-11 15:39:41 -0600 |
| commit | e149b7c1e276281b37a47997bf98d8954a4674ba (patch) | |
| tree | cc860068652d24767393fec4e3ff53ad21cdda11 /packages/ui/src | |
| parent | 55957b2ac7edab619dc447d49bb05777ff0fb044 (diff) | |
| download | opencode-e149b7c1e276281b37a47997bf98d8954a4674ba.tar.gz opencode-e149b7c1e276281b37a47997bf98d8954a4674ba.zip | |
fix: avatar colors
Diffstat (limited to 'packages/ui/src')
| -rw-r--r-- | packages/ui/src/components/avatar.css | 3 | ||||
| -rw-r--r-- | packages/ui/src/components/avatar.tsx | 13 |
2 files changed, 14 insertions, 2 deletions
diff --git a/packages/ui/src/components/avatar.css b/packages/ui/src/components/avatar.css index 4e42e6f99..87be9a50a 100644 --- a/packages/ui/src/components/avatar.css +++ b/packages/ui/src/components/avatar.css @@ -1,5 +1,6 @@ [data-component="avatar"] { --avatar-bg: var(--color-surface-info-base); + --avatar-fg: var(--color-text-base); display: flex; align-items: center; justify-content: center; @@ -10,7 +11,7 @@ font-weight: 500; text-transform: uppercase; background-color: var(--avatar-bg); - color: oklch(from var(--avatar-bg) calc(l * 0.72) calc(c * 8) h); + color: var(--avatar-fg); } [data-component="avatar"][data-has-image] { diff --git a/packages/ui/src/components/avatar.tsx b/packages/ui/src/components/avatar.tsx index fb5798b08..ab7b0d0e2 100644 --- a/packages/ui/src/components/avatar.tsx +++ b/packages/ui/src/components/avatar.tsx @@ -4,11 +4,21 @@ export interface AvatarProps extends ComponentProps<"div"> { fallback: string src?: string background?: string + foreground?: string size?: "small" | "normal" | "large" } export function Avatar(props: AvatarProps) { - const [split, rest] = splitProps(props, ["fallback", "src", "background", "size", "class", "classList", "style"]) + const [split, rest] = splitProps(props, [ + "fallback", + "src", + "background", + "foreground", + "size", + "class", + "classList", + "style", + ]) const src = split.src // did this so i can zero it out to test fallback return ( <div @@ -23,6 +33,7 @@ export function Avatar(props: AvatarProps) { style={{ ...(typeof split.style === "object" ? split.style : {}), ...(!src && split.background ? { "--avatar-bg": split.background } : {}), + ...(!src && split.foreground ? { "--avatar-fg": split.foreground } : {}), }} > <Show when={src} fallback={split.fallback?.[0]}> |
