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
PR и коммиты (зафиксировано в разборе)
- PR: #846 — единственный PR в этом репозитории, который напрямую закрывает IX-SIT67 update header и совпадает с примером из письма Alexis.
- Коммиты (хеши из скринов Bitbucket на момент разбора; после squash 30.04 история на remote могла измениться): старт
7dd5f2b(22.04); пачкаbcd15c3…cd91a3c(23.04, ответ на Comment #2);22d4df7,8bb932a,40041f9(23.04). Полный таймлайн и контекст — . - Предыдущий header в проде — в другом PR (искать отдельно, если нужна линия «кто первый отклонился от спеки»).
Где лежала спецификация
- Источник правды по материалам: тикет ICUS-220 — в нём приложены и документ (user stories v2), и дизайны (mockups v3), см. вложения и даты в таблице ниже; зеркало в этом репо — папка
spec/. - Figma / Confluence: в текущем наборе артефактов репозитория основной пакет — Jira-вложения + файлы в
spec/; отдельная ссылка «только Figma» или «только Confluence» как единственный источник не задокументирована. В ревью упоминались уточнения у designer Jay (overlay / alignment) — см. / .
Особый статус
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 |
Именование файлов (справочно): суффикс v2 в user stories обычно означает, что у автора документа была хотя бы одна более ранняя версия; v3 у mockups — что было хотя бы две предыдущие итерации мокапов. Для нашего разбора это не опора: в ICUS-220 в работу попали только финальные вложения (даты в таблице выше); с клиентом и внутри команды логичнее ссылаться на даты и содержание этих файлов, а не на «длинную предысторию версий» из номера в имени.
По сравнению с PR #837 (где PDF был один заранее):
- На ICUS-220 финальные материалы приложены 16.04 (mockups zip) и 20.04 (user stories docx); PR #846 открыт 22.04 — после этих дат, с теми вложениями, что уже на тикете.
Аргумент «спека ещё менялась в момент старта PR» для даты открытия #846 слабый (опираемся на даты вложений, не на v2/v3 в названии). Смягчает картину только линия предыдущего header в проде (другой PR / старые версии) — см. .
Ключевые требования спеки (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)
Структура папки
- — скриншоты комментариев из PR
spec/— спецификация (User Stories docx + mockups)- — расшифровка комментариев + наш разбор
- — итоговая позиция
Статус
- Спека и мокапы получены и сохранены
- Разобраны требования спеки
- PR открыт 2026-04-22 (после дат финальных вложений на ICUS-220)
- Все 11 значимых комментариев расшифрованы
- Сформирована позиция → см.
- Найти предыдущий 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? согласованы ли значения? - Таймлайн — когда что коммитилось vs даты финальных вложений на ICUS-220?