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