feat: user-choosable avatar colors with settings picker

Add avatarColor as a stored, user-selectable field (mint, sky, lavender,
coral, rose, teal, amber). Randomly assigned on registration, changeable
in profile settings. Existing users keep hash-based fallback until they
choose a color. Includes DB migration, API validation, gradient map,
live preview in settings, and banner fallback integration.
This commit is contained in:
Jannis Braun
2026-03-10 20:26:28 +01:00
parent d7449bdf42
commit d2697d87fa
13 changed files with 95 additions and 10 deletions
+1
View File
@@ -18,6 +18,7 @@ export function sanitizeUser(row: typeof schema.users.$inferSelect): User {
avatar: row.avatar,
banner: row.banner ?? null,
accentColor: row.accentColor ?? null,
avatarColor: (row.avatarColor as User['avatarColor']) ?? null,
bio: row.bio ?? null,
status: (row.status ?? 'offline') as User['status'],
customStatus: row.customStatus,