5.0 KiB
5.0 KiB
Why
Сейчас профиль и транзакции — это две отдельные страницы (/profile и /transactions), между которыми нужно переключаться через общую навигацию. Профиль показывает все свои блоки (данные, безопасность, мнемоника) одним длинным скроллом. Объединение их в единый раздел с боковым меню даёт пользователю одну точку входа в «личный кабинет», убирает длинный скролл и делает транзакции равноправным пунктом наряду с настройками профиля.
What Changes
- Страница профиля превращается в layout «личного кабинета»: слева колонка ~25% (меню), справа колонка ~75% (контент активного пункта).
- В левой колонке сверху всегда закреплён блок
ProfileSummary(аватар + сводка), под ним — список пунктов меню. - Существующие блоки профиля становятся пунктами меню и показываются в правой колонке по клику:
- Данные профиля (
ProfileDetails) — пункт по умолчанию. - Безопасность (
SecuritySection). - Мнемоническая фраза (
MnemonicSection).
- Данные профиля (
- Транзакции добавляются как ещё один пункт меню; в правой колонке рендерится содержимое бывшей
TransactionsPage(список транзакций + табы «Транзакции / Заявки» для юр. лиц). - Навигация между пунктами — через отдельные вложенные URL (
/profile/details,/profile/security,/profile/mnemonic,/profile/transactions). Работают кнопка «Назад» и прямые ссылки. /profileредиректит на пункт по умолчанию (/profile/details).- BREAKING: старый маршрут
/transactionsредиректит на/profile/transactions; отдельная страница транзакций в навигации больше не используется как самостоятельная. KycBannerотображается над контентом в правой колонке.- Пока данные активного пункта загружаются, в правой колонке показывается индикатор загрузки (переиспользуется
Spinnerиз@shared/ui/Spinner); меню остаётся доступным. - Адаптив: на узких экранах (<1024px) меню и контент схлопываются в одну колонку, сохраняя текущее мобильное поведение профиля.
Capabilities
New Capabilities
profile-dashboard: единый раздел личного кабинета с боковым меню (25/75), вложенной маршрутизацией по пунктам, закреплённой сводкой профиля, интеграцией транзакций как пункта меню и состоянием загрузки контента.
Modified Capabilities
Impact
- pages:
pages/profile(переработкаProfilePageв layout с<Outlet/>или переключателем пунктов),pages/transactions(контент переезжает в пункт меню; маршрут редиректится). - widgets:
widgets/profile(новый виджет бокового меню / навигации;ProfileSummary,ProfileDetails,SecuritySection,MnemonicSection,KycBannerпереиспользуются),widgets/transactions-list,widgets/purchase-requests-list(переиспользуются как контент пункта). - shared:
shared/config/routes.ts— новые вложенные маршруты профиля и редирект со старого/transactions;shared/ui/Spinner— переиспользуется. - app:
app/providers/RouterProvider.tsx— описание вложенных маршрутов подProtectedRoute, согласование сWalletLayout(профиль сейчас рендерит собственныйWalletHeader, а транзакции живут внутриWalletLayout— нужно унифицировать обёртку). - Тестового раннера нет — проверка через
npm run build(tsc) и ручной прогон.