From 59f79262d573d5db939d7117e2ee8fea4001db14 Mon Sep 17 00:00:00 2001 From: Justin Edmund Date: Mon, 22 Dec 2025 20:16:00 -0800 Subject: [PATCH] rework character rep layout: 3 portraits + 2 stacked squares --- src/lib/components/reps/CharacterRep.svelte | 150 ++++++++++++++------ 1 file changed, 103 insertions(+), 47 deletions(-) diff --git a/src/lib/components/reps/CharacterRep.svelte b/src/lib/components/reps/CharacterRep.svelte index d5066c62..9dc0e6cb 100644 --- a/src/lib/components/reps/CharacterRep.svelte +++ b/src/lib/components/reps/CharacterRep.svelte @@ -20,7 +20,11 @@ ) ) - function characterImageUrl(c?: GridCharacter): string { + // For standard mode: first 3 are portraits, last 2 are squares + const portraits = $derived(unlimited ? [] : grid.slice(0, 3)) + const squares = $derived(unlimited ? [] : grid.slice(3, 5)) + + function characterImageUrl(c: GridCharacter | undefined, position: number): string { const id = c?.character?.granblueId if (!id) return '' @@ -33,9 +37,12 @@ mainWeaponElement = main?.element ?? main?.weapon?.element } + // Use 'square' variant for unlimited mode or positions 3-4 in standard mode + const variant = unlimited || position >= 3 ? 'square' : 'main' + return getCharacterImageWithPose( id, - unlimited ? 'square' : 'main', + variant, c?.uncapLevel ?? 0, c?.transcendenceStep ?? 0, mainWeaponElement, @@ -45,18 +52,47 @@
- + {#if unlimited} + + + {:else} + +
+ {#each portraits as c, i} +
+ {#if c}Character{/if} +
+ {/each} +
+
+ {#each squares as c, i} +
+ {#if c}Character{/if} +
+ {/each} +
+ {/if}