Skip to content

DEV: добавить модальное чтение новостей в ленте - #374

Merged
TThanos3000 merged 1 commit into
devfrom
fix/dev-feed-news-modal
Sep 23, 2026
Merged

TThanos3000 merged 1 commit into
devfrom
fix/dev-feed-news-modal

Conversation

@TThanos3000

Copy link
Copy Markdown
Contributor

В общей ленте короткие новости больше не занимают карточку высотой 420 px. Новости людей и проектов показывают компактное превью; клик, Enter, Space или «Подробнее» открывают полный текст, изображения и вложения в локальном окне поверх существующего app-modal.

База: e2c6d00dded1e026a9ec2850612ea8822f75e9e3 (DEV после #373).
Head: 258a3ea370c409877cf4673c7f7c4de55f2c3163.

Что изменено:

  • FeedNewsPreviewComponent и FeedNewsModalComponent отделены от NewsCard. Заголовок до 2 строк, описание до 3; «Подробнее» только при фактическом обрезании. Без изображения пустого media-slot нет.
  • Вместо общих 420 px высота определяется отдельно для каждого grid-ряда; порядок и CTA сохранены. Вакансия/новый проект остаются без modal.
  • Полный текст использует прежние ParseLinksPipe/ParseBreaksPipe, картинки — contain с исходными пропорциями, файлы — download-ссылки. Карусель переиспользована; исправлено чтение images().length вместо длины signal-функции.
  • Like использует единый FeedNews и прежний facade; copy делегируется onCopyLink. Дополнительного detail HTTP или view-события при открытии нет. Focus trap, Escape, backdrop и возврат фокуса проверены.

Только Angular. Backend, React, API-контракт, runtime API-слой, пагинация/category counts #372, фильтры, legacy detail/profile, shared modal, editor, dependencies, workflows и test harness не изменены. В API-каталоге добавлен только regression spec существующего UI state.

Проверки:

  • Targeted NewsCard/FeedComponent/FeedInfoService/FeedUIInfoService/modal/pagination: 48/48, 14 файлов, exit 0.
  • Обычный npm run test:ci: exit 1, известный NG0401 в setupTestBed до выполнения тестов.
  • Разрешённый fallback npm run test:ci -- --pool=forks: 1775/1775, 385 файлов, exit 0, без unhandled errors.
  • npm run lint:ts, Stylelint изменённых SCSS, Prettier изменённых файлов, npm run build:prod, git diff --check: exit 0. Pre-commit выполнен штатно.
  • Build сохраняет warning budgets/CommonJS/существующих шаблонов; новый preview stylesheet 5,32 kB при warning-пороге 2 kB, error-порог не превышен. Известный Windows glob в build:sprite генерирует пустой sprite: изменённый generated-файл восстановлен из HEAD, build scripts не менялись. Локальный dist не предназначен для deploy.

Реальная локальная browser-проверка на 1440/1280/1024/390 px: нет horizontal overflow; desktop 2 колонки, mobile 1. На 1440 высоты рядов 266,5 / 314 / 358 px, соседи и CTA выровнены. Thumbnail 120 × 67,5 px. Modal максимум 880 × 810 px, mobile 366 × 759,59 px, header остаётся видимым при прокрутке 80 абзацев. Портрет, квадрат, 4:3, 16:9 и панорама показаны целиком; пять картинок переключаются.

Полный отчёт, геометрия и все 18 скриншотов · Команды и ограничения.

До После
Лента до Лента после

Портрет, landscape, длинный текст + landscape, mobile feed, mobile modal, mobile длинный текст + портрет.

Приёмка выполнена на настоящих Angular-компонентах с синтетическим fixture-facade, без live DEV и пользовательских данных. В консоли errors нет, NG0912 присутствует на base и head. Внешнее скачивание, переходы live DEV и содержимое системного clipboard отдельно не подтверждены; делегирование действий покрыто тестами.

Draft → dev. Merge/deploy выполняет пользователь.

@TThanos3000
TThanos3000 marked this pull request as ready for review September 23, 2026 21:49
@TThanos3000
TThanos3000 merged commit 75f206d into dev Sep 23, 2026
@TThanos3000
TThanos3000 deleted the fix/dev-feed-news-modal branch September 23, 2026 21:49
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