Skip to content

[FIX] 투두 툴바 서브태스크 아이콘 표시 오류 및 드래그 리스트 자동 스크롤 수정#277

Merged
kimminna merged 3 commits into
developfrom
fix/web/276-todo-subtask-indicator
Jul 17, 2026
Merged

[FIX] 투두 툴바 서브태스크 아이콘 표시 오류 및 드래그 리스트 자동 스크롤 수정#277
kimminna merged 3 commits into
developfrom
fix/web/276-todo-subtask-indicator

Conversation

@kimminna

Copy link
Copy Markdown
Member

ISSUE 🔗

close #276



What is this PR? 🔍

투두 툴바에서 서브태스크 유무 아이콘이 실제로는 메모 입력 여부로 표시되던 문제를 수정하고, 투두 리스트 드래그 정렬 시 자동 스크롤이 동작하지 않던 문제를 수정했습니다.

배경

  • 기존 구조: TodoToolbarhasMemo prop이 아이콘 표시 여부를 결정했지만, 실제로는 서브태스크 유무를 나타내기 위한 아이콘이었습니다.
  • 발생 문제: 생성/상세 모달에서 hasMemo가 메모 텍스트 존재 여부로 계산되어 전달되면서, 서브태스크가 있어도 아이콘이 켜지지 않는 등 아이콘과 실제 데이터가 어긋났습니다.
  • 해결 방향: prop 이름을 hasSubTask로 변경하고, 각 호출부에서 서브태스크 입력 존재 여부를 기준으로 값을 계산하도록 수정했습니다.

투두 툴바 서브태스크 아이콘

  • 변경 요약: TodoToolbarhasMemo prop을 hasSubTask로 변경하고, 생성/상세 모달·오늘 화면 카드에서 서브태스크 존재 여부 기준으로 값을 전달하도록 수정했습니다.
  • 이유: prop 이름과 실제 표시 의미(서브태스크 유무)가 불일치해 메모만 비운 채 서브태스크만 입력한 경우 아이콘이 꺼진 상태로 보였습니다.
  • 구현 방식: CreateTodoModalContentDetailTodoModalContent에서 각각 subtaskField.subtaskInputs / detailTodoForm.subtaskInputs를 순회해 값이 있는 입력이 하나라도 있는지(.some(...))로 hasSubTask를 계산합니다. TodayTodoCard는 이미 계산된 toolbar.hasSubtask를 이름이 바뀐 prop으로 그대로 전달하도록만 수정했습니다.

투두 리스트 드래그 자동 스크롤

  • 변경 요약: DndSortableListProviderDndContextautoScroll={{ threshold: { x: 0, y: 0.2 } }} 옵션을 추가했습니다.
  • 이유: 세로 리스트를 드래그해 순서를 바꿀 때 리스트 끝 근처에서 스크롤이 되지 않아 화면 밖 위치로 이동시키기 어려웠습니다.
  • 구현 방식: 가로 방향 임계값은 0으로 두고 세로 방향(y)만 0.2 임계값으로 자동 스크롤이 트리거되도록 설정해, 세로 정렬 전용 리스트의 스크롤 동작만 켰습니다.



To Reviewers

hasSubTask 계산에 .some()을 쓴 방식이 기존 서브태스크 데이터 구조와 맞는지 확인 부탁드립니다.
autoScroll의 y 임계값(0.2)은 초기값으로 넣었으며, 실제 스크롤 체감이 다르면 조정이 필요할 수 있습니다.

Screenshot 📷



Test Checklist ✔

  • pnpm check-types 통과
  • pnpm lint 통과
  • 서브태스크만 입력 후 아이콘 활성화 확인 — 미실행: 로컬 브라우저 확인 예정
  • 드래그 자동 스크롤 동작 확인 — 미실행: 로컬 브라우저 확인 예정

kimminna added 3 commits July 18, 2026 03:20
- 아이콘이 나타내는 실제 의미(서브태스크 유무)에 맞게 prop 이름을 hasSubTask로 수정했습니다
- 생성/상세 모달에서 hasSubTask 값을 메모가 아닌 서브태스크 입력 존재 여부로 계산하도록 수정했습니다
- 오늘 화면 투두 카드에서도 이름이 바뀐 hasSubTask prop을 그대로 전달하도록 수정했습니다
- 세로 정렬 드래그 중 리스트 끝 근처에서 자동 스크롤되도록 autoScroll 옵션을 추가했습니다
@vercel

vercel Bot commented Jul 17, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
timo Ready Ready Preview, Comment Jul 17, 2026 6:28pm

Request Review

@github-actions github-actions Bot added ⏰ Timo-web Timo 웹 서비스 ⌚ Timo-Design-system Timo 디자인 시스템 🐛 Bug 기능이 정상적으로 작동하지 않는 문제 수정 ♦️ 민아 민아상 labels Jul 17, 2026
@github-actions

Copy link
Copy Markdown

Storybook Preview

항목 링크
Storybook 열기
Chromatic 빌드 확인

마지막 업데이트: 2026-07-17 18:27 UTC

@coderabbitai

coderabbitai Bot commented Jul 17, 2026

Copy link
Copy Markdown

