feat: let users change their auto-generated username in Settings
Usernames are auto-assigned at signup (shipped earlier this session) but there was still no way to change one. Adds a Username field to Settings, validated client- and server-side against the same 3-20-char lowercase/digits/underscore pattern used for generation, with a 409 on collision (excluding the user's own current username). Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
@@ -12,7 +12,7 @@ export default async function SettingsPage() {
|
||||
|
||||
const dbUser = await db.query.users.findFirst({
|
||||
where: eq(users.id, session.user.id),
|
||||
columns: { bio: true, privateBio: true, isPrivate: true, hasCustomAvatar: true, avatarUrl: true },
|
||||
columns: { bio: true, privateBio: true, isPrivate: true, hasCustomAvatar: true, avatarUrl: true, username: true },
|
||||
});
|
||||
|
||||
return (
|
||||
@@ -26,6 +26,7 @@ export default async function SettingsPage() {
|
||||
privateBio: dbUser?.privateBio ?? null,
|
||||
isPrivate: dbUser?.isPrivate ?? false,
|
||||
hasCustomAvatar: dbUser?.hasCustomAvatar ?? false,
|
||||
username: dbUser?.username ?? null,
|
||||
}}
|
||||
/>
|
||||
);
|
||||
|
||||
Reference in New Issue
Block a user