From dea8a3bc249881ad457968c2b38b92059491d9dd Mon Sep 17 00:00:00 2001 From: Justin Edmund Date: Mon, 1 Dec 2025 04:10:41 -0800 Subject: [PATCH] weapons: move extra/limit/ax to taxonomy, fix uncap stars --- .../sections/WeaponTaxonomySection.svelte | 35 ++++++++++++++++--- .../sections/WeaponUncapSection.svelte | 28 ++------------- 2 files changed, 32 insertions(+), 31 deletions(-) diff --git a/src/lib/features/database/weapons/sections/WeaponTaxonomySection.svelte b/src/lib/features/database/weapons/sections/WeaponTaxonomySection.svelte index 635fa74e..e4ea3f38 100644 --- a/src/lib/features/database/weapons/sections/WeaponTaxonomySection.svelte +++ b/src/lib/features/database/weapons/sections/WeaponTaxonomySection.svelte @@ -7,6 +7,8 @@ import { getProficiencyLabel, getProficiencyOptions } from '$lib/utils/proficiency' import { getWeaponSeriesOptions, getWeaponSeriesSlug } from '$lib/utils/weaponSeries' + type ElementName = 'wind' | 'fire' | 'water' | 'earth' | 'dark' | 'light' + interface Props { weapon: any editMode?: boolean @@ -18,6 +20,13 @@ const elementOptions = getElementOptions() const proficiencyOptions = getProficiencyOptions() const seriesOptions = [{ value: 0, label: 'None' }, ...getWeaponSeriesOptions()] + + // Get element name for checkbox theming + const elementName = $derived.by((): ElementName | undefined => { + const el = editMode ? editData.element : weapon?.element + const label = getElementLabel(el) + return label !== '—' && label !== 'Null' ? (label.toLowerCase() as ElementName) : undefined + }) @@ -44,12 +53,28 @@ options={seriesOptions} /> + + {:else} diff --git a/src/lib/features/database/weapons/sections/WeaponUncapSection.svelte b/src/lib/features/database/weapons/sections/WeaponUncapSection.svelte index b882b139..74d1f4b4 100644 --- a/src/lib/features/database/weapons/sections/WeaponUncapSection.svelte +++ b/src/lib/features/database/weapons/sections/WeaponUncapSection.svelte @@ -4,7 +4,6 @@ import DetailsContainer from '$lib/components/ui/DetailsContainer.svelte' import DetailItem from '$lib/components/ui/DetailItem.svelte' import UncapIndicator from '$lib/components/uncap/UncapIndicator.svelte' - import { getMaxUncapLevel } from '$lib/utils/uncap' import { getElementLabel } from '$lib/utils/element' type ElementName = 'wind' | 'fire' | 'water' | 'earth' | 'dark' | 'light' @@ -25,7 +24,8 @@ const flb = $derived(uncap.flb ?? false) const ulb = $derived(uncap.ulb ?? false) const transcendence = $derived(uncap.transcendence ?? false) - const uncapLevel = $derived(getMaxUncapLevel({ uncap })) + // Weapons: 3 base stars, +1 for FLB (4), +1 for ULB (5), +1 for transcendence (6) + const uncapLevel = $derived(transcendence ? 6 : ulb ? 5 : flb ? 4 : 3) const transcendenceStage = $derived(transcendence ? 5 : 0) // Get element name for checkbox theming @@ -103,29 +103,5 @@ element={elementName} onchange={handleTranscendenceChange} /> - - - {/if}