Menu bylo napsané natvrdo a odkazovalo na /kontakt bez ohledu na to, jestli stránka s tím slugem existuje — odtud 404. Stránky založené v administraci se naopak neobjevily nikde. Hlavička teď vypisuje stránky z kolekce, řazené podle názvu. Layout kvůli tomu musí být force-dynamic, jinak by se při buildu předgenerovala stránka 404, která tenhle layout používá taky, a build by sáhl do databáze. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
38 lines
1.9 KiB
Markdown
38 lines
1.9 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.
|
|
|
|
### 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.
|