From 5df563198b93f61b5503925508e4f8c1f31d33d6 Mon Sep 17 00:00:00 2001 From: Justin Edmund Date: Sun, 30 Nov 2025 14:57:43 -0800 Subject: [PATCH] fix: render related characters --- src/lib/api/adapters/entity.adapter.ts | 11 + src/lib/components/ui/DetailsHeader.svelte | 45 +- .../database/characters/[id]/+page.svelte | 441 +++++++++++------- 3 files changed, 308 insertions(+), 189 deletions(-) diff --git a/src/lib/api/adapters/entity.adapter.ts b/src/lib/api/adapters/entity.adapter.ts index 0e5f3b3e..225aee31 100644 --- a/src/lib/api/adapters/entity.adapter.ts +++ b/src/lib/api/adapters/entity.adapter.ts @@ -73,6 +73,7 @@ export interface Weapon { export interface Character { id: string granblueId: string + characterId?: number name: { en?: string ja?: string @@ -186,6 +187,16 @@ export class EntityAdapter extends BaseAdapter { }) } + /** + * Gets related characters (same character_id) for a given character + */ + async getRelatedCharacters(id: string): Promise { + return this.request(`/characters/${id}/related`, { + method: 'GET', + cacheTTL: 600000 // Cache for 10 minutes + }) + } + /** * Gets canonical summon data by ID */ diff --git a/src/lib/components/ui/DetailsHeader.svelte b/src/lib/components/ui/DetailsHeader.svelte index 9bb9b200..00ebf4bd 100644 --- a/src/lib/components/ui/DetailsHeader.svelte +++ b/src/lib/components/ui/DetailsHeader.svelte @@ -39,18 +39,20 @@ const granblueId = $derived(item?.granblue_id) // Get element name for button styling - const elementName = $derived((() => { - const elementMap: Record = { - 0: undefined, // Null element - 1: 'wind', - 2: 'fire', - 3: 'water', - 4: 'earth', - 5: 'dark', - 6: 'light' - } - return elementMap[element] || undefined - })()) + const elementName = $derived( + (() => { + const elementMap: Record = { + 0: undefined, // Null element + 1: 'wind', + 2: 'fire', + 3: 'water', + 4: 'earth', + 5: 'dark', + 6: 'light' + } + return elementMap[element] || undefined + })() + ) // Helper function to get display name function getDisplayName(nameObj: string | { en?: string; ja?: string }): string { @@ -60,7 +62,7 @@ } -
+
@@ -120,7 +129,7 @@ {/if}
{/if} -
+