diff --git a/frontend/src/components/dashboard/DashboardHeader.tsx b/frontend/src/components/dashboard/DashboardHeader.tsx index 5e0e87e..5d3638e 100644 --- a/frontend/src/components/dashboard/DashboardHeader.tsx +++ b/frontend/src/components/dashboard/DashboardHeader.tsx @@ -21,22 +21,22 @@ export function DashboardHeader({ quarter, stats, activeStatus, onStatusChange, const todayStr = `${today.getMonth() + 1}월 ${today.getDate()}일`; return ( -
+
{/* ── 왼쪽: 팀명 + 분기 ── */}
- 인재성장팀 - EE&E + 인재성장팀 + EE&E
- + {quarter.replace(/^(\d{4})-Q(\d)$/, '$1년 $2분기')}
{/* ── 가운데: 상태 필터 버튼 (절대 중앙 정렬) ── */} -
+
@@ -55,20 +55,20 @@ export function DashboardHeader({ quarter, stats, activeStatus, onStatusChange,
- {todayStr} + {todayStr}
@@ -90,13 +90,13 @@ function StatButton({ label, value, statusKey, activeStatus, onClick, color, act return ( ); diff --git a/frontend/src/components/dashboard/DepartmentColumn.tsx b/frontend/src/components/dashboard/DepartmentColumn.tsx index 585dab0..1020d93 100644 --- a/frontend/src/components/dashboard/DepartmentColumn.tsx +++ b/frontend/src/components/dashboard/DepartmentColumn.tsx @@ -212,19 +212,19 @@ export function DepartmentColumn({ title: initialTitle, titleEn, subtitle: initi return ( <> -
+
{/* 컬럼 헤더 (noHeader 시 숨김) */} {!noHeader && (
{ e.preventDefault(); setCtxMenu({ x: e.clientX, y: e.clientY, type: 'header' }); }} > - {displayTitle} + {displayTitle} {titleEnState && ( {titleEnState} )} - + {tasks.length}건
@@ -232,13 +232,13 @@ export function DepartmentColumn({ title: initialTitle, titleEn, subtitle: initi {/* 프로젝트 카드 목록 (스크롤 영역) */}
{(() => { const projectTasks = orderedTasks.filter((t) => t.taskType !== '상시업무'); return projectTasks.length === 0 ? ( -
+
해당 업무 없음
) : ( @@ -257,10 +257,10 @@ export function DepartmentColumn({ title: initialTitle, titleEn, subtitle: initi {(() => { const routineTasks = orderedTasks.filter((t) => t.taskType === '상시업무'); return ( -
+
{routineTasks.length === 0 ? ( -
+
기반업무 없음
) : ( diff --git a/frontend/src/components/dashboard/TaskCard.tsx b/frontend/src/components/dashboard/TaskCard.tsx index 89206e1..a09263d 100644 --- a/frontend/src/components/dashboard/TaskCard.tsx +++ b/frontend/src/components/dashboard/TaskCard.tsx @@ -12,11 +12,11 @@ import type { Task } from '../../types'; const STATUS_STYLE: Record = { - IN_PROGRESS: 'bg-blue-500 text-white', - REVIEW: 'bg-orange-400 text-white', - TODO: 'bg-gray-300 text-gray-700', - DONE: 'bg-emerald-500 text-white', - CANCELLED: 'bg-gray-200 text-gray-500', + IN_PROGRESS: 'bg-blue-500 text-white shadow-blue-500/20', + REVIEW: 'bg-amber-400 text-white shadow-amber-400/20', + TODO: 'bg-slate-200 text-slate-600 shadow-slate-300/20', + DONE: 'bg-emerald-500 text-white shadow-emerald-500/20', + CANCELLED: 'bg-slate-200 text-slate-400 shadow-slate-300/20', }; const STATUS_LABEL: Record = { @@ -163,7 +163,7 @@ export function TaskCard({ style={dragStyle} {...dragAttributes} {...dragListeners} - className="bg-white rounded-2xl px-5 py-3 mb-3 shadow-sm border border-gray-100 hover:shadow-md hover:border-gray-200 transition-all select-none cursor-grab active:cursor-grabbing overflow-hidden" + className="mb-3 cursor-grab select-none overflow-hidden rounded-[1.35rem] border border-white/80 bg-white px-5 py-4 shadow-[0_10px_28px_rgba(15,23,42,0.08)] ring-1 ring-slate-200/60 transition-all hover:-translate-y-0.5 hover:shadow-[0_18px_34px_rgba(15,23,42,0.14)] active:cursor-grabbing" onPointerDown={(e) => { // 우클릭(button !== 0)을 dnd-kit에 전달하지 않음 // dnd-kit은 pointerdown→pointerup 시 synthetic click을 발화하는데 @@ -177,11 +177,11 @@ export function TaskCard({ {/* ── 상단: 제목 + 진행률 ── */}
- + {task.title}
- = 70 ? 'text-emerald-500' : task.progress >= 40 ? 'text-blue-400' : 'text-orange-400' @@ -193,26 +193,26 @@ export function TaskCard({ {/* ── 기간 + 상태 ── */}
- + {task.showDate && (task.startDate || task.dueDate) ? `${task.startDate ? fmtDate(task.startDate) : '?'} ~ ${task.dueDate ? fmtDate(task.dueDate) : '?'}` : ''} - + {STATUS_LABEL[task.status]}
{/* ── description ── */} {task.description && ( -
+
{task.description}
)} {/* ── 이슈 메모 ── */} {task.issueNote && ( -
+
{task.issueNote}
diff --git a/frontend/src/pages/DashboardPage.tsx b/frontend/src/pages/DashboardPage.tsx index 8b63d43..6d3a127 100644 --- a/frontend/src/pages/DashboardPage.tsx +++ b/frontend/src/pages/DashboardPage.tsx @@ -73,7 +73,10 @@ export default function DashboardPage() { } return ( -
+
setShowTaskManager(true)} /> -
+
{/* ── 맨 왼쪽 구분 라벨 컬럼 ── */} -
+
{/* 헤더 높이 맞춤 (DepartmentColumn 헤더 h-10) */} -
+
{/* 실행과제 영역 (flex-1) */} -
+
실행과제
{/* 기반업무 영역 (고정 300px) */} -
+
기반업무
-
+