Files
specs/openspec/changes/archive/2026-08-27-replace-loading-spinners-with-skeletons/tasks.md
T

8.6 KiB
Raw Blame History

1. App-level loading boundaries

  • 1.1 [frontend] Заменить route Suspense fallbacks на structural skeleton variants для public auth routes, ещё не загруженного application shell и content area внутри уже доступного shell.
    • Covers: frontend-loading-presentation — Представление загрузки маршрута и восстановления сессии
    • Verification: Route UI tests подтверждают подходящий skeleton fallback и сохранение уже отрисованного shell без проверки внутренней DOM-разметки Mantine.
  • 1.2 [frontend] Показывать neutral shell skeleton в public и protected auth guards до ready, сохранив существующие session decisions и redirects после bootstrap.
    • Covers: frontend-loading-presentation — Представление загрузки маршрута и восстановления сессии
    • Verification: Auth/route tests подтверждают отсутствие public и protected route content до ready и прежние redirects для authenticated и unauthenticated outcomes.

2. Content loading presentation

  • 2.1 [frontend] Реализовать page-owned initial skeleton views для Accounts и Portfolio с layout regions, соответствующими их loaded headings, cards, summaries и sections.
    • Covers: frontend-loading-presentation — Структурные placeholders для загрузки содержимого
    • Verification: Page UI tests подтверждают accessible busy state, отсутствие primary spinner/fake content/focus targets и сохранение существующих error, empty и loaded outcomes.
  • 2.2 [frontend] Реализовать page-owned initial skeleton views для Operations и Events с формой ожидаемых filters и rows, не меняя их ViewModel или request flow.
    • Covers: frontend-loading-presentation — Структурные placeholders для загрузки содержимого
    • Verification: Page UI tests подтверждают structural skeleton только при отсутствии результата и прежний переход к error, empty и loaded views.
  • 2.3 [frontend] Заменить loading-текст в recent operations, recent events и T-Bank connection на section-owned skeletons, ограниченные незагруженным блоком.
    • Covers: frontend-loading-presentation — Структурные placeholders для загрузки содержимого
    • Verification: Section UI tests подтверждают, что skeleton занимает только ожидающий блок, соседний page context остаётся видимым, а placeholders не интерактивны.
  • 2.4 [frontend] Удалить generic spinner-loading mode из StateView после миграции consumers и сохранить Button loading и локальные refresh indicators для pending mutations и Client Cached Snapshot.
    • Covers: frontend-loading-presentation — Контекстная индикация действий и фонового обновления
    • Verification: UI tests подтверждают сохранение controls или cached content вместе с compact progress и отсутствие skeleton replacement в mutation/refetch states.
  • 2.5 [frontend] Обновить frontend UI pattern documentation в соответствии с реализованной границей initial/partial skeleton versus contextual progress.
    • Covers: frontend-loading-presentation — Структурные placeholders для загрузки содержимого; frontend-loading-presentation — Контекстная индикация действий и фонового обновления
    • Verification: frontend/docs/UI-PATTERN.md описывает фактическое ownership loading views и не меняет data/auth/router semantics.

3. Affected repository delivery

  • 3.1 [frontend] Выполнить canonical frontend gate и scoped responsive/accessibility review всех новых app, page и section skeleton states.
    • Covers: N/A — canonical gate и presentation review подтверждают delivery утверждённого frontend Design, но не вводят самостоятельное observable behavior.
    • Verification: Под Node 22 выполнить npm run verify в frontend; проверить narrow и wide layouts, busy semantics, keyboard focus и rollback-safe auth bootstrap fallback.
  • 3.2 [docs] Обновить as-built system overview и затронутые authentication, accounts и Portfolio feature docs, описав поставленное различие structural skeleton и contextual progress.
    • Covers: frontend-loading-presentation — Структурные placeholders для загрузки содержимого; frontend-loading-presentation — Представление загрузки маршрута и восстановления сессии; frontend-loading-presentation — Контекстная индикация действий и фонового обновления
    • Verification: Affected docs описывают только фактический пользовательский flow, сохраняют локальные ссылки и не копируют Proposal, Delta Specs, Design или Tasks.
  • 3.3 [docs] Выполнить canonical docs gate после as-built updates.
    • Covers: N/A — non-mutating docs gate проверяет affected delivery area и не добавляет новое product behavior.
    • Verification: Под Node 22 выполнить npm run verify в docs.
  • 3.4 [specs] Сверить завершённую реализацию и отмеченные Tasks с каждым Requirement canonical delta, сохранив approved semantics либо маршрутизировав semantic mismatch обратно в Specification.
    • Covers: frontend-loading-presentation — Структурные placeholders для загрузки содержимого; frontend-loading-presentation — Представление загрузки маршрута и восстановления сессии; frontend-loading-presentation — Контекстная индикация действий и фонового обновления
    • Verification: Requirement-by-requirement comparison не оставляет unchecked implementation scope или behavior, отсутствующее в approved artifacts.
  • 3.5 [specs] Выполнить native strict validation change и canonical main specs.
    • Covers: N/A — structural validation является canonical gate affected specs repository, а не самостоятельным пользовательским behavior.
    • Verification: Выполнить openspec validate replace-loading-spinners-with-skeletons --type change --strict --store wealth-ledger-specs и openspec validate --specs --strict --store wealth-ledger-specs.

4. Cross-area verification

  • 4.1 [workspace] Семантически проверить frontend и docs delivery против Proposal, Delta Specs, Design и полного Tasks checklist после успешных affected-area gates.
    • Covers: N/A — cross-repository semantic verification сопоставляет уже утверждённый scope и delivery, не владея implementation ни одной repository area.
    • Verification: Зафиксирована requirement-by-requirement проверка initial/partial, route/auth и contextual-progress behavior без незапланированных отклонений.
  • 4.2 [workspace] Провести независимый read-only review завершённого change после semantic verification.
    • Covers: N/A — independent review является обязательной cross-area completion проверкой и не создаёт product behavior или repository-owned implementation.
    • Verification: Review охватывает implementation, canonical artifacts, accessibility, rollback boundary и affected docs; Critical и Important findings отсутствуют либо change возвращён в ответственную фазу.