10bb16abfb
- avatar.tsx: consolidate to single isEmojiShape boolean, fix AvatarFallback using same logic as Avatar - avatarShape.ts: accept NostrMetadata directly in getAvatarShape (no cast needed) - Remove 'as Record<string, unknown>' casts from all ~50 call sites - Replace 'circle' magic string with empty string in form defaults and parseShape - Use isValidAvatarShape instead of string comparison in save logic - ProfileCard: extract IIFE overlay style into useMemo, use isEmojiShape throughout