/* ============================================================================= * B08_Quantity_UI_Side_SeedSpray.ts * 산출 조건 「초류종자살포 비탈면 토질」 칸 — 반영률 밑 · 면고르기 위(2026-09-14 브레인 ㉮). * * 매핑이 부모 공종(5-24 씨앗뿜어붙이기 · 갈래 고르기형)을 가리켜 잎(일반·마사토)을 고를 칸이 없었음 * → 금액이 영영 안 섬. 이 칸이 잎을 고름(서버 매핑 `leaf_from`). * 페이지 본문(`B08_Quantity_UI_Page.ts`)이 700줄을 넘어 새 칸을 이 파일로 뺌(CLAUDE.md 4장). * ⚠ 선택지는 **서버가 내려준 그대로**(`seed_spray_choices`) · 제안값 없음 — 비면 내역 줄이 입력 사유로 섬. * ========================================================================== */ import { ui_locales, currentLanguageIndex } from "@ui/ui_template_locale"; import type { SideFieldHelpers } from "./B08_Quantity_UI_Side_TreeWaste"; function L(key: keyof typeof ui_locales): string { return ui_locales[key][currentLanguageIndex]; } export function appendSeedSprayField( panel: HTMLElement, draft: { seed_spray_ground: string; dirty: boolean }, choices: { choices: string[] } | undefined, h: SideFieldHelpers, ): void { if (!choices) return; panel.append( h.selectField( L("B08_Quantity_Side_SeedSpray_Label"), draft.seed_spray_ground, [ { value: "", label: L("B08_Quantity_SeedSpray_Unset") }, ...choices.choices.map((name) => ({ value: name, label: name })), ], (picked) => { draft.seed_spray_ground = picked; draft.dirty = true; }, ), h.hintRow(L("B08_Quantity_Side_SeedSpray_Hint")), ); }