From 2d34082353f859c8e09adc8a66794bb96f81822f Mon Sep 17 00:00:00 2001
From: Fuwn
Date: Tue, 2 Jan 2024 20:07:51 -0800
Subject: feat(badges): update and delete ui
---
src/routes/user/[user]/badges/+page.svelte | 40 +++++++++++++++++++++++-------
1 file changed, 31 insertions(+), 9 deletions(-)
(limited to 'src/routes/user')
diff --git a/src/routes/user/[user]/badges/+page.svelte b/src/routes/user/[user]/badges/+page.svelte
index 0bea3111..07bb8542 100644
--- a/src/routes/user/[user]/badges/+page.svelte
+++ b/src/routes/user/[user]/badges/+page.svelte
@@ -19,6 +19,7 @@
let dark = true;
let transparent = false;
let confirmDelete = 0;
+ let selectedBadge: Badge | undefined = undefined;
onMount(async () => {
// socket.on('badges', (message) => (badges = message));
@@ -67,6 +68,8 @@
description.value.length > 0 ? `&description=${encodeURIComponent(description.value)}` : ''
}${
time.valueAsDate ? `&time=${encodeURIComponent(dateToDatabaseTime(time.valueAsDate))}` : ''
+ }${
+ selectedBadge && selectedBadge.id ? `&update=${encodeURIComponent(selectedBadge.id)}` : ''
}`,
{
method: 'PUT'
@@ -173,7 +176,14 @@
Back to Profile
•
- (editMode = !editMode)}>
+ {
+ if (editMode) selectedBadge = undefined;
+
+ editMode = !editMode;
+ }}
+ >
{editMode ? 'Disable' : 'Enable'} Edit Mode
•
@@ -185,11 +195,6 @@
{/if}
{#if editMode && isOwner}
-
- Edit mode is enabled. Click on an image twice to delete it. There is no confirmation, so
- be careful!
-
-
{#if error}
{error}
{/if}
@@ -202,6 +207,7 @@
minlength="1"
maxlength="1000"
size="11"
+ value={selectedBadge ? selectedBadge.image : ''}
/>
- Add Badge
+ {selectedBadge ? 'Update' : 'Add'} Badge
+ {#if selectedBadge}
+ or
+ {
+ if (selectedBadge) removeBadge(selectedBadge);
+ }}>Delete Badge (click twice)
+ {/if}
-
+
Must be full date and time, defaults to now if any fields empty
@@ -244,7 +266,7 @@
{#if editMode}
removeBadge(badge)}
+ on:click={() => (selectedBadge = badge)}
id={`badge-${badge.id}`}
title={`${databaseTimeToDate(badge.time).toLocaleString()}${
badge.description ? `\n${badge.description}` : ''
--
cgit v1.2.3