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>
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šeninynahledadetail),Pages,Users. -
Veřejná část: výpis nabídky, detail položky, statické stránky.
-
Administrace na
/admins vypnutou veřejnou registrací a zamykáním účtu po pěti neúspěšných pokusech. -
Endpoint
/api/healthpro Docker HEALTHCHECK. -
Produkční
Dockerfile,docker-compose.ymlpro vývoj adocker-compose.prod.ymlpro nasazení z Gitea registry. -
CI v Gitea Actions: lint → testy → build → push image.
-
Úvodní migrace databáze.
-
Proměnná
CSRF_ORIGINSpro případy, kdy se admin otevírá i z jiné adresy, než jeNEXT_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/amedia/jsou v repu přes.gitkeep. SQLite si adresář nevytvoří, takže po čerstvémgit clonepadaly testy ipayload migratenaSQLITE_CANTOPEN(kód 14) — projevilo se to až v CI. - Obrázky se na webu nezobrazovaly. Payload vrací absolutní URL podle
serverURL, cožnext/imagebere jako cizí zdroj a bezremotePatternsodmítne s HTTP 400 „url parameter is not allowed". Donext/imagese 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 odkazhref="//kontakt", který prohlížeč čte jako jméno cizího serveru.