Files
Zbrane-Reiner-Web/CHANGELOG.md
T
HonzaandClaude Opus 5 3f967a2325
CI / test (push) Successful in 1m8s
CI / build-and-push (push) Successful in 2m16s
Přidat siluetu lesa a terč do vzhledu, normalizovat slug
Grafika:
- silueta lesa přes celou šířku nad patičkou
- terč v hlavičce mezi značkou a navigací, s červeným středem

Obojí je vložené jako CSS maska. Zdrojová PNG byla černá kresba na bílém
bez alfa kanálu, takže by z nich koukal bílý obdélník a v tmavém motivu
by to bylo nepoužitelné. Převedená maska nese jen průhlednost a barvu
řídí CSS. Skyline se tím zmenšil z 856 kB na 245 kB.

Assety patří do public/, ne do media/ — media je v produkci Docker volume
mimo image, takže by tam soubory nebyly.

Slug se navíc normalizuje sdíleným helperem: vedoucí lomítko vyrábělo
odkaz //kontakt, což prohlížeč čte jako jméno cizího serveru.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-31 17:26:34 +02:00

2.2 KiB

Changelog

Formát podle Keep a Changelog, verzování sémantické.

[Nevydáno]

Přidáno

  • Kostra projektu na Payload CMS 3 + Next.js 16 nad SQLite.

  • Kolekce Products (obrázky, volné parametry, cena, dostupnost, skrytí), Media (zmenšeniny nahled a detail), Pages, Users.

  • Veřejná část: výpis nabídky, detail položky, statické stránky.

  • Administrace na /admin s vypnutou veřejnou registrací a zamykáním účtu po pěti neúspěšných pokusech.

  • Endpoint /api/health pro Docker HEALTHCHECK.

  • Produkční Dockerfile, docker-compose.yml pro vývoj a docker-compose.prod.yml pro nasazení z Gitea registry.

  • CI v Gitea Actions: lint → testy → build → push image.

  • Úvodní migrace databáze.

  • Proměnná CSRF_ORIGINS pro případy, kdy se admin otevírá i z jiné adresy, než je NEXT_PUBLIC_SERVER_URL (typicky po IP v LAN). Bez ní Payload odmítal veškeré zápisy včetně nahrávání obrázků chybou 403.

  • Grafika: silueta lesa přes celou šířku nad patičkou a terč v hlavičce mezi značkou a navigací. Obojí je vloženo jako CSS maska, takže se barví podle motivu.

Opraveno

  • Adresáře data/ a media/ jsou v repu přes .gitkeep. SQLite si adresář nevytvoří, takže po čerstvém git clone padaly testy i payload migrate na SQLITE_CANTOPEN (kód 14) — projevilo se to až v CI.
  • Obrázky se na webu nezobrazovaly. Payload vrací absolutní URL podle serverURL, což next/image bere jako cizí zdroj a bez remotePatterns odmítne s HTTP 400 „url parameter is not allowed". Do next/image se nově posílá jen cesta — soubor leží na stejném originu a stejný image tak funguje na stagingu i v produkci, kde se domény liší.
  • Stránky založené v administraci se nikde neobjevily. Navigace byla napsaná natvrdo a odkazovala na /kontakt, i když stránka s tím slugem nemusela existovat (odtud 404). Menu se teď skládá z kolekce Pages.
  • Slug se u stránek i položek normalizuje — vedoucí lomítko (/kontakt) vyrábělo odkaz href="//kontakt", který prohlížeč čte jako jméno cizího serveru.