From 8b0895071924f13f4a1d870ed459eca8abfbfc3e Mon Sep 17 00:00:00 2001 From: whidix Date: Sat, 14 Mar 2026 17:29:57 +0100 Subject: [PATCH] refactor: streamline character selection and improve rendering logic in +page.svelte --- .../(admin)/admin/characters/+page.svelte | 42 +++++++------------ 1 file changed, 16 insertions(+), 26 deletions(-) diff --git a/src/routes/(admin)/admin/characters/+page.svelte b/src/routes/(admin)/admin/characters/+page.svelte index 822325b..8ea878f 100644 --- a/src/routes/(admin)/admin/characters/+page.svelte +++ b/src/routes/(admin)/admin/characters/+page.svelte @@ -15,13 +15,11 @@ let filterGender = $state('all'); let filterArc = $state('all'); let filterHaki = $state<'all' | 'observation' | 'armament' | 'conqueror' | 'none'>('all'); - let selectedCharacterId = $state(null); let isEditModalOpen = $state(false); let isSaving = $state(false); let saveMessage = $state<{ type: 'success' | 'error'; text: string } | null>(null); let dailyModeToast = $state<{ type: 'success' | 'error'; text: string } | null>(null); let selectedChar = $state(null); - let showOriginalValue = $state>({}); const showDailyModeToast = (type: 'success' | 'error', text: string) => { dailyModeToast = { type, text }; @@ -38,12 +36,6 @@ } }; - const getFandomUrl = (url: string | null | undefined) => { - if (!url) return null; - if (url.startsWith('http://') || url.startsWith('https://')) return url; - return `https://onepiece.fandom.com/fr/wiki/${url}`; - }; - let editForm = $state({ id: '', name: '', @@ -98,7 +90,6 @@ }; const openEditModal = (char: any) => { - selectedCharacterId = char.id; selectedChar = char; const override = char.override || {}; @@ -123,13 +114,11 @@ arcId: override.arcId !== null && override.arcId !== undefined ? override.arcId : (char.arcId || ''), status: override.status ?? '' }; - showOriginalValue = {}; isEditModalOpen = true; }; const closeModal = () => { isEditModalOpen = false; - selectedCharacterId = null; selectedChar = null; editForm = { id: '', @@ -179,6 +168,7 @@ }, 3000); } } catch (error) { + console.error('Error deleting character:', error); saveMessage = { type: 'error', text: 'Error deleting character' @@ -221,7 +211,7 @@ class="rounded-lg bg-slate-700 px-4 py-2 text-sm text-white outline-none transition focus:ring-2 focus:ring-amber-600" > - {#each data.availableStatuses as status} + {#each data.availableStatuses as status (status)} {/each} @@ -230,7 +220,7 @@ class="rounded-lg bg-slate-700 px-4 py-2 text-sm text-white outline-none transition focus:ring-2 focus:ring-amber-600" > - {#each data.availableGenders as gender} + {#each data.availableGenders as gender (gender)} {/each} @@ -239,8 +229,8 @@ class="rounded-lg bg-slate-700 px-4 py-2 text-sm text-white outline-none transition focus:ring-2 focus:ring-amber-600" > - {#each data.arcs as arc} - + {#each data.arcs as arc (arc.id)} + {/each} @@ -651,7 +641,7 @@ class="w-full rounded-lg border border-gray-500 bg-slate-800 px-3 py-2 text-white" > - {#each data.devilFruits as fruit} + {#each data.devilFruits as fruit (fruit.id)} {/each}