diff --git a/.zed/tasks.json b/.zed/tasks.json index f3a1d1e..e917514 100644 --- a/.zed/tasks.json +++ b/.zed/tasks.json @@ -1,10 +1,10 @@ [ { "label": "Run", - "command": "go generate && go run .", + "command": "go tool templ generate && go run .", "use_new_terminal": false, "allow_concurrent_runs": false, - "reveal": "never", + "reveal": "always", "shell": "system", "save": "all", }, diff --git a/css/swieta.css b/css/swieta.css new file mode 100644 index 0000000..766d4ff --- /dev/null +++ b/css/swieta.css @@ -0,0 +1,34 @@ +:root { + --swieta-green: oklch(40% .08 155); + --swieta-gold: oklch(75% .12 80); +} + +#swieta { + & > header { + display: flex; + flex-direction: column; + align-items: center; + background-color: var(--swieta-green); + & p, & h1 { + color: white; + } + & span { + word-spacing: 0.5rem; + color: var(--swieta-gold); + } + border-radius: var(--border-radius); + } + + & #wyroby { + & > h2 { + grid-column: -1 / 1; + place-self: center; + } + + & .card { + & > :first-child { + display:none; + } + } + } +} diff --git a/css/wyroby.css b/css/wyroby.css index 6ad069e..880f014 100644 --- a/css/wyroby.css +++ b/css/wyroby.css @@ -35,6 +35,7 @@ grid-column: 1 / span 2; color: var(--on-surface); font-size: 0.875em; + white-space: pre-line; } } } diff --git a/data/swieta.go b/data/swieta.go new file mode 100644 index 0000000..6aa79aa --- /dev/null +++ b/data/swieta.go @@ -0,0 +1,16 @@ +package data + +import "piekarnikgosipl/types" + +var Swieta = []types.Product{ + {Name: "Malinowa Chmurka", Image: "", Price: "150", Description: ""}, + {Name: "Makosernik", Image: "", Price: "150", Description: ""}, + {Name: "Rolada Makowa", Image: "", Price: "100", Description: ""}, + {Name: "Wieniec Bezowy", Image: "", Price: "150", Description: "⌀ 25cm"}, + {Name: "Torcik Piernikowy z kremem Cynamonowym", Image: "", Price: "120", Description: "⌀ 18cm"}, + {Name: "Sernik Ulubiony", Image: "", Price: "75", Description: "⌀ 21cm"}, + {Name: "Sernik Lotus", Image: "", Price: "100", Description: "⌀ 22cm"}, + {Name: "Sernik Mango-Jogurt", Image: "", Price: "120", Description: "⌀ 22cm"}, + {Name: "Mini Pavlova", Image: "", Price: "12", Description: ""}, + {Name: "Box Świąteczny", Image: "", Price: "150", Description: "¼ Sernik Cynamonowy\n¼ Sernik Nowojorski\n¼ Kostka Piernikowa z kremem Malaga i Powidłami\n¼ Kostka Świętego Mikołaja"}, +} diff --git a/html/layout.templ b/html/layout.templ index 749ba97..1197208 100644 --- a/html/layout.templ +++ b/html/layout.templ @@ -29,6 +29,7 @@ templ layout(activePage string) { @Link(activePage, "wyroby", "Wyroby") @Link(activePage, "album", "Album") @Link(activePage, "kawiarnia", "Kawiarnia") + @Link(activePage, "swieta", "Oferta świąteczna") Kontakt diff --git a/html/swieta.templ b/html/swieta.templ new file mode 100644 index 0000000..1a42b1c --- /dev/null +++ b/html/swieta.templ @@ -0,0 +1,23 @@ +package html + +import "piekarnikgosipl/types" + +templ Swieta(products []types.Product) { + @layout("swieta") { +
+
+ ✦ BOŻE NARODZENIE 2026 ✦ +

Święta smakują domowo

+

+ Tradycyjne świąteczne wypieki z naszej pracowni. Z naturalnych składników, według rodzinnych receptur. +

+
+
+

Święteczne Słodkości

+ for _, product:= range products { + @card(product) + } +
+
+ } +} diff --git a/main.go b/main.go index 5365f5d..08db0fc 100644 --- a/main.go +++ b/main.go @@ -127,6 +127,7 @@ func generateHTML() { log.Println("generating html") saveFile(`index`, html.Index()) saveFile(`kawiarnia`, html.Kawiarnia()) + saveFile(`swieta`, html.Swieta(data.Swieta)) saveFile(`wyroby`, html.Wyroby(data.Cakes, "wyroby")) saveFile(`wyroby/deserki`, html.Wyroby(data.Desserts, "wyroby/deserki")) saveFile(`wyroby/torty`, html.WyrobyTorty()) @@ -149,6 +150,7 @@ func mergeStyles() { "wyroby_lody.css", "album.css", "kawiarnia.css", + "swieta.css", } var bundledCSS []byte