diff --git a/HANDOFF.md b/HANDOFF.md
index 4f5a419..1e149c5 100644
--- a/HANDOFF.md
+++ b/HANDOFF.md
@@ -4,7 +4,7 @@
- 프로젝트명: 10 Minute Planner 웹 UI
- 기술 스택: Vue 3 + Vite + TailwindCSS + JavaScript
-- 현재 기준 버전: `v0.1.38` 준비 중
+- 현재 기준 버전: `v0.1.39` 준비 중
- Git 원격 저장소: `https://git.sori.studio/zenn/planner.sori.studio.git`
## 기준 디자인
@@ -196,6 +196,9 @@
- `TODO.md`는 중복 체크 항목을 정리했고, 인증 확장을 위해 `이메일 인증 / 비밀번호 재설정 / rate limit / 메일 인프라` 작업을 별도 항목으로 추가했다.
- Resend 무료 플랜은 도메인 1개 제약이 있어 현재 프로젝트 인증 메일에는 바로 쓰기 어렵다. 다음 단계에서는 AWS SES 또는 범용 SMTP 공급자 기준으로 메일 발송 추상화를 붙이는 쪽이 적합하다.
- 현재 인증 메일/재설정 메일은 실제 발송 대신 개발용 `previewUrl`을 응답으로 돌려주는 단계다. 프론트 UI 연결과 실제 메일러 연결은 다음 단계에서 마무리하면 된다.
+- 미니 달력 날짜 버튼은 원형 비율이 흔들리지 않도록 고정 `width/height` 기준으로 다시 맞췄다.
+- 플래너 본문 D-DAY 텍스트는 3줄까지만 보이고, 넘치면 말줄임 처리되도록 정리했다.
+- 목표가 없는 빈 날짜에서는 `D-DAY 사용` 토글이 저장 상태와 무관하게 `OFF + 비활성`처럼 보이도록 보정했다.
- 비로그인 랜딩 카드는 상단 고정이 아니라 화면 중앙에 오도록 정렬을 수정했다.
- 현재 환경에서는 Docker 데몬이 꺼져 있어서 `docker compose build` 실검증은 하지 못했고, 데몬 시작 후 다시 확인이 필요하다.
- 이미지 저장 기능은 추후 `print-only` 또는 별도 export 전용 레이아웃을 기준으로 구현하면 화면/인쇄/공유 결과를 맞추기 쉽다.
diff --git a/package-lock.json b/package-lock.json
index 22e0822..14e8765 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,12 +1,12 @@
{
"name": "ten-minute-planner",
- "version": "0.1.38",
+ "version": "0.1.39",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "ten-minute-planner",
- "version": "0.1.38",
+ "version": "0.1.39",
"dependencies": {
"vue": "^3.5.13"
},
diff --git a/package.json b/package.json
index 67b721c..33fae47 100644
--- a/package.json
+++ b/package.json
@@ -1,7 +1,7 @@
{
"name": "ten-minute-planner",
"private": true,
- "version": "0.1.38",
+ "version": "0.1.39",
"type": "module",
"scripts": {
"dev": "vite",
diff --git a/src/App.vue b/src/App.vue
index 6b13b1b..0a8b1a7 100644
--- a/src/App.vue
+++ b/src/App.vue
@@ -212,7 +212,7 @@ function startOfDay(date) {
function buildFallbackRecord(date) {
return {
comment: '',
- goalEnabled: true,
+ goalEnabled: false,
selectedGoalId: null,
tasks: Array.from({ length: 15 }, (_, index) => ({
label: '',
@@ -363,6 +363,7 @@ const activePlannerGoals = computed(() =>
}),
)
const plannerGoal = computed(() => activePlannerGoals.value[0] ?? null)
+const plannerGoalToggleOn = computed(() => Boolean(plannerGoal.value) && planner.value.goalEnabled)
const plannerDday = computed(() => {
if (!planner.value.goalEnabled || !plannerGoal.value) {
return ''
@@ -1930,13 +1931,13 @@ onBeforeUnmount(() => {
@@ -2091,13 +2092,13 @@ onBeforeUnmount(() => {
diff --git a/src/components/MiniCalendar.vue b/src/components/MiniCalendar.vue
index 6a5b3fa..aa3bc8a 100644
--- a/src/components/MiniCalendar.vue
+++ b/src/components/MiniCalendar.vue
@@ -132,7 +132,7 @@ function selectYear(year) {
>