chore: refresh preview pages + add tradein landing #283

Merged
lekss361 merged 1 commit from chore/preview-pages-refresh into main 2026-05-17 12:38:17 +00:00
Owner

Summary

Заменяем устаревший набор preview-страничек на новые версии из аудита gendsgn.ru + добавляем landing для trade-in продукта.

Файлы

Файл Размер URL после deploy
public/analytics.html 44KB https://gendsgn.ru/analytics.html
public/developers.html 37KB https://gendsgn.ru/developers.html
public/index.html 30KB https://gendsgn.ru/index.html
public/landing.html 41KB (replaces PR #279) https://gendsgn.ru/landing.html
public/site-finder.html 31KB https://gendsgn.ru/site-finder.html
public/site-finder-analysis.html 86KB https://gendsgn.ru/site-finder-analysis.html
public/tradein.html 85KB https://gendsgn.ru/tradein.html

Замечания

  • Все 7 файлов self-contained HTML (inline CSS + assets) — внешние зависимости только Google Fonts / Telegram link
  • Не пересекаются с Next.js routes: .html extension всегда serves static первым (например /analytics → Next.js app/analytics/page.tsx, /analytics.html → static preview)
  • Старый landing.html из PR #279 (51KB) полностью заменён новой версией (41KB)

Test plan

  • Pre-commit hooks pass (no lint applies to static HTML)
  • Post-deploy: curl -sI https://gendsgn.ru/{analytics,developers,index,landing,site-finder,site-finder-analysis,tradein}.html → все 200 OK
  • Визуальный QA в браузере (особенно tradein — новая страничка)
  • Regression: убедиться что Next.js routes /analytics, /site-finder и т.д. продолжают работать (без .html extension)
## Summary Заменяем устаревший набор preview-страничек на новые версии из аудита gendsgn.ru + добавляем landing для trade-in продукта. ### Файлы | Файл | Размер | URL после deploy | |---|---|---| | `public/analytics.html` | 44KB | https://gendsgn.ru/analytics.html | | `public/developers.html` | 37KB | https://gendsgn.ru/developers.html | | `public/index.html` | 30KB | https://gendsgn.ru/index.html | | `public/landing.html` | 41KB (replaces PR #279) | https://gendsgn.ru/landing.html | | `public/site-finder.html` | 31KB | https://gendsgn.ru/site-finder.html | | `public/site-finder-analysis.html` | 86KB | https://gendsgn.ru/site-finder-analysis.html | | `public/tradein.html` | 85KB | https://gendsgn.ru/tradein.html | ### Замечания - Все 7 файлов **self-contained** HTML (inline CSS + assets) — внешние зависимости только Google Fonts / Telegram link - **Не пересекаются с Next.js routes**: `.html` extension всегда serves static первым (например `/analytics` → Next.js `app/analytics/page.tsx`, `/analytics.html` → static preview) - Старый `landing.html` из PR #279 (51KB) полностью заменён новой версией (41KB) ## Test plan - [x] Pre-commit hooks pass (no lint applies to static HTML) - [ ] Post-deploy: `curl -sI https://gendsgn.ru/{analytics,developers,index,landing,site-finder,site-finder-analysis,tradein}.html` → все 200 OK - [ ] Визуальный QA в браузере (особенно tradein — новая страничка) - [ ] Regression: убедиться что Next.js routes `/analytics`, `/site-finder` и т.д. продолжают работать (без `.html` extension)
lekss361 added 1 commit 2026-05-17 12:37:47 +00:00
Заменяем устаревшие preview-странички (старая landing.html из PR #279) на
новый набор из аудита gendsgn.ru:

- public/analytics.html (44KB)
- public/developers.html (37KB)
- public/index.html (30KB)
- public/landing.html (41KB, replaces PR #279 version)
- public/site-finder.html (31KB)
- public/site-finder-analysis.html (86KB)
- public/tradein.html (85KB) — новая страничка trade-in

Все 7 файлов self-contained HTML (inline assets) → доступны после deploy
по URL https://gendsgn.ru/<filename>.html. Не пересекаются с Next.js
routes (расширение .html — public/ wins).
lekss361 merged commit 5ffee75c9f into main 2026-05-17 12:38:17 +00:00
Author
Owner

Post-merge audit (deep-code-reviewer) — verdict APPROVE.

Sanity-check 7 файлов (+5429/-258):

  • Security: 0 находок. Нет hardcoded secrets / bcrypt / JWT / API keys. Heuristics (2[aby], eyJ, sk-, api_key, password=, bearer) — clean.
  • External resources: только fonts.googleapis.com / fonts.gstatic.com + t.me/gendsgn. Нет третьих скриптов, нет tracking pixels, нет iframe.
  • Inline JS: безопасный DOM (querySelectorAll, classList). Нет eval / innerHTML= / document.write / fetch / XHR / cookies / localStorage.
  • Forms: 1 шт. (site-finder.html:3729) — onsubmit с preventDefault + same-origin redirect на site-finder-analysis.html. Submit к backend отсутствует.
  • Next.js conflict: index.html не дубликат landing.html (title "превью нового сайта"). В Next.js 15 public/index.html НЕ оверрайдит app/page.tsx для "/". /index.html (explicit) — отдаётся как static. Регрессии для "/" нет.
  • PR #279 follow-ups закрыты: убран DEV-label ТОЛЬКО ДЛЯ РАЗРАБОТКИ (landing.html:1778-), убраны OpenDesign tooling shims (data-od-sandbox-shim, data-od-snapshot-bridge на landing.html:1697/2142).

Smoke / regression рекомендую (после deploy):

  • curl -sI https://gendsgn.ru/tradein.html → 200
  • curl -sI https://gendsgn.ru/ → Next.js (Content-Type: text/html от приложения, не статический preview)
  • Проверить визуально tradein.html (новая страница, 2051 строк inline).

Minor follow-up (не блокирующий, можно отдельным PR):

  • robots.txt / <meta name="robots" content="noindex"> для preview-страниц, чтобы не индексировались поисковиками (особенно tradein.html и index.html).
Post-merge audit (deep-code-reviewer) — verdict APPROVE. Sanity-check 7 файлов (+5429/-258): - Security: 0 находок. Нет hardcoded secrets / bcrypt / JWT / API keys. Heuristics ($2[aby]$, eyJ, sk-, api_key, password=, bearer) — clean. - External resources: только fonts.googleapis.com / fonts.gstatic.com + t.me/gendsgn. Нет третьих скриптов, нет tracking pixels, нет iframe. - Inline JS: безопасный DOM (querySelectorAll, classList). Нет eval / innerHTML= / document.write / fetch / XHR / cookies / localStorage. - Forms: 1 шт. (site-finder.html:3729) — onsubmit с preventDefault + same-origin redirect на site-finder-analysis.html. Submit к backend отсутствует. - Next.js conflict: index.html не дубликат landing.html (title "превью нового сайта"). В Next.js 15 public/index.html НЕ оверрайдит app/page.tsx для "/". `/index.html` (explicit) — отдаётся как static. Регрессии для "/" нет. - PR #279 follow-ups закрыты: убран DEV-label ТОЛЬКО ДЛЯ РАЗРАБОТКИ (landing.html:1778-), убраны OpenDesign tooling shims (data-od-sandbox-shim, data-od-snapshot-bridge на landing.html:1697/2142). Smoke / regression рекомендую (после deploy): - curl -sI https://gendsgn.ru/tradein.html → 200 - curl -sI https://gendsgn.ru/ → Next.js (Content-Type: text/html от приложения, не статический preview) - Проверить визуально tradein.html (новая страница, 2051 строк inline). Minor follow-up (не блокирующий, можно отдельным PR): - robots.txt / `<meta name="robots" content="noindex">` для preview-страниц, чтобы не индексировались поисковиками (особенно tradein.html и index.html).
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: lekss361/gendesign#283
No description provided.