PROD: обновить карточки проектов - #363
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Переносит на PROD финальную проверенную реализацию карточек DEV #357–#362: единый дизайн Dashboard/полных списков, независимые lifecycle и роль, безопасный текст доступа и CTA «Открыть» → detail. Это выборочный перенос конечного состояния, без DEV merge commits и промежуточных вариантов.
Точные ревизии
3890ee6ccb84bf92d215ea32b4316e3f52f1d404.b8b1fcee375d9ac97edcf268a6671649d2f4cd50.683da4b9b30334bab4bd6c7a1afea3ddc91fe9ad.918e30d54b3240078f8dda43c0fbc5761c011ae61b92bf0e8e05f1edd906195770ca8fa46ab8d95aec822d13b4f55b0718335ac7f0f9e64d69ed05da358e818c7ebd8b7d5916e56167a402e2848177d669b37d12000b22fd09b77b5a35d95812bf6fbda5683da4b9b30334bab4bd6c7a1afea3ddc91fe9adПоведение и контракт
Project.leaderотносительноProfileInfoService.profile()?.id. Участник и лидер сданного проекта видят «только просмотр»; неизвестныйisSubmittedтакже не обещает редактирование.AppRoutes.projects.detail(id), без прямой ссылки в edit, вложенных интерактивных элементов и двойной навигации.Нужен связанный backend Draft PR #749, port DEV #748:
partner_program: {id, name, program_link_id, program_id, is_submitted}либоnull. Реальный CamelcaseInterceptor преобразует его вpartnerProgram.isSubmitted. HTTP contract test проводит сокращённый ответ через interceptor, API, adapter, repository и use case до настоящей карточки; сданный проект получает «Сдан в программу / Лидер / только просмотр». PROD detail и его правила доступа сохранены. При будущей поставке backend-контракт разворачивается первым после отдельного согласования.20 выбранных файлов кода/тестов побайтово совпадают с финальным DEV source. Перед переносом сравнены с PROD: исходное отличие в этих файлах ограничивалось порядком двух SCSS-свойств. Остальные различия DEV/PROD не переносятся. Изменённые области: InfoCard, Dashboard/DashboardItem, ProjectsList, сетка проектов и контейнер карточек ProgramList; дополнительно документация, два скриншота и JSON замеров (24 файла всего).
React, DEV, editor/detail runtime, зависимости, lockfile, test harness и workflows не изменены.
pool: forksуже находится в PROD master и этим PR не меняется.Реальные проверки
Среда: Node 20.20.2, npm 10.8.2, чистый
npm ci— exit 0.npm run test:ci -- projects/social_platform/src/app/ui/widgets/info-card projects/social_platform/src/app/ui/pages/projects/list projects/social_platform/src/app/ui/pages/projects/dashboard projects/social_platform/src/app/ui/pages/program/detail/list/list.component.spec.ts projects/core/src/lib/interceptors/camelcase.interceptor.spec.ts.npm run test:ci: 1806/1806, 379 файлов, exit 0; NG0401 и unhandled errors в этом запуске нет.npm run format:check: exit 0.npm run lint:ts: exit 0, 6 существующих warnings вне diff.npx stylelint projects/social_platform/src/app/ui/widgets/info-card/info-card.component.scss projects/social_platform/src/app/ui/pages/projects/**/*.scss— exit 0.npm run build:prod: exit 0, существующие Angular/Sass/CommonJS warnings вне diff.git diff --check: exit 0.Браузерный smoke настоящих компонентов с локальными фикстурами: восемь lifecycle/role состояний, Dashboard, полные my/subscriptions/all, длинные строки при 1440/390/320 px. Все карточки 156 × 180, аватары 70 × 70, горизонтального overflow нет. Tab показывает рамку 2 px, Enter открывает detail-placeholder проекта. Console: 0 ошибок; есть NG0912 в preview из-за двух IconComponent. Подписки/приглашения дополнительно проверены DOM-тестами.
Это локальный TestBed preview, без пользовательских данных и обращений к DEV/PROD. Авторизованная live-проверка остаётся для отдельно согласованного deploy.
Скриншоты и точные замеры находятся в
docs/prod-project-cards/; описание порта —docs/prod-project-card-port.md.Это Draft PR. Merge/deploy не выполнялись.