From 1396ac2ed76332f1e29196f7fde16003806cf820 Mon Sep 17 00:00:00 2001 From: chpark Date: Wed, 20 May 2026 21:59:17 +0900 Subject: [PATCH] =?UTF-8?q?fix(orders/new):=20=EC=9E=AC=EA=B3=A0/=ED=95=9C?= =?UTF-8?q?=EB=8F=84=20=EC=B4=88=EA=B3=BC=20=EA=B2=BD=EA=B3=A0=EB=A5=BC=20?= =?UTF-8?q?=EA=B0=80=EC=9A=B4=EB=8D=B0=20=EB=AA=A8=EB=8B=AC=EB=A1=9C=20?= =?UTF-8?q?=ED=86=B5=EC=9D=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 기존: 카트 +/- 시도는 우상단 토스트, 신규 담기는 가운데 모달 — 일관성 없음. 변경: toastLimit 함수도 Swal.fire 가운데 모달로 변경. 메시지도 명확하게. - 재고 초과: "재고 수량 초과 — 현재 재고 N개 보다 많은 수량은 출고 요청할 수 없습니다." - 한도 초과: "1회 발주 한도 초과 — 1회 최대 N개까지 발주 가능합니다." Co-Authored-By: Claude Opus 4.7 (1M context) --- src/app/(main)/m/orders/new/page.tsx | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/src/app/(main)/m/orders/new/page.tsx b/src/app/(main)/m/orders/new/page.tsx index 20fcfd9..c8bf256 100644 --- a/src/app/(main)/m/orders/new/page.tsx +++ b/src/app/(main)/m/orders/new/page.tsx @@ -142,10 +142,15 @@ function ItemsBrowse() { return [...c, { item, qty }]; }); if (warned) { + const isStockLimit = maxQ <= 0 || stock <= maxQ; Swal.fire({ icon: "warning", - title: maxQ > 0 && stock > maxQ ? "1회 발주 한도 초과" : "재고 부족", - text: `최대 ${fmt(limit)}개까지 담을 수 있습니다.`, + title: isStockLimit ? "재고 수량 초과" : "1회 발주 한도 초과", + text: isStockLimit + ? `현재 재고 ${fmt(limit)}개 보다 많은 수량은 출고 요청할 수 없습니다.` + : `1회 최대 ${fmt(limit)}개까지 발주 가능합니다.`, + confirmButtonColor: "#0f766e", + confirmButtonText: "확인", }); return; } @@ -205,9 +210,13 @@ function ItemsBrowse() { const toastLimit = (limit: number, isStockLimit: boolean) => { Swal.fire({ - toast: true, position: "top-end", icon: "warning", - title: `${isStockLimit ? "재고" : "1회 발주 한도"}: 최대 ${fmt(limit)}개`, - showConfirmButton: false, timer: 1500, timerProgressBar: true, + icon: "warning", + title: isStockLimit ? "재고 수량 초과" : "1회 발주 한도 초과", + text: isStockLimit + ? `현재 재고 ${fmt(limit)}개 보다 많은 수량은 출고 요청할 수 없습니다.` + : `1회 최대 ${fmt(limit)}개까지 발주 가능합니다.`, + confirmButtonColor: "#0f766e", + confirmButtonText: "확인", }); };