From 110eb3dd5ae75966e46b9b497ae2cc7802844fdc Mon Sep 17 00:00:00 2001 From: grimsi <9295182+grimsi@users.noreply.github.com> Date: Sat, 14 Sep 2024 17:52:52 +0200 Subject: [PATCH] Bugfix in avatar management --- .../components/administration/ProfileManagement.tsx | 9 ++++----- .../general/{FileUpload.tsx => AvatarUpload.tsx} | 10 +++++----- .../kotlin/de/grimsi/gameyfin/users/UserService.kt | 2 ++ 3 files changed, 11 insertions(+), 10 deletions(-) rename src/main/frontend/components/general/{FileUpload.tsx => AvatarUpload.tsx} (85%) diff --git a/src/main/frontend/components/administration/ProfileManagement.tsx b/src/main/frontend/components/administration/ProfileManagement.tsx index c04786a..b317c15 100644 --- a/src/main/frontend/components/administration/ProfileManagement.tsx +++ b/src/main/frontend/components/administration/ProfileManagement.tsx @@ -10,7 +10,7 @@ import UserUpdateDto from "Frontend/generated/de/grimsi/gameyfin/users/dto/UserU import {UserEndpoint} from "Frontend/generated/endpoints"; import {SmallInfoField} from "Frontend/components/general/SmallInfoField"; import {toast} from "sonner"; -import FileUpload from "Frontend/components/general/FileUpload"; +import AvatarUpload from "Frontend/components/general/AvatarUpload"; export default function ProfileManagement() { const [configSaved, setConfigSaved] = useState(false); @@ -90,13 +90,12 @@ export default function ProfileManagement() { -
-
-
+
+
- +
diff --git a/src/main/frontend/components/general/FileUpload.tsx b/src/main/frontend/components/general/AvatarUpload.tsx similarity index 85% rename from src/main/frontend/components/general/FileUpload.tsx rename to src/main/frontend/components/general/AvatarUpload.tsx index 08dd8e3..6f11b8a 100644 --- a/src/main/frontend/components/general/FileUpload.tsx +++ b/src/main/frontend/components/general/AvatarUpload.tsx @@ -4,7 +4,7 @@ import {Button, Input, Tooltip} from "@nextui-org/react"; import {useState} from "react"; import {Trash} from "@phosphor-icons/react"; -export default function FileUpload({upload, clear, accept}: { upload: string, clear: string, accept: string }) { +export default function AvatarUpload({upload, remove, accept}: { upload: string, remove: string, accept: string }) { const [avatar, setAvatar] = useState(); @@ -29,7 +29,7 @@ export default function FileUpload({upload, clear, accept}: { upload: string, cl const result = await response.text(); if (response.ok) { - toast.success("Avatar updated"); + window.location.reload(); } else { toast.error("Error uploading avatar", {description: result}); } @@ -40,7 +40,7 @@ export default function FileUpload({upload, clear, accept}: { upload: string, cl async function removeAvatar() { try { - const response = await fetch(clear, { + const response = await fetch(remove, { headers: { "X-CSRF-Token": getCsrfToken() }, @@ -51,7 +51,7 @@ export default function FileUpload({upload, clear, accept}: { upload: string, cl const result = await response.text(); if (response.ok) { - toast.success("Avatar removed"); + window.location.reload(); } else { toast.error("Error removing avatar", {description: result}); } @@ -64,7 +64,7 @@ export default function FileUpload({upload, clear, accept}: { upload: string, cl
- + diff --git a/src/main/kotlin/de/grimsi/gameyfin/users/UserService.kt b/src/main/kotlin/de/grimsi/gameyfin/users/UserService.kt index 0c7f8f4..e4d2bc0 100644 --- a/src/main/kotlin/de/grimsi/gameyfin/users/UserService.kt +++ b/src/main/kotlin/de/grimsi/gameyfin/users/UserService.kt @@ -78,6 +78,8 @@ class UserService( fun deleteAvatar(username: String) { val user = userByUsername(username) + if (user.avatar == null) return + avatarStore.unsetContent(user.avatar) user.avatar = null