Аудит main/audits/2026-10-19-code-quality-architecture/04-refactoring-plan.md, пункт 16 (CQ-025): src/app/routes/AppRoutes/AppRoutes.tsx (260 строк) содержит 16 одинаковых блоков lazy(async () => { const { X } = await import(...); return { default: X }; }).
Результат и scope
Один локальный хелпер lazyPage() вместо повторяющихся блоков. Маршруты, guards, fallback и code splitting (отдельный chunk на страницу) не меняются.
Acceptance Criteria
Повторяющиеся lazy-блоки заменены одним хелпером в том же файле; набор маршрутов и их guards идентичен.
Страницы остаются в отдельных chunks (dynamic import сохраняется).
npm run verify проходит.
## Проблема
Аудит `main/audits/2026-10-19-code-quality-architecture/04-refactoring-plan.md`, пункт 16 (CQ-025): `src/app/routes/AppRoutes/AppRoutes.tsx` (260 строк) содержит 16 одинаковых блоков `lazy(async () => { const { X } = await import(...); return { default: X }; })`.
## Результат и scope
Один локальный хелпер `lazyPage()` вместо повторяющихся блоков. Маршруты, guards, fallback и code splitting (отдельный chunk на страницу) не меняются.
## Acceptance Criteria
- [ ] Повторяющиеся lazy-блоки заменены одним хелпером в том же файле; набор маршрутов и их guards идентичен.
- [ ] Страницы остаются в отдельных chunks (dynamic import сохраняется).
- [ ] `npm run verify` проходит.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Проблема
Аудит
main/audits/2026-10-19-code-quality-architecture/04-refactoring-plan.md, пункт 16 (CQ-025):src/app/routes/AppRoutes/AppRoutes.tsx(260 строк) содержит 16 одинаковых блоковlazy(async () => { const { X } = await import(...); return { default: X }; }).Результат и scope
Один локальный хелпер
lazyPage()вместо повторяющихся блоков. Маршруты, guards, fallback и code splitting (отдельный chunk на страницу) не меняются.Acceptance Criteria
npm run verifyпроходит.