본문으로 건너뛰기
Centralby 디자인 시스템

패턴

첫 가져오기 진행

스켈레톤 3행 → 도착하는 대로 표시 → 날짜로 진행 → 일부 실패해도 받은 것은 유지 → 떠나도 계속. 알림은 상태 변화만.

흐름

기다리게 하지 않는다. 받은 것은 버리지 않는다. 떠나도 계속된다.

  1. 처음엔 스켈레톤 3행 — 빈 상태와 다른 모양이다.
  2. 첫 배치가 오면 위에서부터 행을 추가한다. 스크롤한 뒤에는 “새 기록 N개” 칩으로 바꾼다.
  3. 진행은 퍼센트가 아니라 날짜: “10월 3일까지 읽음”.
  4. 일부가 실패하면 partial 고정 행(failedRange)을 띄우고 받은 결과는 유지한다.
  5. 떠나도 계속된다. 돌아오면 서버 단계를 바로 그리고 순 변화만 한 번 알린다.

단계별 조합

실제 컴포넌트: ImportProgress + 목록 + 일부 실패 행 + 새 기록 칩

가져오기

10월 3일까지 읽음

다른 화면으로 가도 계속 읽어요.

Google Calendar

  • 주간 계획 회의Google Calendar · 10/14
  • 출시 일정 조율Google Calendar · 10/09
  • Q4 로드맵 싱크Google Calendar · 10/07
단계는 서버 값이다(로컬 저장소 아님, 기기마다 같다). 다시 불러와도 받은 행은 유지되고 Skeleton으로 돌아가지 않는다.

알림 정책

  • 이렇게role="status" 공유 리전 하나로, 상태 변화만: 시작 · 첫 결과 · 일부 실패 · 완료. 10초에 최대 1회. 완료·일부 실패는 버리지 않고 창이 열릴 때까지 미룬다.
  • 이렇게 하지 않기행 추가마다 알리지 않는다. 목록은 aria-busy, 초점은 움직이지 않는다.
돌아왔을 때 알림 (returnAnnouncement)
떠날 때지금알림
runningrunning—
runningpartialpartial
first-resultsdonedone
startingrunning—

문구

가져오기 문구
자리koenzh-Hanses
진행10월 3일까지 읽음Scanned back to Oct 3已读取至10月3日Leído hasta el 3 oct
보조 줄다른 화면으로 가도 계속 읽어요.Keeps going if you leave.离开此页也会继续。Sigue aunque salgas.
일부 실패9월 21–25일 일정을 읽지 못했어요. 받은 {n}개는 그대로 있어요.Couldn’t read Sep 21–25. The {n} we got are kept.9月21–25日的日程未能读取,已获取的{n}条仍保留。No pudimos leer 21–25 sep. Los {n} recibidos se conservan.
결과 0건지난 30일을 모두 읽었지만 가져올 일정이 없었어요.Scanned all 30 days. No events to bring in.已读完过去30天,没有可导入的日程。Leímos los 30 días. No hay eventos para traer.

날짜를 모르면(failedRange가 없거나 잘못됐으면) 날짜를 추측하지 않고 “일부 기간”으로 쓴다.

근거 문서: DIRECTION.md §1.1 §3 · round-2/kenji.md §2 · round-2/priya.md §2 · contracts/README.md §9 · src/design/logic/import-progress.ts · round-2/wei-ting.md §3