From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server-vie001.gnuweeb.org X-Spam-Level: X-Spam-Status: No, score=-1.2 required=5.0 tests=ALL_TRUSTED,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,URIBL_DBL_BLOCKED_OPENDNS, URIBL_ZEN_BLOCKED_OPENDNS autolearn=ham autolearn_force=no version=3.4.6 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gnuweeb.org; s=default; t=1741462043; bh=Sy91YcRVHzRti0fjWY5UJE6QA4F1GYVAe9HkZoEaSyA=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Transfer-Encoding:Message-ID:Date:From: Reply-To:Subject:To:Cc:In-Reply-To:References:Resent-Date: Resent-From:Resent-To:Resent-Cc:User-Agent:Content-Type: Content-Transfer-Encoding; b=dDclSAkSZRukR5kpvpesJP23lX5My+fqRgFOIpwK7hWHpcYY9way1N4fmRUiyg0jx iwFoe/K4lH8GPYiX04wsDpNh37KdK/v3Q3VdhJTWdKhHP9xVs5nInGDIOqVAQBJIZ4 FmaU5N3hJK99uSniUv6QJRVcrGNNryemZQlkuLr8Gaa1ylszofVc9/zzsfa/1spAt3 /wb0bQCzTewjNnTIiHu+ENnDBw2JYvBnJ/r7Y8OAL++M6WZnJPVS7Zk0fGhXnIp93Z bVz9WO1aeaanJ2r6+HxipQZ4vKB9st4YMW3tvPEDIvYMlvTsy9J2h8mc+6j6p7r9dS GAy/2DAlu7b0g== Received: from localhost.localdomain (unknown [101.128.125.112]) by server-vie001.gnuweeb.org (Postfix) with ESMTPSA id C988020B4926; Sat, 8 Mar 2025 19:27:22 +0000 (UTC) From: Muhammad Rizki To: Ammar Faizi Cc: Muhammad Rizki , Alviro Iskandar Setiawan , GNU/Weeb Mailing List Subject: [PATCH v2 07/12] fix(profile-avatar): add delete avatar method Date: Sun, 9 Mar 2025 02:26:49 +0700 Message-ID: <20250308192656.97-8-kiizuha@gnuweeb.org> X-Mailer: git-send-email 2.45.2.windows.1 In-Reply-To: <20250308192656.97-1-kiizuha@gnuweeb.org> References: <20250308192656.97-1-kiizuha@gnuweeb.org> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit List-Id: Added delete avatar method to remove user's avatar from the server. Signed-off-by: Muhammad Rizki --- .../(protected)/settings/profile/+page.svelte | 73 +++++++++++++++---- 1 file changed, 57 insertions(+), 16 deletions(-) diff --git a/src/routes/(protected)/settings/profile/+page.svelte b/src/routes/(protected)/settings/profile/+page.svelte index 664894e..43ad382 100644 --- a/src/routes/(protected)/settings/profile/+page.svelte +++ b/src/routes/(protected)/settings/profile/+page.svelte @@ -24,7 +24,6 @@ import Seo from "$components/customs/seo.svelte"; let { data } = $props(); - let showModalConfirmation = $state(false); const form = superForm(data.form, { SPA: true, @@ -101,6 +100,9 @@ const auth = useAuth(); let avatarImg = $state(auth.user?.photo); + let openEditAvatar = $state(false); + let showModalConfirmation = $state(false); + const avatar = $derived(avatarImg); const getShortName = () => { @@ -132,6 +134,34 @@ handleOpenModal(false); }; + const deleteAvatar = async () => { + openEditAvatar = false; + + if (!auth.user?.photo) { + // delete draft avatar + avatarImg = ""; + $formData.photo = null; + return; + } + + const { + data: { res }, + status + } = await http>({ + params: { action: "delete_user_photo" }, + method: "GET" + }); + + if (status === 200) { + avatarImg = ""; + $formData.photo = null; + + toast.info("Success delete profile picture", { + description: res?.msg + }); + } + }; + const isSubmittable = $derived( Boolean($formData.full_name && $formData.ext_email && $formData.gender) ); @@ -162,7 +192,7 @@ {/if} - + (openEditAvatar = e)}> @@ -174,16 +204,20 @@ (openEditAvatar = false)} > Upload... - + {#if avatar || $formData.photo} + + {/if} @@ -380,7 +414,7 @@ {/if} - + (openEditAvatar = e)}> @@ -388,7 +422,11 @@ Edit - - + {#if avatar || $formData.photo} + + {/if} -- Muhammad Rizki