diff --git a/client/src/pages/admin-settings/ui/AdminSettingsPage.tsx b/client/src/pages/admin-settings/ui/AdminSettingsPage.tsx index fff9454..40908a8 100644 --- a/client/src/pages/admin-settings/ui/AdminSettingsPage.tsx +++ b/client/src/pages/admin-settings/ui/AdminSettingsPage.tsx @@ -72,13 +72,12 @@ export function AdminSettingsPage() { avatarType?: string | null avatarStyle?: string | null }) => apiClient.patch('admin/profile', params), - onSuccess: () => { - const name = profileForm.getValues('displayName').trim() - const p: UpdateProfileParams = { displayName: name.length ? name : null } - if (hasUnsavedPreview) { - p.avatar = previewSrc - p.avatarType = 'generated' - p.avatarStyle = previewStyle + onSuccess: (_data, variables) => { + const p: UpdateProfileParams = { displayName: variables.displayName ?? null } + if (variables.avatar !== undefined) { + p.avatar = variables.avatar + p.avatarType = variables.avatarType ?? null + p.avatarStyle = variables.avatarStyle ?? null } updateProfileFx(p) void qc.invalidateQueries({ queryKey: ['admin', 'profile'] }) diff --git a/server/prisma/prisma/dev.db b/server/prisma/prisma/dev.db index 10de6af..1802321 100644 Binary files a/server/prisma/prisma/dev.db and b/server/prisma/prisma/dev.db differ diff --git a/server/src/routes/api/admin-profile.js b/server/src/routes/api/admin-profile.js index ab7f5c2..64aaeff 100644 --- a/server/src/routes/api/admin-profile.js +++ b/server/src/routes/api/admin-profile.js @@ -18,7 +18,8 @@ export async function registerAdminProfileRoutes(fastify) { fastify.patch('/api/admin/profile', { preHandler: [fastify.verifyAdmin] }, async (request, reply) => { const userId = request.user.sub const nameRaw = request.body?.displayName - const displayName = nameRaw === null || nameRaw === undefined ? undefined : String(nameRaw).trim() + const displayName = + nameRaw === undefined ? undefined : nameRaw === null ? null : nameRaw === '' ? null : String(nameRaw).trim() const avatarRaw = request.body?.avatar const avatar = avatarRaw === null || avatarRaw === undefined ? undefined : String(avatarRaw).trim() const avatarTypeRaw = request.body?.avatarType