feat: [pm] 작업/이슈 긴급(is_urgent) 토글 기능 추가

- Task, Issue 모델에 is_urgent 필드 추가
- TaskService, IssueService에 toggleUrgent() 메서드 추가
- TaskController, IssueController에 toggleUrgent 엔드포인트 추가
- API 라우트에 toggle-urgent 경로 추가
- 프로젝트 상세 페이지 UI 개선:
  - 작업/이슈 행에 긴급 토글 버튼(불꽃 아이콘) 추가
  - 서브 row(아코디언 내 이슈)에도 긴급 토글 추가
  - 서브 row 컬럼을 작업 row와 동일하게 8컬럼으로 정렬
  - 진행중 작업의 이슈 아코디언 자동 열기
  - 이슈 상태 버튼 항상 테두리 표시
This commit is contained in:
2025-11-28 18:08:32 +09:00
parent 58009e675d
commit 432ec2b1c1
8 changed files with 561 additions and 161 deletions

View File

@@ -42,15 +42,10 @@ public function index(Request $request): View|JsonResponse
/**
* 프로젝트별 작업 목록 (칸반보드용)
*/
public function byProject(int $projectId, Request $request): View|JsonResponse
public function byProject(int $projectId, Request $request): JsonResponse
{
$tasks = $this->taskService->getTasksByProject($projectId);
// HTMX 요청이면 HTML 파셜 반환
if ($request->header('HX-Request')) {
return view('project-management.tasks.partials.kanban', compact('tasks'));
}
return response()->json([
'success' => true,
'data' => $tasks,
@@ -175,6 +170,20 @@ public function changeStatus(Request $request, int $id): JsonResponse
]);
}
/**
* 작업 긴급 토글
*/
public function toggleUrgent(int $id): JsonResponse
{
$task = $this->taskService->toggleUrgent($id);
return response()->json([
'success' => true,
'message' => $task->is_urgent ? '긴급으로 설정되었습니다.' : '긴급 해제되었습니다.',
'data' => $task,
]);
}
/**
* 작업 순서 변경 (드래그앤드롭)
*/