fix(WEB): 모바일 반응형 UI 개선 및 개소 정보 수정 모달 추가

- CalendarHeader: 모바일에서 주/월 버튼 2줄 레이아웃으로 분리
- MobileCard: 제목 텍스트 overflow 시 truncate 적용
- DetailActions: 모바일 하단 sticky 버튼 바 overflow 수정
- OrderDetailForm: 모바일 하단 sticky 버튼 바 overflow 수정
- LocationDetailPanel: 오픈사이즈 옆 수정 버튼에 모달 연결
- LocationListPanel: 개소 목록에 수정/삭제 버튼 추가
- LocationEditModal: 개소 정보 수정 팝업 신규 생성

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
유병철
2026-01-27 11:28:12 +09:00
parent 6586db4996
commit 55e92bc7b4
8 changed files with 441 additions and 88 deletions

View File

@@ -34,6 +34,7 @@ import {
} from "../ui/table";
import { Tabs, TabsContent, TabsList, TabsTrigger } from "../ui/tabs";
import { ItemSearchModal } from "./ItemSearchModal";
import { LocationEditModal } from "./LocationEditModal";
import type { LocationItem } from "./QuoteRegistrationV2";
import type { FinishedGoods } from "./actions";
@@ -117,6 +118,7 @@ export function LocationDetailPanel({
const [activeTab, setActiveTab] = useState("body");
const [itemSearchOpen, setItemSearchOpen] = useState(false);
const [editModalOpen, setEditModalOpen] = useState(false);
// ---------------------------------------------------------------------------
// 계산된 값
@@ -257,7 +259,14 @@ export function LocationDetailPanel({
className="w-24 h-8 text-center font-bold"
/>
{!disabled && (
<Badge variant="secondary" className="text-xs"></Badge>
<Button
variant="secondary"
size="sm"
className="text-xs h-7"
onClick={() => setEditModalOpen(true)}
>
</Button>
)}
</div>
</div>
@@ -613,6 +622,16 @@ export function LocationDetailPanel({
}}
tabLabel={DETAIL_TABS.find((t) => t.value === activeTab)?.label}
/>
{/* 개소 정보 수정 모달 */}
<LocationEditModal
open={editModalOpen}
onOpenChange={setEditModalOpen}
location={location}
onSave={(locationId, updates) => {
onUpdateLocation(locationId, updates);
}}
/>
</div>
);
}