feat(space): 종료 결과 모달과 current session thought 복원 추가
This commit is contained in:
@@ -77,6 +77,15 @@ Last Updated: 2026-03-16
|
||||
- timer가 `00:00`에 도달하면 same-session modal이 자동으로 열리고, `완료하고 종료하기 / 10분 더` 두 경로만 제안한다
|
||||
- `10분 더`를 누르면 현재 focus phase에 10분이 추가되어 바로 running으로 돌아가고, 다시 시간이 끝나면 같은 modal이 다시 열린다
|
||||
- server와 web 모두 `extend-phase` 계약 기준으로 동작한다
|
||||
- `10분 더`는 남은 시간만이 아니라 `focusDurationSeconds`도 함께 늘려 이후 결과 모달과 review의 집중 시간이 맞도록 정리됐다
|
||||
- `/space` completion result modal 추가:
|
||||
- `timer-complete -> 완료하고 종료하기`와 `End Session -> 여기서 마무리하기`는 즉시 `/app`으로 가지 않고 중앙 결과 모달을 먼저 연다
|
||||
- 결과 모달에는 `집중한 시간`, `완료한 목표`, `이번 세션 thought capsule`이 표시된다
|
||||
- 결과 모달이 떠 있는 동안 `/space` 자동 `/app` redirect는 막히고, `확인하고 돌아가기`에서만 `/app`으로 이동한다
|
||||
- current-session thought capsule 서버 복원:
|
||||
- `/space` thought는 public `focusSessionId` 없이 auth 기반으로 현재 세션에 서버가 내부 연결한다
|
||||
- `/space` 진입 시 `GET /api/v1/focus-sessions/current/thoughts`로 현재 세션 thought 목록을 복원한다
|
||||
- 브라우저를 껐다 켜도 current session이 살아 있으면 같은 thought 목록을 다시 읽을 수 있다
|
||||
- `/space` intent HUD collapsed / expanded 재설계:
|
||||
- 상시 큰 goal 카드 대신 idle에서는 goal 1줄만 남는 collapsed glass rail 구조로 변경
|
||||
- hover / focus / rail tap에서만 expanded card로 열리며, 이때만 microStep과 `이번 목표 완료` 액션이 노출됨
|
||||
|
||||
@@ -14,10 +14,10 @@ Last Updated: 2026-03-16
|
||||
|
||||
## 현재 우선순위
|
||||
|
||||
1. `/space` current-session-only cleanup
|
||||
2. `Core Loop Alignment` browser audit
|
||||
3. `Weekly Review` carry-forward 고도화
|
||||
4. `Premium Ambience` polish
|
||||
1. `/space` completion result modal browser QA
|
||||
2. `/space` current-session-only cleanup
|
||||
3. `Core Loop Alignment` browser audit
|
||||
4. `Weekly Review` carry-forward 고도화
|
||||
|
||||
## 최근 세션 상태
|
||||
|
||||
@@ -87,6 +87,14 @@ Last Updated: 2026-03-16
|
||||
- `00:00`이 되면 `완료하고 종료하기 / 10분 더` 모달이 자동으로 열린다.
|
||||
- `10분 더`는 server `extend-phase` 계약을 타고 현재 focus phase를 10분 연장한 뒤 다시 running으로 이어진다.
|
||||
- 그래서 사용자는 recovery 상태에서도 `계속 / 다시 잡기 / 마무리` 중 하나를 바로 고를 수 있다.
|
||||
- `/space` 종료 결과 모달이 추가됐다.
|
||||
- `완료하고 종료하기`와 `여기서 마무리하기`는 바로 `/app`으로 가지 않고 중앙 결과 모달을 먼저 띄운다.
|
||||
- 결과 모달에는 `집중한 시간`, `완료한 목표`, `이번 세션 thought capsule`이 들어간다.
|
||||
- 닫기 전까지 `/space`는 결과 모달 상태로 유지되고, `확인하고 돌아가기`에서만 `/app`으로 이동한다.
|
||||
- thought capsule은 서버가 현재 세션에 내부 귀속한다.
|
||||
- 클라이언트는 `focusSessionId`를 보내지 않는다.
|
||||
- `/space`는 current session이 살아 있으면 server `current thoughts` API로 same-session thought 목록을 복원한다.
|
||||
- 그래서 브라우저 재시작 후에도 같은 세션이라면 결과 모달에 같은 thought들이 포함된다.
|
||||
- `/space` 목표 카드를 collapsed / expanded 구조로 재설계했다.
|
||||
- idle에서는 goal 1줄만 남는 얇은 glass rail로 줄였다.
|
||||
- microStep과 `이번 목표 완료`는 expanded 상태에서만 드러난다.
|
||||
|
||||
33
docs/work.md
33
docs/work.md
@@ -18,6 +18,31 @@
|
||||
|
||||
## 작업 1
|
||||
|
||||
- 제목: `/space` completion result modal browser QA
|
||||
- 목적:
|
||||
- 세션 완전 종료 직후 결과 모달이 자연스럽게 뜨는지 확인한다.
|
||||
- timer-complete, End Session finish, 10분 더 이후 재종료, thought 복원 흐름을 실제 브라우저에서 검증한다.
|
||||
- 변경 범위:
|
||||
- `/space` timer-complete finish
|
||||
- `/space` End Session finish
|
||||
- current-session thoughts restore
|
||||
- 결과 모달 -> `/app`
|
||||
- 제외 범위:
|
||||
- 새로운 stats/weekly review 기능 추가 금지
|
||||
- 완료 조건:
|
||||
- 종료 직후 중앙 결과 모달이 보인다
|
||||
- 결과 모달에 집중 시간/목표/thought가 맞게 보인다
|
||||
- 결과 모달 확인 후에만 `/app`으로 이동한다
|
||||
- 브라우저 재실행 뒤 current session이 살아 있으면 thought capture가 유지된다
|
||||
- 진행 상태:
|
||||
- 다음 작업
|
||||
- 검증:
|
||||
- manual browser QA
|
||||
- 커밋 힌트:
|
||||
- docs(qa): completion result modal browser audit 기록
|
||||
|
||||
## 작업 2
|
||||
|
||||
- 제목: `/app` Atmosphere Entry Shell
|
||||
- 목적:
|
||||
- `docs/screens/app/current/19_app_atmosphere_entry_spec.md` 기준으로 `/app` no-session 상태를 `goal + duration + atmosphere` 중심의 premium entry screen으로 재설계한다.
|
||||
@@ -44,7 +69,7 @@
|
||||
- 커밋 힌트:
|
||||
- feat(app): atmosphere entry shell 1차 구현
|
||||
|
||||
## 작업 2
|
||||
## 작업 3
|
||||
|
||||
- 제목: `Custom Duration Contract`
|
||||
- 목적:
|
||||
@@ -61,13 +86,13 @@
|
||||
- `70분` 같은 값이 실제 focus duration으로 반영된다
|
||||
- break duration이 정책 기준으로 계산된다
|
||||
- 진행 상태:
|
||||
- 다음 작업
|
||||
- 구현 완료
|
||||
- 검증:
|
||||
- start -> `/space` -> timer duration 확인
|
||||
- 커밋 힌트:
|
||||
- feat(flow): custom duration contract 연결
|
||||
|
||||
## 작업 3
|
||||
## 작업 4
|
||||
|
||||
- 제목: `Weekly Review Dock Reposition`
|
||||
- 목적:
|
||||
@@ -89,7 +114,7 @@
|
||||
- 커밋 힌트:
|
||||
- fix(app): review dock 위치 재정렬
|
||||
|
||||
## 작업 4
|
||||
## 작업 5
|
||||
|
||||
- 제목: `Core Loop Alignment Audit` browser slice
|
||||
- 목적:
|
||||
|
||||
Reference in New Issue
Block a user