Личный кабинет B2B на React: заявки, роли, фильтры

SPA под API: заявки, роли и фильтры — чужие карточки не открываются даже прямым URL.

Стек RBAC, React, REST API, TypeScript

Я делал личный кабинет на React для B2B-клиентов: заявки, статусы, файлы, фильтры по периоду и ответственному. Рядом — экран оператора. Не шаблон из админки, а SPA под API.

Я собрал маршруты и состояние: список → карточка → комментарии. Роли (клиент / менеджер / наблюдатель) режут и меню, и запросы: чужие заявки не открываются прямым URL. Таблицу виртуализировал, поиск и сохранённые фильтры — без перезагрузки.

Я написал загрузку вложений с прогрессом, ретраи на 401/сеть, оптимистичные статусы с откатом, если API отклонил переход. Адаптив: на мобиле — карточки вместо широкой таблицы.

Стек: React, TypeScript, React Router, TanStack Query, REST. NDA: сервис не публикуется.