Skip to content

feat: кабинет эксперта с реальными проектами к оценке - #502

Merged
TThanos3000 merged 2 commits into
devfrom
feat/dev-expert-cabinet-20261024
Oct 24, 2026
Merged

TThanos3000 merged 2 commits into
devfrom
feat/dev-expert-cabinet-20261024

Conversation

@TThanos3000

@TThanos3000 TThanos3000 commented Oct 24, 2026 •

Copy link
Copy Markdown
Contributor

Что изменено

В меню появился «Кабинет эксперта». По умолчанию он показывает проекты, которые осталось оценить, по программам. Оцененные проекты и приглашения вынесены отдельно. Каждый проект открывает существующую форму оценки; из нее можно вернуться с сохранением вкладки, поиска, программы и страницы.

Зачем

Макет проверен по реальному коду: убраны придуманные частичные оценки, продолжение черновика и выбор неназначенного проекта. Дизайн: https://www.figma.com/design/tvog0fpEgWgEtr7KUTjbyE?node-id=959-4431.

Реализация

Angular/use-case/repository/HTTP adapter используют read projection собственных назначений. Поиск с debounce 250 ms, фильтр программы, страницы по 20 и состояние в URL. Устаревшие запросы отменяются, данные изолированы по аккаунтам. Сохранены подтверждение приглашения, обработка ошибок и обновление профиля. Навигационный returnUrl исключен из полей программы; обратная ссылка использует проверенный локальный UrlTree.

API

Зависит от backend PR PROCOLLAB-github/api#820. Его нужно выложить первым. include=projects дополняет прежний evaluation/programs endpoint; старый summary contract не меняется. Запись оценки и принятие приглашения используют существующие endpoints и payloads.

UI

Проверены все 13 экранов Figma, 387 текстовых узлов. Используются существующие Button/Field/Modal/Avatar и Mont; кнопки 32 px, центрированные модалки. Стрелка select — существующая тонкая иконка UI kit (Figma asset URL вернул HTTP 202 без содержимого). Различаются loading, error/401, no-access, no-assignments, unavailable, all-completed, no-results и invitations. Название настройки критериев «Оценивание» не менялось.

Permissions

Новых прав нет. UI использует серверные canRate/blockedReason; просроченные назначения нельзя открыть для новой оценки, сохраненные оценки доступны для просмотра. Ограничения формы и server submit не менялись. Кабинет не показывает чужие назначения.

Проверки

  • Checked by source: текущие назначения, whole-form submit, сроки, invitation lifecycle, deep links, menu guards.
  • Checked by tests: 53 targeted tests passed в 8 файлах; затем весь frontend suite: 452 files, 2462 tests passed на текущей ветке после merge актуального dev.
  • Checked by build: npm run build:pr passed.
  • ESLint — 0 errors, 6 existing warnings; Prettier 15 измененных TS/HTML Git blobs (точные LF sources Linux CI; Windows CRLF working tree дает baseline warnings); Stylelint измененного SCSS — passed.
  • Checked in browser: реальные Angular + Django + изолированный PostgreSQL, 28 синтетических назначений; 1440/390/360 px, paging 20, поиск/reset, программа, 4 completed, проект по deep link, возврат с вкладкой, invitation modal.
  • Browser geometry: без горизонтального overflow, Mont, кнопки 32 px; runtime/server errors отсутствуют. Проверены screenshots.
  • git diff --check; diff пересверен с актуальным dev. Чужие изменения certificate сохранены через обычный merge dev.

Acceptance criteria

  • AC1–AC3: только реальные назначения и реальные правила завершенности/доступности; подтверждены API tests и source audit (backend PR).
  • AC4: поиск, программа, paging 20 и global counters — tests + browser.
  • AC5: подтверждение приглашения, ошибки, одноразовая отправка, refresh profile — tests + browser modal.
  • AC6: самостоятельные empty/error/loading состояния, отсутствие ложного нулевого успеха при старом API — tests.
  • AC7: URL state, cancellation, account switch — tests; реальный переход/возврат — browser.
  • AC8: desktop/mobile, thin buttons, centered modal, no overflow, no invented states — Figma audit + browser screenshots.

Не проверено

Пользовательская DEV-сессия конкретного эксперта и реальное email delivery; браузерная проверка использует изолированную БД и синтетические аккаунты. DEV workflow успешно завершен на cc16cad1ba1a4a2b8757879ae0ff1652c33fc26e: format, lint, 2462 tests, build и публикация. Опубликованные frontend assets повторно проверены в браузере с изолированным API на 1440/390/360; runtime/server errors отсутствуют.

Риски / migration

Сначала backend PR 820, затем этот frontend. Старый API показывает ошибку загрузки вместо пустого успешного кабинета. Новых зависимостей, миграций и изменений бизнес-правил нет. Production вне scope.

@TThanos3000
TThanos3000 merged commit cc16cad into dev Oct 24, 2026
@TThanos3000
TThanos3000 deleted the feat/dev-expert-cabinet-20261024 branch October 24, 2026 14:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants