From d6dda9639b984f831144d29c879b5a66e2823844 Mon Sep 17 00:00:00 2001 From: zenn Date: Tue, 21 Apr 2026 14:06:52 +0900 Subject: [PATCH] v0.0.7 --- HANDOFF.md | 9 +- TODO.md | 13 +- package-lock.json | 4 +- package.json | 2 +- src/App.vue | 249 +++++++++++++++++++++++++-------- src/components/PlannerPage.vue | 35 ++++- 6 files changed, 237 insertions(+), 75 deletions(-) diff --git a/HANDOFF.md b/HANDOFF.md index 05026fd..a38ebb9 100644 --- a/HANDOFF.md +++ b/HANDOFF.md @@ -4,7 +4,7 @@ - 프로젝트명: 10 Minute Planner 웹 UI - 기술 스택: Vue 3 + Vite + TailwindCSS + JavaScript -- 현재 기준 버전: `v0.0.6` +- 현재 기준 버전: `v0.0.7` ## 기준 디자인 @@ -25,14 +25,18 @@ - Tailwind 설정은 완료되어 있으며, 이 프로젝트의 스타일링 기준으로 유지한다. - 현재 선택 날짜는 시스템 날짜 기준으로 시작한다. - `COMMENT`, `TASKS`, `MEMO`는 화면에서 바로 편집할 수 있다. -- TASKS 왼쪽 라벨은 순번 고정이 아니라 자유 입력 가능하다. +- TASKS 왼쪽 라벨은 순번 고정이 아니라 자유 입력 가능하며, 기본값은 빈 상태다. +- MEMO 왼쪽 라벨 칸도 자유 입력 가능하다. - TASKS 체크박스는 토글 가능하며, 체크 상태는 바로 시각적으로 반영된다. +- STATS 완료율은 전체 15칸이 아니라, 실제로 입력된 TASKS만 기준으로 계산한다. - `TIME TABLE`은 드래그로 10분 블록을 연속 선택할 수 있다. - `TIME TABLE`은 우클릭 드래그 시 선택된 블록을 지우는 방식으로도 편집할 수 있다. - `TOTAL TIME`은 타임테이블에서 선택된 블록 수를 기준으로 자동 계산된다. - 달력은 연/월 이동이 가능하며, 현재 보이는 월과 선택된 날짜 상태를 분리해서 관리한다. - 달력 상단은 월 좌우 화살표, 클릭형 연도 선택, `TODAY` 버튼 구조로 동작한다. - 입력 내용이 있는 날짜는 달력 하단에 빨간 점으로 표시된다. +- 상단 날짜 표시에서는 토요일의 `(토)`만 파란색, 일요일의 `(일)`만 빨간색으로 표시한다. +- 플래너 상태는 `localStorage`에 저장되며, 날짜별 기록과 선택 날짜, 달력 보고 있던 월까지 복원된다. ## 확정된 결정사항 @@ -50,6 +54,7 @@ - 타임테이블 편집은 좌클릭 드래그로 칠하기, 우클릭 드래그로 지우기 방식이 더 자연스럽다. - 달력에는 연/월 이동 기능이 필요하다. - 내용이 저장된 날짜에는 달력에 빨간 점 표시가 필요하다. +- 현재 단계의 저장 방식은 `localStorage`이며, 이후 외부 저장소 도입 전까지 기본 저장 경로로 사용한다. ## 다음 권장 작업 diff --git a/TODO.md b/TODO.md index afb6d38..cb61435 100644 --- a/TODO.md +++ b/TODO.md @@ -24,7 +24,7 @@ - [x] 달력에 연/월 이동 기능을 추가한다. - [x] 선택 날짜를 클릭하면 해당 날짜 플래너 데이터로 이동되게 한다. - [x] 입력값이 하나라도 있는 날짜에는 달력 하단에 빨간 점 표시를 추가한다. -- [ ] `PREV DAY` / `NEXT DAY` 이동 시 현재 편집 중 데이터와 연결되도록 정리한다. +- [x] `PREV DAY` / `NEXT DAY` 이동 시 현재 편집 중 데이터와 연결되도록 정리한다. ## 추가 반영 메모 @@ -44,9 +44,14 @@ ## 4단계: 데이터 구조와 저장 - [ ] 플래너 데이터 구조를 날짜별 상태 중심으로 정리한다. -- [ ] 입력 데이터의 저장 위치를 결정한다. -- [ ] 로컬 저장 또는 외부 저장 방식 중 우선 구현 방식을 정한다. -- [ ] 입력 상태가 새로고침 후에도 유지되도록 만든다. +- [x] 입력 데이터의 저장 위치를 결정한다. +- [x] 로컬 저장 또는 외부 저장 방식 중 우선 구현 방식을 정한다. +- [x] 입력 상태가 새로고침 후에도 유지되도록 만든다. + +## 추가 반영 메모 + +- [x] 상단 날짜 표시에서 토요일 요일 텍스트만 파란색으로 표시한다. +- [x] 상단 날짜 표시에서 일요일 요일 텍스트만 빨간색으로 표시한다. ## 5단계: 확장 화면 diff --git a/package-lock.json b/package-lock.json index 76329ce..ceb7408 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "ten-minute-planner", - "version": "0.0.6", + "version": "0.0.7", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "ten-minute-planner", - "version": "0.0.6", + "version": "0.0.7", "dependencies": { "vue": "^3.5.13" }, diff --git a/package.json b/package.json index 3c24546..e053983 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "ten-minute-planner", "private": true, - "version": "0.0.6", + "version": "0.0.7", "type": "module", "scripts": { "dev": "vite", diff --git a/src/App.vue b/src/App.vue index aa01664..1d02082 100644 --- a/src/App.vue +++ b/src/App.vue @@ -1,8 +1,9 @@