---
title: "📓 작업일지 — '현재 진행' 프로젝트 판정 정합(LogEntry ↔ Settings)"
category: "worklog"
parent: "Claude Code 작업일지"
updated: "2026-07-08"
priority: "Medium"
purpose: "체성분 기록입력(LogEntry)의 프로젝트 자동선택 기준과 설정(Settings) 화면의 '현재 진행' 판정 기준이 서로 달라 두 화면이 다른 프로젝트를 가리키던 문제를, 두 화면 모두 'start_date 최신(없으면 created_at)' 단일 기준으로 통일해 해소한 기록."
read_when: ["현재 진행 프로젝트", "activeProjectId", "currentProject", "LogEntry Settings 정합", "start_date 결측 fallback"]
document_type: "개발일지"
source_status: "generated"
knowledge_group: "03_history"
work_timestamp: "20260708_123521"
source_of_truth: "https://dallog-tools.hansbridge.co.kr/knowledge/"
context: "달록 본레포(ccy-hansbridge/dallog), 커밋 3506e16·91ad237(2026-07-08 main 반영, 원 작업은 2026-07-07)."
---

# 작업일지 — '현재 진행' 프로젝트 판정 정합(LogEntry ↔ Settings)

> 기록입력 화면(LogEntry)이 체성분 기록 시 자동으로 골라주는 "현재 진행 중인 프로젝트"와, 설정 화면(Settings)이 "현재 진행"이라고 보여주는 프로젝트가 서로 다른 기준으로 계산되어 있어 어긋날 수 있었다. 두 화면이 같은 기준(가장 최근 시작한 프로젝트)을 쓰도록 맞췄다.

## 1. 무엇을 했나

### 문제
- LogEntry의 `activeProjectId`: "목표일이 오늘 이후이고 가장 임박한 것 → 없으면 가장 최근 `created_at`" 기준.
- Settings의 `currentProject`: 목록 정렬 UI(`projectSort`)에서 파생된 `sortedProjects[0]` — 사용자가 정렬을 "오래된순"으로 바꾸면 "현재 진행"이 함께 바뀌어버림.
- 두 기준이 달라 같은 사용자에게 서로 다른 프로젝트가 "현재 진행"으로 보일 수 있었음(Codex 검토 지적 반영).

### 수정
- **Settings.tsx**: `currentProject`를 `sortedProjects`(목록 정렬 UI)에서 완전히 분리 — `projects`를 `start_date`(없으면 `created_at`) 내림차순으로 별도 정렬해 항상 고정. `pastProjects`는 `currentProject.id`를 제외한 나머지로 계산.
- **LogEntry.tsx**: `ProjectOpt` 타입에 `start_date` 필드 추가(그동안 `target_date`·`created_at`만 있었음). `activeProjectId`를 "목표일 임박" 로직에서 Settings와 동일한 "`start_date`(없으면 `created_at`) 최신" 기준으로 교체.
- 두 화면이 완전히 동일한 정렬식을 각자 파일에서 사용 — 공유 유틸로 추출하지는 않음(각 파일 지역 계산 유지).

## 2. 주요 변경 파일

| 파일 | 내용 |
|---|---|
| `src/pages/Settings.tsx` | `currentProject`를 목록 정렬(UI)과 분리, 항상 `start_date` 최신 기준 고정 |
| `src/pages/LogEntry.tsx` | `activeProjectId`를 Settings와 동일 기준으로 교체, `ProjectOpt.start_date` 추가 |

## 3. 관련 커밋

- `91ad237` fix(settings): '현재 진행' 프로젝트 판정을 목록 정렬 UI와 분리해 항상 '가장 최근 시작' 기준 고정 + start_date 결측 fallback (원 작업 2026-07-07, main 반영 2026-07-08)
- `3506e16` fix(logentry): 기록입력 기본값 버그 2건 교정 — 기본날짜 KST기준·체성분 프로젝트 자동선택을 설정 '현재진행' 기준과 일치 (원 작업 2026-07-07, main 반영 2026-07-08)

같은 커밋(`3506e16`)에는 기록입력 기본 날짜를 `new Date().toISOString()`(UTC) 대신 KST(UTC+9) 보정으로 계산하도록 고친 것도 함께 포함됨 — 한국시간 자정~오전9시 사이엔 기본 날짜가 "어제"로 밀리던 문제.

## 4. 남은 이슈

- 커밋 메시지 기준으로 별도 남은 이슈 언급 없음.
