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

45 lines
2.2 KiB
Markdown

# Changelog
Formát podle [Keep a Changelog](https://keepachangelog.com/cs/1.1.0/),
verzování [sémantické](https://semver.org/lang/cs/).
## [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.