From f601a40776843f6196221e74ba502c571a5b1bcd Mon Sep 17 00:00:00 2001 From: historia <[not public]> Date: Sun, 12 Jul 2026 21:16:58 -0400 Subject: fix(admin): standardize most search dropdowns and radio buttons --- internal/admin/static/mobeditor.js | 38 ++++++++++++++++++++++++++++++-------- 1 file changed, 30 insertions(+), 8 deletions(-) (limited to 'internal/admin/static/mobeditor.js') diff --git a/internal/admin/static/mobeditor.js b/internal/admin/static/mobeditor.js index 2c8db21..3934fcd 100644 --- a/internal/admin/static/mobeditor.js +++ b/internal/admin/static/mobeditor.js @@ -46,7 +46,7 @@ var MOB_SECTIONS = [ ['stats.defenses.crush_defense', 'Crush Def', 'number', '0', 'narrow'], ['stats.defenses.science_defense', 'Sci Def', 'number', '0', 'narrow'], ['stats.defenses.ranged_defense', 'Rng Def', 'number', '0', 'narrow'], - ['stats.defenses.weakness', 'Weakness', 'text', 'e.g. crush'], + ['stats.defenses.weakness', 'Weakness', 'select', '|bio|eco|hydro|solar|chaos'], ['stats.defenses.weakness_percent', 'Weakness %', 'number', '50', 'narrow'], ['assassin_level', 'Assassin Lvl', 'number', '1', 'narrow'], ['finishing_blow', 'Finishing Blow', 'search', 'e.g. stake', '', null, 'items'], @@ -314,19 +314,22 @@ function normalizeAttackTypes(v) { } // renderMobAttackTypeWidget renders the Atk Type selector: one required melee -// type (radio: stab/slash/crush) plus optional ranged/science (checkboxes). +// type (pill: stab/slash/crush) plus optional ranged/science (checkboxes). function renderMobAttackTypeWidget(data) { var combat = data.combat || {}; var types = normalizeAttackTypes(combat.attack_types); var melee = types.filter(function(t) { return t === 'stab' || t === 'slash' || t === 'crush'; })[0] || 'crush'; var hasRanged = types.indexOf('ranged') >= 0; var hasScience = types.indexOf('science') >= 0; + var meleeOpts = ['stab','slash','crush']; + var activeIdx = meleeOpts.indexOf(melee); + if (activeIdx < 0) activeIdx = 2; var h = '