Flutter · 맥 반영
day_plan_appl_app에 적용한 최근 변경입니다. 맥으로 옮긴 사본에 아래 코드를 반영하세요. 둘 다 flutter analyze 통과.
증상 — 일정에 매일/매주 반복을 걸면 발생일에 안 나타남(“삭제된 것”처럼). 매월/매년은 정상.
원인 — occurrencesIn()이 매일/매주 반복을 “오늘 한 칸”에만 채우도록 돼 있었고(할일 기준), 이게 일정(onCalendar)에도 적용돼 오늘이 발생일이 아니면 아무 날짜에도 안 찍힘. 표준 조회는 반복 항목을 제외하고 발생분으로만 표시하므로 완전히 사라짐.
if (unit == 'day' || unit == 'week') {
if (t0 != null &&
!t0.isBefore(start) &&
!t0.isAfter(end) &&
occursOn(base, unit, iv, t0)) {
out.putIfAbsent(_iso(t0), () => []).add(t);
}
continue;
}if ((unit == 'day' || unit == 'week') && !t.onCalendar) {
if (t0 != null &&
!t0.isBefore(start) &&
!t0.isAfter(end) &&
occursOn(base, unit, iv, t0)) {
out.putIfAbsent(_iso(t0), () => []).add(t);
}
continue;
}폰 편집기 신규 추가 시 상단에 할일 / 일정 / 기록 선택 칩을 추가. 선택하면 그 유형의 폼으로 전환됩니다. 선택기는 할일·일정·기록 모든 유형에 노출(_buildTodo·_buildEventRecord 둘 다 — 아래 B·C).
동작 — kind만 바꾸면 build()가 해당 폼(_buildTodo / _buildEventRecord)으로 전환. 제목·메모는 컨트롤러(_title/_note)라 자동 보존. 기존 ‘일정만/기록만’ 버튼은 선택기로 대체(삭제). 저장은 _saveByKind()가 처리하므로 _saveEventOnly/_saveRecordOnly는 삭제.