Fix database pages to use camelCase field names
- Update database grid navigation to use granblueId - Update column definitions to use granblueId - Fix all detail pages to use camelCase field names from transformed API responses - Fix field names for HP/ATK stats, abilities, and metadata
This commit is contained in:
parent
0797892ea4
commit
2cf29275b6
7 changed files with 86 additions and 86 deletions
|
|
@ -72,11 +72,11 @@
|
||||||
console.log('Row selected:', ev)
|
console.log('Row selected:', ev)
|
||||||
const rowId = ev.id
|
const rowId = ev.id
|
||||||
if (rowId) {
|
if (rowId) {
|
||||||
// Find the row data to get the granblue_id
|
// Find the row data to get the granblueId
|
||||||
const rowData = data.find((item: any) => item.id === rowId)
|
const rowData = data.find((item: any) => item.id === rowId)
|
||||||
if (rowData && rowData.granblue_id) {
|
if (rowData && rowData.granblueId) {
|
||||||
console.log(`Navigating to: /database/${resource}/${rowData.granblue_id}`)
|
console.log(`Navigating to: /database/${resource}/${rowData.granblueId}`)
|
||||||
goto(`/database/${resource}/${rowData.granblue_id}`)
|
goto(`/database/${resource}/${rowData.granblueId}`)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
|
||||||
|
|
@ -13,7 +13,7 @@
|
||||||
|
|
||||||
const columns = [
|
const columns = [
|
||||||
{
|
{
|
||||||
id: 'granblue_id',
|
id: 'granblueId',
|
||||||
header: 'Image',
|
header: 'Image',
|
||||||
width: 80,
|
width: 80,
|
||||||
cell: CharacterImageCell
|
cell: CharacterImageCell
|
||||||
|
|
|
||||||
|
|
@ -38,7 +38,7 @@
|
||||||
// Editable fields - create reactive state for each field
|
// Editable fields - create reactive state for each field
|
||||||
let editData = $state({
|
let editData = $state({
|
||||||
name: character?.name || '',
|
name: character?.name || '',
|
||||||
granblue_id: character?.granblue_id || '',
|
granblueId: character?.granblueId || '',
|
||||||
rarity: character?.rarity || 1,
|
rarity: character?.rarity || 1,
|
||||||
element: character?.element || 0,
|
element: character?.element || 0,
|
||||||
race1: character?.race?.[0] ?? null,
|
race1: character?.race?.[0] ?? null,
|
||||||
|
|
@ -46,12 +46,12 @@
|
||||||
gender: character?.gender || 0,
|
gender: character?.gender || 0,
|
||||||
proficiency1: character?.proficiency?.[0] || 0,
|
proficiency1: character?.proficiency?.[0] || 0,
|
||||||
proficiency2: character?.proficiency?.[1] || 0,
|
proficiency2: character?.proficiency?.[1] || 0,
|
||||||
min_hp: character?.hp?.min_hp || 0,
|
minHp: character?.hp?.minHp || 0,
|
||||||
max_hp: character?.hp?.max_hp || 0,
|
maxHp: character?.hp?.maxHp || 0,
|
||||||
max_hp_flb: character?.hp?.max_hp_flb || 0,
|
maxHpFlb: character?.hp?.maxHpFlb || 0,
|
||||||
min_atk: character?.atk?.min_atk || 0,
|
minAtk: character?.atk?.minAtk || 0,
|
||||||
max_atk: character?.atk?.max_atk || 0,
|
maxAtk: character?.atk?.maxAtk || 0,
|
||||||
max_atk_flb: character?.atk?.max_atk_flb || 0,
|
maxAtkFlb: character?.atk?.maxAtkFlb || 0,
|
||||||
flb: character?.uncap?.flb || false,
|
flb: character?.uncap?.flb || false,
|
||||||
ulb: character?.uncap?.ulb || false,
|
ulb: character?.uncap?.ulb || false,
|
||||||
transcendence: character?.uncap?.transcendence || false,
|
transcendence: character?.uncap?.transcendence || false,
|
||||||
|
|
@ -63,7 +63,7 @@
|
||||||
if (character) {
|
if (character) {
|
||||||
editData = {
|
editData = {
|
||||||
name: character.name || '',
|
name: character.name || '',
|
||||||
granblue_id: character.granblue_id || '',
|
granblueId: character.granblueId || '',
|
||||||
rarity: character.rarity || 1,
|
rarity: character.rarity || 1,
|
||||||
element: character.element || 0,
|
element: character.element || 0,
|
||||||
race1: character.race?.[0] ?? null,
|
race1: character.race?.[0] ?? null,
|
||||||
|
|
@ -71,12 +71,12 @@
|
||||||
gender: character.gender || 0,
|
gender: character.gender || 0,
|
||||||
proficiency1: character.proficiency?.[0] || 0,
|
proficiency1: character.proficiency?.[0] || 0,
|
||||||
proficiency2: character.proficiency?.[1] || 0,
|
proficiency2: character.proficiency?.[1] || 0,
|
||||||
min_hp: character.hp?.min_hp || 0,
|
minHp: character.hp?.minHp || 0,
|
||||||
max_hp: character.hp?.max_hp || 0,
|
maxHp: character.hp?.maxHp || 0,
|
||||||
max_hp_flb: character.hp?.max_hp_flb || 0,
|
maxHpFlb: character.hp?.maxHpFlb || 0,
|
||||||
min_atk: character.atk?.min_atk || 0,
|
minAtk: character.atk?.minAtk || 0,
|
||||||
max_atk: character.atk?.max_atk || 0,
|
maxAtk: character.atk?.maxAtk || 0,
|
||||||
max_atk_flb: character.atk?.max_atk_flb || 0,
|
maxAtkFlb: character.atk?.maxAtkFlb || 0,
|
||||||
flb: character.uncap?.flb || false,
|
flb: character.uncap?.flb || false,
|
||||||
ulb: character.uncap?.ulb || false,
|
ulb: character.uncap?.ulb || false,
|
||||||
transcendence: character.uncap?.transcendence || false,
|
transcendence: character.uncap?.transcendence || false,
|
||||||
|
|
@ -101,7 +101,7 @@
|
||||||
if (!editMode && character) {
|
if (!editMode && character) {
|
||||||
editData = {
|
editData = {
|
||||||
name: character.name || '',
|
name: character.name || '',
|
||||||
granblue_id: character.granblue_id || '',
|
granblueId: character.granblueId || '',
|
||||||
rarity: character.rarity || 1,
|
rarity: character.rarity || 1,
|
||||||
element: character.element || 0,
|
element: character.element || 0,
|
||||||
race1: character.race?.[0] ?? null,
|
race1: character.race?.[0] ?? null,
|
||||||
|
|
@ -109,12 +109,12 @@
|
||||||
gender: character.gender || 0,
|
gender: character.gender || 0,
|
||||||
proficiency1: character.proficiency?.[0] || 0,
|
proficiency1: character.proficiency?.[0] || 0,
|
||||||
proficiency2: character.proficiency?.[1] || 0,
|
proficiency2: character.proficiency?.[1] || 0,
|
||||||
min_hp: character.hp?.min_hp || 0,
|
minHp: character.hp?.minHp || 0,
|
||||||
max_hp: character.hp?.max_hp || 0,
|
maxHp: character.hp?.maxHp || 0,
|
||||||
max_hp_flb: character.hp?.max_hp_flb || 0,
|
maxHpFlb: character.hp?.maxHpFlb || 0,
|
||||||
min_atk: character.atk?.min_atk || 0,
|
minAtk: character.atk?.minAtk || 0,
|
||||||
max_atk: character.atk?.max_atk || 0,
|
maxAtk: character.atk?.maxAtk || 0,
|
||||||
max_atk_flb: character.atk?.max_atk_flb || 0,
|
maxAtkFlb: character.atk?.maxAtkFlb || 0,
|
||||||
flb: character.uncap?.flb || false,
|
flb: character.uncap?.flb || false,
|
||||||
ulb: character.uncap?.ulb || false,
|
ulb: character.uncap?.ulb || false,
|
||||||
transcendence: character.uncap?.transcendence || false,
|
transcendence: character.uncap?.transcendence || false,
|
||||||
|
|
@ -132,21 +132,21 @@
|
||||||
// Prepare the data for API
|
// Prepare the data for API
|
||||||
const payload = {
|
const payload = {
|
||||||
name: editData.name,
|
name: editData.name,
|
||||||
granblue_id: editData.granblue_id,
|
granblue_id: editData.granblueId,
|
||||||
rarity: editData.rarity,
|
rarity: editData.rarity,
|
||||||
element: editData.element,
|
element: editData.element,
|
||||||
race: [editData.race1, editData.race2].filter(r => r !== null && r !== undefined),
|
race: [editData.race1, editData.race2].filter(r => r !== null && r !== undefined),
|
||||||
gender: editData.gender,
|
gender: editData.gender,
|
||||||
proficiency: [editData.proficiency1, editData.proficiency2],
|
proficiency: [editData.proficiency1, editData.proficiency2],
|
||||||
hp: {
|
hp: {
|
||||||
min_hp: editData.min_hp,
|
min_hp: editData.minHp,
|
||||||
max_hp: editData.max_hp,
|
max_hp: editData.maxHp,
|
||||||
max_hp_flb: editData.max_hp_flb
|
max_hp_flb: editData.maxHpFlb
|
||||||
},
|
},
|
||||||
atk: {
|
atk: {
|
||||||
min_atk: editData.min_atk,
|
min_atk: editData.minAtk,
|
||||||
max_atk: editData.max_atk,
|
max_atk: editData.maxAtk,
|
||||||
max_atk_flb: editData.max_atk_flb
|
max_atk_flb: editData.maxAtkFlb
|
||||||
},
|
},
|
||||||
uncap: {
|
uncap: {
|
||||||
flb: editData.flb,
|
flb: editData.flb,
|
||||||
|
|
@ -183,8 +183,8 @@
|
||||||
|
|
||||||
// Helper function to get character image
|
// Helper function to get character image
|
||||||
function getCharacterImage(character: any): string {
|
function getCharacterImage(character: any): string {
|
||||||
if (!character?.granblue_id) return '/images/placeholders/placeholder-character-main.png'
|
if (!character?.granblueId) return '/images/placeholders/placeholder-character-main.png'
|
||||||
return `/images/character-grid/${character.granblue_id}_01.jpg`
|
return `/images/character-grid/${character.granblueId}_01.jpg`
|
||||||
}
|
}
|
||||||
|
|
||||||
// Calculate uncap properties for the indicator
|
// Calculate uncap properties for the indicator
|
||||||
|
|
@ -240,13 +240,13 @@
|
||||||
/>
|
/>
|
||||||
<DetailItem
|
<DetailItem
|
||||||
label="Granblue ID"
|
label="Granblue ID"
|
||||||
bind:value={editData.granblue_id}
|
bind:value={editData.granblueId}
|
||||||
editable={true}
|
editable={true}
|
||||||
type="text"
|
type="text"
|
||||||
/>
|
/>
|
||||||
{:else}
|
{:else}
|
||||||
<DetailItem label="Rarity" value={getRarityLabel(character.rarity)} />
|
<DetailItem label="Rarity" value={getRarityLabel(character.rarity)} />
|
||||||
<DetailItem label="Granblue ID" value={character.granblue_id} />
|
<DetailItem label="Granblue ID" value={character.granblueId} />
|
||||||
{/if}
|
{/if}
|
||||||
</DetailsContainer>
|
</DetailsContainer>
|
||||||
<DetailsContainer title="Details">
|
<DetailsContainer title="Details">
|
||||||
|
|
@ -341,30 +341,30 @@
|
||||||
{#if editMode}
|
{#if editMode}
|
||||||
<DetailItem
|
<DetailItem
|
||||||
label="Base HP"
|
label="Base HP"
|
||||||
bind:value={editData.min_hp}
|
bind:value={editData.minHp}
|
||||||
editable={true}
|
editable={true}
|
||||||
type="number"
|
type="number"
|
||||||
placeholder="0"
|
placeholder="0"
|
||||||
/>
|
/>
|
||||||
<DetailItem
|
<DetailItem
|
||||||
label="Max HP"
|
label="Max HP"
|
||||||
bind:value={editData.max_hp}
|
bind:value={editData.maxHp}
|
||||||
editable={true}
|
editable={true}
|
||||||
type="number"
|
type="number"
|
||||||
placeholder="0"
|
placeholder="0"
|
||||||
/>
|
/>
|
||||||
<DetailItem
|
<DetailItem
|
||||||
label="Max HP (FLB)"
|
label="Max HP (FLB)"
|
||||||
bind:value={editData.max_hp_flb}
|
bind:value={editData.maxHpFlb}
|
||||||
editable={true}
|
editable={true}
|
||||||
type="number"
|
type="number"
|
||||||
placeholder="0"
|
placeholder="0"
|
||||||
/>
|
/>
|
||||||
{:else}
|
{:else}
|
||||||
<DetailItem label="Base HP" value={character.hp?.min_hp} />
|
<DetailItem label="Base HP" value={character.hp?.minHp} />
|
||||||
<DetailItem label="Max HP" value={character.hp?.max_hp} />
|
<DetailItem label="Max HP" value={character.hp?.maxHp} />
|
||||||
{#if flb}
|
{#if flb}
|
||||||
<DetailItem label="Max HP (FLB)" value={character.hp?.max_hp_flb} />
|
<DetailItem label="Max HP (FLB)" value={character.hp?.maxHpFlb} />
|
||||||
{/if}
|
{/if}
|
||||||
{/if}
|
{/if}
|
||||||
</DetailsContainer>
|
</DetailsContainer>
|
||||||
|
|
@ -373,30 +373,30 @@
|
||||||
{#if editMode}
|
{#if editMode}
|
||||||
<DetailItem
|
<DetailItem
|
||||||
label="Base Attack"
|
label="Base Attack"
|
||||||
bind:value={editData.min_atk}
|
bind:value={editData.minAtk}
|
||||||
editable={true}
|
editable={true}
|
||||||
type="number"
|
type="number"
|
||||||
placeholder="0"
|
placeholder="0"
|
||||||
/>
|
/>
|
||||||
<DetailItem
|
<DetailItem
|
||||||
label="Max Attack"
|
label="Max Attack"
|
||||||
bind:value={editData.max_atk}
|
bind:value={editData.maxAtk}
|
||||||
editable={true}
|
editable={true}
|
||||||
type="number"
|
type="number"
|
||||||
placeholder="0"
|
placeholder="0"
|
||||||
/>
|
/>
|
||||||
<DetailItem
|
<DetailItem
|
||||||
label="Max Attack (FLB)"
|
label="Max Attack (FLB)"
|
||||||
bind:value={editData.max_atk_flb}
|
bind:value={editData.maxAtkFlb}
|
||||||
editable={true}
|
editable={true}
|
||||||
type="number"
|
type="number"
|
||||||
placeholder="0"
|
placeholder="0"
|
||||||
/>
|
/>
|
||||||
{:else}
|
{:else}
|
||||||
<DetailItem label="Base Attack" value={character.atk?.min_atk} />
|
<DetailItem label="Base Attack" value={character.atk?.minAtk} />
|
||||||
<DetailItem label="Max Attack" value={character.atk?.max_atk} />
|
<DetailItem label="Max Attack" value={character.atk?.maxAtk} />
|
||||||
{#if flb}
|
{#if flb}
|
||||||
<DetailItem label="Max Attack (FLB)" value={character.atk?.max_atk_flb} />
|
<DetailItem label="Max Attack (FLB)" value={character.atk?.maxAtkFlb} />
|
||||||
{/if}
|
{/if}
|
||||||
{/if}
|
{/if}
|
||||||
</DetailsContainer>
|
</DetailsContainer>
|
||||||
|
|
|
||||||
|
|
@ -12,7 +12,7 @@
|
||||||
// Column configuration for summons
|
// Column configuration for summons
|
||||||
const columns: IColumn[] = [
|
const columns: IColumn[] = [
|
||||||
{
|
{
|
||||||
id: 'granblue_id',
|
id: 'granblueId',
|
||||||
header: 'Image',
|
header: 'Image',
|
||||||
width: 80,
|
width: 80,
|
||||||
cell: SummonImageCell
|
cell: SummonImageCell
|
||||||
|
|
|
||||||
|
|
@ -17,8 +17,8 @@
|
||||||
|
|
||||||
// Helper function to get summon image
|
// Helper function to get summon image
|
||||||
function getSummonImage(summon: any): string {
|
function getSummonImage(summon: any): string {
|
||||||
if (!summon?.granblue_id) return '/images/placeholders/placeholder-summon-main.png'
|
if (!summon?.granblueId) return '/images/placeholders/placeholder-summon-main.png'
|
||||||
return `/images/summon-grid/${summon.granblue_id}.jpg`
|
return `/images/summon-grid/${summon.granblueId}.jpg`
|
||||||
}
|
}
|
||||||
|
|
||||||
// Calculate uncap properties for the indicator
|
// Calculate uncap properties for the indicator
|
||||||
|
|
@ -44,30 +44,30 @@
|
||||||
<DetailsHeader type="summon" item={summon} image={getSummonImage(summon)} />
|
<DetailsHeader type="summon" item={summon} image={getSummonImage(summon)} />
|
||||||
|
|
||||||
<DetailsContainer title="HP Stats">
|
<DetailsContainer title="HP Stats">
|
||||||
<DetailItem label="Base HP" value={summon.hp?.min_hp} />
|
<DetailItem label="Base HP" value={summon.hp?.minHp} />
|
||||||
<DetailItem label="Max HP" value={summon.hp?.max_hp} />
|
<DetailItem label="Max HP" value={summon.hp?.maxHp} />
|
||||||
{#if flb}
|
{#if flb}
|
||||||
<DetailItem label="Max HP (FLB)" value={summon.hp?.max_hp_flb} />
|
<DetailItem label="Max HP (FLB)" value={summon.hp?.maxHpFlb} />
|
||||||
{/if}
|
{/if}
|
||||||
{#if ulb}
|
{#if ulb}
|
||||||
<DetailItem label="Max HP (ULB)" value={summon.hp?.max_hp_ulb} />
|
<DetailItem label="Max HP (ULB)" value={summon.hp?.maxHpUlb} />
|
||||||
{/if}
|
{/if}
|
||||||
{#if transcendence}
|
{#if transcendence}
|
||||||
<DetailItem label="Max HP (XLB)" value={summon.hp?.max_hp_xlb} />
|
<DetailItem label="Max HP (XLB)" value={summon.hp?.maxHpXlb} />
|
||||||
{/if}
|
{/if}
|
||||||
</DetailsContainer>
|
</DetailsContainer>
|
||||||
|
|
||||||
<DetailsContainer title="Attack Stats">
|
<DetailsContainer title="Attack Stats">
|
||||||
<DetailItem label="Base Attack" value={summon.atk?.min_atk} />
|
<DetailItem label="Base Attack" value={summon.atk?.minAtk} />
|
||||||
<DetailItem label="Max Attack" value={summon.atk?.max_atk} />
|
<DetailItem label="Max Attack" value={summon.atk?.maxAtk} />
|
||||||
{#if flb}
|
{#if flb}
|
||||||
<DetailItem label="Max Attack (FLB)" value={summon.atk?.max_atk_flb} />
|
<DetailItem label="Max Attack (FLB)" value={summon.atk?.maxAtkFlb} />
|
||||||
{/if}
|
{/if}
|
||||||
{#if ulb}
|
{#if ulb}
|
||||||
<DetailItem label="Max Attack (ULB)" value={summon.atk?.max_atk_ulb} />
|
<DetailItem label="Max Attack (ULB)" value={summon.atk?.maxAtkUlb} />
|
||||||
{/if}
|
{/if}
|
||||||
{#if transcendence}
|
{#if transcendence}
|
||||||
<DetailItem label="Max Attack (XLB)" value={summon.atk?.max_atk_xlb} />
|
<DetailItem label="Max Attack (XLB)" value={summon.atk?.maxAtkXlb} />
|
||||||
{/if}
|
{/if}
|
||||||
</DetailsContainer>
|
</DetailsContainer>
|
||||||
|
|
||||||
|
|
@ -91,11 +91,11 @@
|
||||||
<div class="summon-abilities">
|
<div class="summon-abilities">
|
||||||
<h3>Call Effect</h3>
|
<h3>Call Effect</h3>
|
||||||
<div class="abilities-section">
|
<div class="abilities-section">
|
||||||
{#if summon.call_name || summon.call_description}
|
{#if summon.callName || summon.callDescription}
|
||||||
<div class="ability-item">
|
<div class="ability-item">
|
||||||
<h4 class="ability-name">{summon.call_name || 'Call Effect'}</h4>
|
<h4 class="ability-name">{summon.callName || 'Call Effect'}</h4>
|
||||||
<p class="ability-description">
|
<p class="ability-description">
|
||||||
{summon.call_description || 'No description available'}
|
{summon.callDescription || 'No description available'}
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
{:else}
|
{:else}
|
||||||
|
|
@ -105,11 +105,11 @@
|
||||||
|
|
||||||
<h3>Aura Effect</h3>
|
<h3>Aura Effect</h3>
|
||||||
<div class="abilities-section">
|
<div class="abilities-section">
|
||||||
{#if summon.aura_name || summon.aura_description}
|
{#if summon.auraName || summon.auraDescription}
|
||||||
<div class="ability-item">
|
<div class="ability-item">
|
||||||
<h4 class="ability-name">{summon.aura_name || 'Aura Effect'}</h4>
|
<h4 class="ability-name">{summon.auraName || 'Aura Effect'}</h4>
|
||||||
<p class="ability-description">
|
<p class="ability-description">
|
||||||
{summon.aura_description || 'No description available'}
|
{summon.auraDescription || 'No description available'}
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
{:else}
|
{:else}
|
||||||
|
|
@ -117,13 +117,13 @@
|
||||||
{/if}
|
{/if}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{#if summon.sub_aura_name || summon.sub_aura_description}
|
{#if summon.subAuraName || summon.subAuraDescription}
|
||||||
<h3>Sub Aura Effect</h3>
|
<h3>Sub Aura Effect</h3>
|
||||||
<div class="abilities-section">
|
<div class="abilities-section">
|
||||||
<div class="ability-item">
|
<div class="ability-item">
|
||||||
<h4 class="ability-name">{summon.sub_aura_name || 'Sub Aura Effect'}</h4>
|
<h4 class="ability-name">{summon.subAuraName || 'Sub Aura Effect'}</h4>
|
||||||
<p class="ability-description">
|
<p class="ability-description">
|
||||||
{summon.sub_aura_description || 'No description available'}
|
{summon.subAuraDescription || 'No description available'}
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -13,7 +13,7 @@
|
||||||
// Column configuration for weapons
|
// Column configuration for weapons
|
||||||
const columns: IColumn[] = [
|
const columns: IColumn[] = [
|
||||||
{
|
{
|
||||||
id: 'granblue_id',
|
id: 'granblueId',
|
||||||
header: 'Image',
|
header: 'Image',
|
||||||
width: 80,
|
width: 80,
|
||||||
cell: WeaponImageCell
|
cell: WeaponImageCell
|
||||||
|
|
|
||||||
|
|
@ -18,13 +18,13 @@
|
||||||
|
|
||||||
// Helper function to get weapon image
|
// Helper function to get weapon image
|
||||||
function getWeaponImage(weapon: any): string {
|
function getWeaponImage(weapon: any): string {
|
||||||
if (!weapon?.granblue_id) return '/images/placeholders/placeholder-weapon-main.png'
|
if (!weapon?.granblueId) return '/images/placeholders/placeholder-weapon-main.png'
|
||||||
|
|
||||||
// Handle element-specific weapons (primal weapons)
|
// Handle element-specific weapons (primal weapons)
|
||||||
if (weapon.element === 0 && weapon.instance_element) {
|
if (weapon.element === 0 && weapon.instanceElement) {
|
||||||
return `/images/weapon-grid/${weapon.granblue_id}_${weapon.instance_element}.jpg`
|
return `/images/weapon-grid/${weapon.granblueId}_${weapon.instanceElement}.jpg`
|
||||||
}
|
}
|
||||||
return `/images/weapon-grid/${weapon.granblue_id}.jpg`
|
return `/images/weapon-grid/${weapon.granblueId}.jpg`
|
||||||
}
|
}
|
||||||
|
|
||||||
// Calculate uncap properties for the indicator
|
// Calculate uncap properties for the indicator
|
||||||
|
|
@ -50,8 +50,8 @@
|
||||||
<DetailsHeader type="weapon" item={weapon} image={getWeaponImage(weapon)} />
|
<DetailsHeader type="weapon" item={weapon} image={getWeaponImage(weapon)} />
|
||||||
|
|
||||||
<DetailsContainer title="Level & Skill">
|
<DetailsContainer title="Level & Skill">
|
||||||
<DetailItem label="Max Level" value={weapon.max_level} />
|
<DetailItem label="Max Level" value={weapon.maxLevel} />
|
||||||
<DetailItem label="Max Skill Level" value={weapon.skill_level_cap} />
|
<DetailItem label="Max Skill Level" value={weapon.skillLevelCap} />
|
||||||
{#if weapon.uncap}
|
{#if weapon.uncap}
|
||||||
<DetailItem label="Uncap">
|
<DetailItem label="Uncap">
|
||||||
<UncapIndicator
|
<UncapIndicator
|
||||||
|
|
@ -68,24 +68,24 @@
|
||||||
</DetailsContainer>
|
</DetailsContainer>
|
||||||
|
|
||||||
<DetailsContainer title="HP Stats">
|
<DetailsContainer title="HP Stats">
|
||||||
<DetailItem label="Base HP" value={weapon.hp?.min_hp} />
|
<DetailItem label="Base HP" value={weapon.hp?.minHp} />
|
||||||
<DetailItem label="Max HP" value={weapon.hp?.max_hp} />
|
<DetailItem label="Max HP" value={weapon.hp?.maxHp} />
|
||||||
{#if flb}
|
{#if flb}
|
||||||
<DetailItem label="Max HP (FLB)" value={weapon.hp?.max_hp_flb} />
|
<DetailItem label="Max HP (FLB)" value={weapon.hp?.maxHpFlb} />
|
||||||
{/if}
|
{/if}
|
||||||
{#if ulb}
|
{#if ulb}
|
||||||
<DetailItem label="Max HP (ULB)" value={weapon.hp?.max_hp_ulb} />
|
<DetailItem label="Max HP (ULB)" value={weapon.hp?.maxHpUlb} />
|
||||||
{/if}
|
{/if}
|
||||||
</DetailsContainer>
|
</DetailsContainer>
|
||||||
|
|
||||||
<DetailsContainer title="Attack Stats">
|
<DetailsContainer title="Attack Stats">
|
||||||
<DetailItem label="Base Attack" value={weapon.atk?.min_atk} />
|
<DetailItem label="Base Attack" value={weapon.atk?.minAtk} />
|
||||||
<DetailItem label="Max Attack" value={weapon.atk?.max_atk} />
|
<DetailItem label="Max Attack" value={weapon.atk?.maxAtk} />
|
||||||
{#if flb}
|
{#if flb}
|
||||||
<DetailItem label="Max Attack (FLB)" value={weapon.atk?.max_atk_flb} />
|
<DetailItem label="Max Attack (FLB)" value={weapon.atk?.maxAtkFlb} />
|
||||||
{/if}
|
{/if}
|
||||||
{#if ulb}
|
{#if ulb}
|
||||||
<DetailItem label="Max Attack (ULB)" value={weapon.atk?.max_atk_ulb} />
|
<DetailItem label="Max Attack (ULB)" value={weapon.atk?.maxAtkUlb} />
|
||||||
{/if}
|
{/if}
|
||||||
</DetailsContainer>
|
</DetailsContainer>
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue