PR #846 — IX-SIT67: update header
Ссылка: https://bitbucket.org/stevens_edu/stevens_main_nextjs/pull-requests/846 Jira (PR-задача): IX-SIT67 — update header Jira (parent / спека): https://cpcs.atlassian.net/browse/ICUS-220 Репозиторий: stevens_edu/stevens_main_nextjs
🚨 Особый статус
Header прямо упомянут в письме Alexis Watson (29.04.2026) как пример проблемы:
"we're also noticing some deliverables (such as the header) that deviate considerably from spec and require revisiting"
Это значит, что разбор PR #846 — критический для встречи. От него зависит главный аргумент письма.
Спека и материалы (в spec/)
Site_Header_User_Stories_v2.docx— User stories: 4 фичи (Sticky Desktop, Sticky Mobile, CTA buttons Desktop, CTA buttons Mobile) + HTML data attributes для аналитики.mockups-v3/— мокапы v3:- Site Header v03 Full.png — desktop full + sticky + mobile + search states
- Site Header v03 Mobile.png — mobile collapsed
- Site Header v03 Mobile Search.png — mobile с открытым поиском
- Site Header v03 Sticky.png — sticky-варианты на десктопе
- Site Header v03 Page.png — пример встраивания на странице
- Site Header v03.pdf — то же в PDF
Метаданные вложений (Europe/Warsaw)
| Файл | Когда добавлен | Размер |
|---|---|---|
mockups v3.zip | 2026-04-16, 12:16 | ~2.9 MB |
Site_Header_User_Stories_v2.docx | 2026-04-20, 14:24 | ~21 KB |
Важная деталь именования:
- User stories — v2 → значит, была хотя бы одна версия раньше.
- Mockups — v3 → значит, было хотя бы 2 предыдущих версии.
Это меняет картину vs PR #837 (где спека была единая и заранее):
- Для header спека итерировалась.
- К моменту 16.04 / 20.04 она ещё уточнялась.
- PR открыт раньше этих дат (нужно установить точно по комментариям/таймлайну) → часть работы могла идти по более ранним версиям спеки.
Это смягчающее обстоятельство для нас. Но не оправдание полностью — нужно посмотреть, когда конкретно Иван коммитил, и какие версии спеки были на тот момент. Если основные коммиты после 20.04 — оправдания нет. Если до — есть аргумент "спека менялась".
Ключевые требования спеки (User Stories v2)
Desktop
- Sticky header (
position:stickyилиfixed) — не уезжает при скролле - 1280 / 1440 / 1920 px корректно
- CTA buttons: Request Info, Visit Campus, Apply (именно в этом порядке)
- Выделены визуально как кнопки (по мокапу — жёлтые)
- WCAG AA contrast (≥4.5:1)
- Кнопки видны и кликабельны и в default, и в sticky состоянии
Mobile
- Sticky на 375 / 390 / 414 / 430 px
- Не перекрывает поле ввода при открытой клавиатуре (тест на iOS Safari + Android Chrome)
- CTA в header (или через hamburger)
- Touch target ≥ 44×44 px (WCAG 2.5.5)
HTML Data Attributes (для аналитики)
- На каждой CTA:
data-cta(например,request-info/visit-campus/apply) +data-location="header" - Имена/значения согласованы dev + analytics + QA до реализации
- Lowercase, hyphenated
- Присутствуют в default и sticky, на desktop и mobile
- Атрибуты доходят до analytics-слоя (GTM/GA4)
Структура папки
screenshots/— скриншоты комментариев из PRspec/— спецификация (User Stories docx + mockups)comments.md— расшифровка комментариев + наш разборsummary.md— итоговая позиция
Статус
- Спека и мокапы получены и сохранены
- Разобраны требования спеки
- PR открыт 2026-04-22 (после стабилизации v2/v3 спеки)
- Все 11 значимых комментариев расшифрованы
- Сформирована позиция → см.
summary.md - Найти предыдущий header PR (если для встречи нужна позиция по нему)
Финальный результат разбора
- 11 значимых замечаний за 8 дней
- 8 из 11 — наши self-QA промахи (визуальные расхождения, регрессии, не сверено с мокапом)
- 3 из 11 — пробелы в спеке (sticky-1024+ / alignment magnifier-X / data-cta stability) → защитные аргументы для встречи
- 🚨 PR #846 = header, упомянутый в письме Alexis — главный артефакт того тезиса
- Реактивность Ивана хорошая — фиксит в день/на следующий день. Проблема — слишком много долетает до ревьюера
Что критично проверить (нужны скрины комментариев)
- Sticky behavior — реализован ли вообще, корректно ли (особенно mobile + клавиатура)?
- CTA buttons — все три? в правильном порядке? стилизованы как в мокапе (жёлтые)?
- WCAG contrast / touch targets — проверены?
- HTML data attributes — есть ли
data-ctaиdata-location? согласованы ли значения? - Iteration timeline — когда что коммитилось vs когда обновлялась спека?
Screenshots (25)
























