From 36e4decf3404ac8f3fb0fd40ea86c341abc5839e Mon Sep 17 00:00:00 2001 From: umsangdon Date: Mon, 31 Aug 2026 19:31:54 +0900 Subject: [PATCH] =?UTF-8?q?fix(B03):=20=EB=85=B8=EC=84=A0=20=EC=8A=AC?= =?UTF-8?q?=EB=A1=AF=20=EC=B9=B4=EB=93=9C=EC=97=90=EC=84=9C=20shapefile=20?= =?UTF-8?q?=EC=84=B8=ED=8A=B8=EB=A5=BC=20=ED=95=9C=20=EB=B2=88=EC=97=90=20?= =?UTF-8?q?=EA=B3=A0=EB=A5=B4=EA=B2=8C=20=ED=95=9C=EB=8B=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 카드의 파일 선택 버튼은 단일 선택이라 .shp 하나만 골라졌다. 형제 파일이 없으면 GDAL도 못 열고 필수 세트 판정도 막힌다. .shp를 받는 슬롯만 multiple로 연다. 화면 검증(공용 브라우저): 계획노선 카드 accept=".csv,.shp" multiple=true, 나머지 슬롯은 종전대로 단일 선택 유지. Co-Authored-By: Claude Opus 5 (1M context) --- B03_FileInput/B03_FileInput_UI_Page.ts | 2 ++ 1 file changed, 2 insertions(+) diff --git a/B03_FileInput/B03_FileInput_UI_Page.ts b/B03_FileInput/B03_FileInput_UI_Page.ts index ea8877dd..9447cec8 100644 --- a/B03_FileInput/B03_FileInput_UI_Page.ts +++ b/B03_FileInput/B03_FileInput_UI_Page.ts @@ -504,6 +504,8 @@ export async function renderB03FileInput(root: HTMLElement): Promise { ".b03-file__slot-input", )!; input.accept = state.extensions.join(","); + // 계획노선 shapefile은 한 벌(.shp/.shx/.dbf/.cpg/.prj)을 같이 골라야 한다. + input.multiple = state.extensions.includes(".shp"); const select = card.querySelector( ".b03-file__card-select", )!;