diff --git a/src/app/features/settings/account/ProfileDecoration.tsx b/src/app/features/settings/account/ProfileDecoration.tsx index cf6e3f14f..ab8e7fb87 100644 --- a/src/app/features/settings/account/ProfileDecoration.tsx +++ b/src/app/features/settings/account/ProfileDecoration.tsx @@ -12,7 +12,7 @@ import { import { invalidateDecorationCache } from '../../../hooks/useAvatarDecoration'; const PROFILE_FIELD = 'io.lotus.avatar_decoration'; -const INSET = 8; +const CELL_SIZE = 72; function DecorationPreviewCell({ slug, @@ -34,29 +34,19 @@ function DecorationPreviewCell({ onClick={() => onSelect(slug)} style={{ position: 'relative', - width: 52, - height: 52, + width: CELL_SIZE, + height: CELL_SIZE, flexShrink: 0, border: `2px solid ${selected ? 'var(--accent-cyan)' : 'transparent'}`, - borderRadius: '0.75rem', + borderRadius: '50%', background: 'var(--bg-surface-variant)', cursor: 'pointer', padding: 0, boxShadow: selected ? '0 0 0 1px var(--accent-cyan)' : 'none', - overflow: 'visible', + overflow: 'hidden', outline: 'none', }} > - {/* Avatar placeholder tint */} -
{name} {selected && ( @@ -163,10 +152,9 @@ export function ProfileDecoration() { alt="Selected decoration preview" style={{ position: 'absolute', - top: -INSET, - left: -INSET, - width: `calc(100% + ${INSET * 2}px)`, - height: `calc(100% + ${INSET * 2}px)`, + inset: 0, + width: '100%', + height: '100%', objectFit: 'contain', pointerEvents: 'none', }} @@ -236,7 +224,7 @@ export function ProfileDecoration() { direction="Column" gap="300" style={{ - maxHeight: 420, + maxHeight: 480, overflowY: 'auto', paddingRight: 4, }} @@ -250,12 +238,8 @@ export function ProfileDecoration() { style={{ display: 'flex', flexWrap: 'wrap', - columnGap: 28, - rowGap: 52, - paddingBottom: INSET, - paddingLeft: INSET, - paddingRight: INSET, - paddingTop: INSET, + gap: 16, + padding: 4, }} > {category.decorations.map((d) => (