Scaffold webu na Payload CMS 3 + Next.js nad SQLite
Kostra prezentace s vlastní administrací pro Martina Reinera. Obsah: - kolekce Products (obrázky, volné parametry, cena, dostupnost, skrytí), Media se zmenšeninami, Pages, Users bez veřejné registrace - veřejná část: výpis nabídky, detail položky, statické stránky - /api/health pro Docker HEALTHCHECK Provoz: - Dockerfile, docker-compose.yml (vývoj) a docker-compose.prod.yml (nasazení z Gitea registry) - CI v Gitea Actions: lint -> testy -> build -> push image - úvodní migrace databáze Stránky jsou force-dynamic, aby se úprava položky projevila hned; schéma se za běhu nedomýšlí (push: false), migrace se commitují. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,16 @@
|
||||
import type { Product } from '@/payload-types'
|
||||
|
||||
/** `28900` → `28 900 Kč` (pevná mezera, ať se cena nezalomí). */
|
||||
export function formatujCenu(cena: number): string {
|
||||
return `${cena.toLocaleString('cs-CZ').replace(/\s/g, ' ')} Kč`
|
||||
}
|
||||
|
||||
const STAVY: Record<Product['stav'], string> = {
|
||||
skladem: 'Skladem',
|
||||
'na-objednavku': 'Na objednávku',
|
||||
prodano: 'Prodáno',
|
||||
}
|
||||
|
||||
export function popisStavu(stav: Product['stav']): string {
|
||||
return STAVY[stav]
|
||||
}
|
||||
Reference in New Issue
Block a user