Review Change Stack

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro

Run ID: 53cd5629-5511-4775-a344-c77806eab026

📥 Commits

Reviewing files that changed from the base of the PR and between 26c6f7c and fee9251.

📒 Files selected for processing (5)
  • apps/timo-web/app/[locale]/(main)/(with-time-sidebar)/today/_components/TodayTodoCard.tsx
  • apps/timo-web/components/todo-modal/create/CreateTodoModalContent.tsx
  • apps/timo-web/components/todo-modal/detail/DetailTodoModalContent.tsx
  • apps/timo-web/providers/dnd/DndSortableListProvider.tsx
  • packages/timo-design-system/src/components/todo/todo-toolbar/TodoToolbar.tsx

Walkthrough

TodoToolbar의 메모 기반 플래그를 서브태스크 기반 플래그로 변경하고, 드래그 중 리스트 끝부분의 자동 스크롤 threshold를 설정했습니다.

Changes

투두 툴바 서브태스크 표시

Layer / File(s) Summary
서브태스크 표시 계약 및 연결
packages/timo-design-system/.../TodoToolbar.tsx, apps/timo-web/.../TodayTodoCard.tsx, apps/timo-web/components/todo-modal/{create,detail}/*
hasMemohasSubTask로 교체하고, 서브태스크 입력값의 trim 결과를 기준으로 아이콘을 표시하도록 변경했습니다.

드래그 자동 스크롤

Layer / File(s) Summary
드래그 자동 스크롤 설정
apps/timo-web/providers/dnd/DndSortableListProvider.tsx
DndContextautoScroll과 세로 threshold 0.2를 추가했습니다.

Estimated code review effort: 2 (Simple) | ~10 minutes

Possibly related PRs

Suggested labels: 🚬 QA

Suggested reviewers: ehye1, jjangminii

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/web/276-todo-subtask-indicator

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@kimminna
kimminna merged commit cd4310f into develop Jul 17, 2026
18 of 19 checks passed
@kimminna
kimminna deleted the fix/web/276-todo-subtask-indicator branch July 17, 2026 18:28
@kimminna kimminna mentioned this pull request Jul 17, 2026
@github-actions

Copy link
Copy Markdown

Timo Performance Report

Bundle Size — timo-web
라우트 크기 First Load JS
/[locale]/home 274.83 kB 🔴 480.64 kB
/[locale]/today 259.01 kB 🔴 464.82 kB
/[locale]/focus 221.61 kB 🔴 427.43 kB
/[locale]/settings 228.52 kB 🔴 434.33 kB
/[locale]/statistics 210.20 kB 🔴 416.02 kB
/[locale]/[...rest] 0 B 🟡 205.82 kB
/[locale]/login 281.84 kB 🔴 487.65 kB
/[locale]/oauth/calendar/callback 120.93 kB 🟡 326.75 kB
/[locale]/oauth/callback 120.60 kB 🟡 326.41 kB
/[locale]/onboarding 294.32 kB 🔴 500.13 kB
/[locale] 119.91 kB 🟡 325.73 kB
/[locale]/policy 120.88 kB 🟡 326.70 kB
/robots.txt/route 0 B 🟡 205.82 kB
/sitemap.xml/route 0 B 🟡 205.82 kB

공유 번들: 205.82 kB
🟢 < 200kB  |  🟡 < 350kB  |  🔴 ≥ 350kB (First Load JS · gzip)

Lighthouse — timo-web
URL Perf A11y LCP CLS TBT
/en/home 🔴 60 🟢 96 🔴 16.3s 🟢 0.000 🟡 553ms
/en/today 🔴 60 🟢 96 🔴 16.1s 🟢 0.000 🟡 556ms
/en/focus 🔴 63 🟢 96 🔴 16.1s 🟢 0.000 🟡 433ms
/en/statistics 🔴 60 🟢 96 🔴 16.0s 🟢 0.000 🟡 540ms

Perf ≥ 70 / A11y ≥ 85 목표
LCP 🟢 < 2.5s 🟡 < 4s 🔴 ≥ 4s  |  CLS 🟢 < 0.1 🟡 < 0.25 🔴 ≥ 0.25  |  TBT 🟢 < 200ms 🟡 < 600ms 🔴 ≥ 600ms

Image Optimization — timo-web
파일 크기 포맷 상태
favicon.png 27.84 kB PNG ⚠️ 🟢
images/google-calendar.png 36.20 kB PNG ⚠️ 🟢
images/google-logo.png 26.79 kB PNG ⚠️ 🟢
og.png 437.44 kB PNG ⚠️ 🟡

총 4개 · 528.28 kB  |  🟢 < 200KB  |  🟡 < 500KB  |  🔴 ≥ 500KB
⚠️ 4개 파일 WebP/AVIF 변환 권장

측정 커밋: c807482

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

⌚ Timo-Design-system Timo 디자인 시스템 ⏰ Timo-web Timo 웹 서비스 ♦️ 민아 민아상 🐛 Bug 기능이 정상적으로 작동하지 않는 문제 수정

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[FIX] 투두 툴바 서브태스크 아이콘 표시 오류 및 드래그 리스트 자동 스크롤 수정

2 participants