- 반응형: 최소 폭 1350→1024px, max-[1350px]/max-[1180px] 2단계 축소 - 사이드바 350→310→280, 우측 메뉴 360→320→280, 채팅 거터 140/126→80/72→48/40 (헤더 패딩 동기) - 가격·할인율 입력 min-w 480→420→320, 가운데 버튼 패딩·최소폭 축소, 상품목록 버튼 1180px 미만 아이콘만 - 상품 이미지 220→200, 사이드바 정보 행 값 영역 고정 150px → flex-1 - 리드타임: formatLeadTime 헬퍼 신설 — 좌측 상품정보·협상 결과 요약 카드에 "일" 접미 표시 - 인디케이터: init 의 session_status 를 스토어에 적재, 협상중(IN_PROGRESS) 세션에서만 표시 - 사이드바 정보 영역 의미 없는 가로 스크롤 제거 (shrink 금지 컬럼 + overflow-x 자동 계산이 원인) Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
34 lines
768 B
TypeScript
34 lines
768 B
TypeScript
import { create } from 'zustand'
|
|
import type { ChatInitData } from '@/features/chat/types'
|
|
|
|
interface ChatInitStore extends ChatInitData {
|
|
setInitData: (data: Partial<ChatInitData>) => void
|
|
reset: () => void
|
|
}
|
|
|
|
const initialState: ChatInitData = {
|
|
session_id: '',
|
|
session_status: 0,
|
|
item_id: '',
|
|
quotation_id: '',
|
|
item_name: '',
|
|
item_code: '',
|
|
item_image: '',
|
|
item_price: 0,
|
|
item_model_name: '',
|
|
item_maker_name: '',
|
|
item_vat_yn: '',
|
|
item_delivery_fee_yn: '',
|
|
item_min_order_quantity: '',
|
|
item_lead_time: '',
|
|
item_spec: '',
|
|
quotation_memo: '',
|
|
quotation_end_time: '',
|
|
}
|
|
|
|
export const useChatInitStore = create<ChatInitStore>((set) => ({
|
|
...initialState,
|
|
setInitData: (data) => set(data),
|
|
reset: () => set(initialState),
|
|
}))
|