From afb81e0f55ba8f63f81a0c212c611d9c6f452bf3 Mon Sep 17 00:00:00 2001 From: Justin Edmund Date: Tue, 2 Dec 2025 02:15:03 -0800 Subject: [PATCH] add nicknames, links sections to entity detail pages; show recruits in weapon metadata --- src/lib/api/adapters/entity.adapter.ts | 38 +++++++++ .../sections/WeaponMetadataSection.svelte | 48 +++++++++++ .../database/characters/[id]/+page.svelte | 80 +++++++++++++++++++ .../(app)/database/summons/[id]/+page.svelte | 80 +++++++++++++++++++ .../(app)/database/weapons/[id]/+page.svelte | 80 +++++++++++++++++++ 5 files changed, 326 insertions(+) diff --git a/src/lib/api/adapters/entity.adapter.ts b/src/lib/api/adapters/entity.adapter.ts index eaefd7f7..ca01236e 100644 --- a/src/lib/api/adapters/entity.adapter.ts +++ b/src/lib/api/adapters/entity.adapter.ts @@ -65,6 +65,24 @@ export interface Weapon { name: Record level: number }> + nicknames?: { + en?: string[] + ja?: string[] + } + links?: { + wikiEn?: string + wikiJa?: string + gamewith?: string + kamigame?: string + } + recruits?: { + id: string + granblueId: string + name: { + en?: string + ja?: string + } + } } /** @@ -108,6 +126,16 @@ export interface Character { name: Record level: number }> + nicknames?: { + en?: string[] + ja?: string[] + } + links?: { + wikiEn?: string + wikiJa?: string + gamewith?: string + kamigame?: string + } } /** @@ -186,6 +214,16 @@ export interface Summon { auraDescription?: string subAuraName?: string subAuraDescription?: string + nicknames?: { + en?: string[] + ja?: string[] + } + links?: { + wikiEn?: string + wikiJa?: string + gamewith?: string + kamigame?: string + } } /** diff --git a/src/lib/features/database/weapons/sections/WeaponMetadataSection.svelte b/src/lib/features/database/weapons/sections/WeaponMetadataSection.svelte index 0379268b..721df57a 100644 --- a/src/lib/features/database/weapons/sections/WeaponMetadataSection.svelte +++ b/src/lib/features/database/weapons/sections/WeaponMetadataSection.svelte @@ -7,6 +7,7 @@ import SuggestionDetailItem from '$lib/components/ui/SuggestionDetailItem.svelte' import CopyableText from '$lib/components/ui/CopyableText.svelte' import { getRarityLabel, getRarityOptions } from '$lib/utils/rarity' + import { getCharacterImage } from '$lib/utils/images' interface Props { weapon: any @@ -64,6 +65,53 @@ — {/if} + {#if weapon.recruits} + + + {weapon.recruits.name.en + {weapon.recruits.name.en} + + + {/if} {/if} + + diff --git a/src/routes/(app)/database/characters/[id]/+page.svelte b/src/routes/(app)/database/characters/[id]/+page.svelte index abed119c..47d8c416 100644 --- a/src/routes/(app)/database/characters/[id]/+page.svelte +++ b/src/routes/(app)/database/characters/[id]/+page.svelte @@ -169,6 +169,30 @@ {#if currentTab === 'info'}
+ + {#if character.nicknames?.en?.length || character.nicknames?.ja?.length} + + {#if character.nicknames?.en?.length} + +
+ {#each character.nicknames.en as nickname} + {nickname} + {/each} +
+
+ {/if} + {#if character.nicknames?.ja?.length} + +
+ {#each character.nicknames.ja as nickname} + {nickname} + {/each} +
+
+ {/if} +
+ {/if} + @@ -187,6 +211,39 @@ {/if} + {#if character.links?.wikiEn || character.links?.wikiJa || character.links?.gamewith || character.links?.kamigame} + + {#if character.links?.wikiEn} + + + {character.links.wikiEn} + + + {/if} + {#if character.links?.wikiJa} + + + {character.links.wikiJa} + + + {/if} + {#if character.links?.gamewith} + + + {character.links.gamewith} + + + {/if} + {#if character.links?.kamigame} + + + {character.links.kamigame} + + + {/if} + + {/if} + {#if relatedQuery.data?.length}