feat(WEB): 리스트 페이지 UI 레이아웃 표준화
- 공통 레이아웃 패턴 적용: [달력] → [프리셋] → [검색창] → [버튼들] - beforeTableContent → headerActions + createButton 마이그레이션 - DateRangeSelector extraActions prop 활용하여 검색창 통합 - PricingListClient 테이블 행 클릭 → 상세 이동 기능 추가 - 회계 관련 페이지 (입금/출금/매입/매출/어음/카드/예상지출 등) 정리 - 건설 관련 페이지 검색 영역 정리 - 부모 메뉴 리다이렉트 컴포넌트 추가 Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -14,8 +14,10 @@ export interface TabChipProps {
|
||||
label: string;
|
||||
/** 카운트 숫자 */
|
||||
count?: number;
|
||||
/** 활성 상태 */
|
||||
/** 활성 상태 (active 또는 isActive 둘 다 지원) */
|
||||
active?: boolean;
|
||||
/** 활성 상태 (active의 별칭) */
|
||||
isActive?: boolean;
|
||||
/** 클릭 이벤트 */
|
||||
onClick?: () => void;
|
||||
/** 색상 테마 */
|
||||
@@ -28,26 +30,30 @@ export function TabChip({
|
||||
label,
|
||||
count,
|
||||
active = false,
|
||||
isActive,
|
||||
onClick,
|
||||
color = "blue",
|
||||
className = "",
|
||||
}: TabChipProps) {
|
||||
// isActive가 전달되면 isActive 사용, 아니면 active 사용
|
||||
const isActiveState = isActive ?? active;
|
||||
|
||||
return (
|
||||
<button
|
||||
onClick={onClick}
|
||||
className={`
|
||||
flex items-center gap-2 px-4 py-2.5 rounded-full border transition-all
|
||||
${
|
||||
active
|
||||
? "border-primary bg-primary/5"
|
||||
: "border-gray-200 hover:border-gray-300 hover:bg-gray-50"
|
||||
isActiveState
|
||||
? "border-primary bg-primary text-white shadow-sm"
|
||||
: "border-gray-200 bg-white hover:border-gray-300 hover:bg-gray-50"
|
||||
}
|
||||
${className}
|
||||
`}
|
||||
>
|
||||
<span
|
||||
className={`text-sm ${
|
||||
active ? "text-primary font-medium" : "text-gray-600 font-normal"
|
||||
isActiveState ? "text-white font-medium" : "text-gray-600 font-normal"
|
||||
}`}
|
||||
>
|
||||
{label}
|
||||
@@ -55,7 +61,7 @@ export function TabChip({
|
||||
{count !== undefined && (
|
||||
<span
|
||||
className={`text-sm font-semibold ${
|
||||
active ? "text-primary" : "text-gray-900"
|
||||
isActiveState ? "text-white" : "text-gray-900"
|
||||
}`}
|
||||
>
|
||||
{count}
|
||||
|
||||
Reference in New Issue
Block a user