Repository navigation
할 일 탭 — 반복 일정 날짜와 키보드 (1.5.1) - #44
Merged
Merged
Conversation
할 일 탭에서 나온 것 둘. 기능이 는 게 아니라 버그 수정뿐이라 1.5.1 (빌드 10). 반복 일정이 원본 시작일을 달고 있었다. 정렬은 처음부터 다음 회차를 보고 있었는데 (TodoListPage.keyDate) 행에 찍히는 글자만 원본이라, 맨 위에 선 것이 가장 오래된 날짜를 달고 있는 꼴이었다 — 2년 전에 만든 매주 회의가 "3월 5일"로 보인다. 그게 할 날인지 만든 날인지 알 수가 없다. 체크할 회차(occurrenceDate)와 보여줄 날짜(displayDate)를 갈랐다. 앞날 회차를 미리 체크할 일은 없지만 날짜는 보여줘야 한다. '지난 할 일' 칸은 그대로 둔다 — 거기서는 "언제였는지"가 요점이고, 다음 회차를 찍으면 지난 칸에 앞날 날짜가 선다. 키보드는 달력에서 쓰던 수식어를 그대로 복사해 둔 게 문제였다. 달력은 격자가 고정이라 ignoresSafeArea(.keyboard)가 맞지만 할 일 탭은 스크롤 목록이다. 목록이 키보드 뒤로 깔려서 가려진 행을 스크롤로도 못 꺼냈고, 내릴 길도 없었다. 목록을 줄이고 입력창만 위에 앉게 되돌린 뒤 scrollDismissesKeyboard(.interactively)를 붙였다. 판정은 Shared/TodoListPage.displayDate에 두고 테스트 다섯을 묶었다. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
할 일 탭에서 나온 것 둘. 기능이 는 게 아니라 버그 수정뿐이라 **1.5.1 (빌드 10)**로 올렸다.
1. 반복 일정이 만든 날짜를 달고 있었다
2년 전에 만든 매주 회의가 "3월 5일"로 보인다. 그게 할 날인지 만든 날인지 알 수가 없다.
이상한 건 정렬은 처음부터 맞았다는 점이다.
TodoListPage.keyDate가 앞날 묶음에서는 다음 회차를 보고 있었고, 거기 주석에도 "반복 일정을 원본 시작일로 세우면 2년 전에 만든 매주 회의가 영영 맨 위에 붙는다"고 적혀 있었다. 순서는 다음 회차, 글자는 원본 — 둘이 어긋나 있었으니 오히려 더 헷갈렸다. 맨 위에 선 것이 가장 오래된 날짜를 달고 있는 꼴이다.고치면서 두 값을 갈랐다.
occurrenceDate— 어느 회차를 체크하느냐. 오늘 칸에만 넘긴다. 앞날 회차를 미리 체크할 일은 없다.displayDate— 어느 날짜를 보여주느냐. 오늘·이번 주·나중 칸의 반복 일정에 다음 회차를 넘긴다.'지난 할 일' 칸은 건드리지 않았다. 거기서는 "언제였는지"가 요점이고, 다음 회차를 찍으면 지난 칸에 앞날 날짜가 서는 꼴이 된다. '날짜 없음'도 마찬가지로 둔다.
여러 날짜리 반복은 끝날도 같은 만큼 민다 — 기간 길이가 변하면 안 된다.
2. 키보드
달력에서 쓰던 수식어를 그대로 복사해 둔 게 문제였다.
달력은 격자가 고정이라 이게 맞다. 없으면 칸 높이가 키보드만큼 줄어 통째로 찌그러진다. 그런데 할 일 탭은 스크롤 목록이다. 키보드를 무시하니 목록이 그 뒤로 깔려서, 가려진 행을 스크롤로도 꺼낼 수 없었다 — 적는 동안 방금 적은 것이 어디 갔는지 알 수가 없다.
수식어를 걷어서 목록이 줄고 입력창만 키보드 위에 앉게 되돌렸다. 그리고 내릴 길이 아예 없었다(달력에는 눌러서·쓸어내려서 내리는 처리가 있는데 이 탭에는 아무것도 없어서, 보내기를 누르거나 탭을 옮기는 수밖에 없었다). 목록에는
.scrollDismissesKeyboard(.interactively)를 붙였다 — 손가락을 따라 같이 내려간다.달력처럼 탭으로 내리는 처리는 안 넣었다. 목록에서는 누르는 자리마다 할 일이 있어서, 키보드를 내리려는 손짓이 편집 시트를 여는 손짓과 겹친다.
어디에 뒀나
날짜 판정은
Shared/TodoListPage.displayDate에 뒀다. 화면 안에 두면 테스트를 한 줄도 쓸 수 없고, 이건 틀렸을 때 엉뚱한 날짜가 보인다로만 나타나는 종류라 눈으로 잡기 어렵다. 테스트 다섯을 묶었다 — 반복이 아닐 때, 앞날 반복, 오늘 칸, 지난 칸, 날짜 없음 칸.확인한 것
App스킴 빌드·테스트 통과tools/artifact_check.sh통과 (1.5.1 / 빌드 10, 네 곳 일치)DesignSystem/README.md와docs/STORE.md에 결정과 1.5.1 릴리스 노트(3개 언어)를 적었다안 한 것
실기기에서 눈으로 보지 않았다. 키보드 동작은 테스트로 묶을 수 있는 종류가 아니라, 올리기 전에 한 번 만져보는 편이 안전하다. 특히 입력창이 키보드를 따라 올라가는 모양과, 목록을 쓸어내릴 때 키보드가 따라 내려가는 느낌.
🤖 Generated with Claude Code