Commit Graph

3 Commits

Author SHA1 Message Date
Aleksei Pavlov 54f1088da2 fix(zero): banner always renders, even without published notes
Showing the hero matters for discoverability — visitors see who Зеро is
and the TG channel link even before the first note is published.
When there are no notes, hero spans the full width (no empty grid).
2026-06-19 12:25:59 +03:00
Aleksei Pavlov 3cc5dafc08 feat(zero): full-width amber banner with hero + cover-cards
ZeroBlock переработан:
  - full-width секция с amber-градиентом и border-y
  - hero: квадратный аватар Зеро (kofeиная поза) 32-48px + заголовок + tagline
    + CTA-кнопки 'Все заметки' / '@zeropostru'
  - notes карточки: квадратная обложка-поза (image_url из БД) с object-cover,
    под ней цитата с line-clamp-6 + 'в Telegram' ссылка если опубликовано
  - на главной (compact): 5/7 split — hero слева, 3 карточки справа
  - на /zero: hero сверху во всю ширину, сетка из всех карточек ниже
  - graceful empty state когда заметок ещё нет

/zero страница упрощена: вся структура внутри ZeroBlock (убран дублирующий
hero с био-bullets — текст консолидирован в один tagline).
2026-06-19 12:23:55 +03:00
Aleksei Pavlov 8700b8fc69 feat(zero): admin panel section + site /zero page + autogen card
Admin (/admin/zero):
  - new AdminZero with list, status filters, generate button (bucket + allow_dup)
  - per-note actions: approve, edit inline, regenerate (bucket pick), skip,
    'publish now' (approve + scheduled_at=now → runner picks up within 1m)
  - config panel: toggle on/off, generate/approve/publish hour MSK, site URL base
  - new pin 'Зеро' () in AdminNav

Site (zeropost.ru):
  - ZeroBlock — feed of last 3-6 Zero notes, rendered on home next to Серии
  - /zero — full Zero notes list page with character bio block (avatar + bullets)

Autogen integration:
  - ZeroAutogenCard on /admin/autogen — amber card with on/off, hour pickers,
    'generate now' and last-3 preview, link to full section

Plumbing:
  - lib/engine.js: listZeroNotes(), getZeroCharacter()
  - app/admin/api/zero/[...path]/route.js: catch-all proxy with cookie auth
2026-06-19 11:17:19 +03:00