piekarnikgosipl/html/layout.templ
2026-05-29 10:36:58 +02:00

208 lines
7.1 KiB
Text

package html
import "fmt"
templ layout(activePage string) {
<!DOCTYPE html>
<html lang="pl">
<head>
<meta charset="UTF-8"/>
<title>Piekarnik Gosi</title>
<meta name="viewport" content="width=device-width,initial-scale=1"/>
<meta name="description" content=""/>
<link href="style.css" rel="stylesheet"/>
<link rel="icon" href="images/favicon.avif"/>
</head>
<body>
<nav>
<div>
<a href="index.html">
<img src="images/logo.svg" alt="logo"/>
</a>
<div>
@Link(activePage, "index", "Strona Główna")
@Link(activePage, "wyroby", "Wyroby")
@Link(activePage, "portfolio", "Portfolio")
@Link(activePage, "kawiarnia", "Kawiarnia")
</div>
<a class="btn" href="#footer">Kontakt</a>
</div>
</nav>
{ children... }
<footer id="footer">
<div>
<div>
<img src="images/logo.svg" alt="logo" style="width: 14rem"/>
<p>Pasja, natura i domowy smak w każdym kawałku ciasta.</p>
</div>
</div>
<div>
<h4>Lokalizacja</h4>
<ul>
<li>
<a href="https://maps.app.goo.gl/YD3DWUNKBoweKdpb7">
<div>
<svg
xmlns="http://www.w3.org/2000/svg"
width="24"
height="24"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
class="lucide lucide-map-pin-icon lucide-map-pin"
>
<path d="M20 10c0 4.993-5.539 10.193-7.399 11.799a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 16 0"></path>
<circle cx="12" cy="10" r="3"></circle>
</svg>
<span>Pracownia</span>
</div>
<p>
ul. Polna 7k
<br/>
83-314 Somonino
</p>
</a>
</li>
<li>
<a href="https://maps.app.goo.gl/568ax4QLJnXvqbhD9">
<div>
<svg
xmlns="http://www.w3.org/2000/svg"
width="24"
height="24"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
class="lucide lucide-map-pin-icon lucide-map-pin"
>
<path d="M20 10c0 4.993-5.539 10.193-7.399 11.799a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 16 0"></path>
<circle cx="12" cy="10" r="3"></circle>
</svg>
<span>Kawiarnia</span>
</div>
<p>
ul. Dworcowa 3a
<br/>
83-300 Kartuzy
</p>
</a>
</li>
</ul>
</div>
<div>
<h4>Kontakt</h4>
<ul>
<li>
<a href="https://facebook.com/piekarnikgosi">
<svg xmlns="http://www.w3.org/2000/svg" width="200" height="200" viewBox="0 0 48 48">
<mask id="ipSFacebook0">
<path
fill="#fff"
stroke="#fff"
stroke-linejoin="round"
stroke-width="3.8"
d="M36 12.6h-6.013c-1.086 0-1.967.88-1.967 1.967v6.9H36l-1.169 7.597h-6.81V43h-8.776V29.064H12v-7.597h7.151l.094-7.21l-.013-1.31A7.868 7.868 0 0 1 27.099 5H36v7.6Z"
></path>
</mask>
<path fill="currentColor" d="M0 0h48v48H0z" mask="url(#ipSFacebook0)"></path>
</svg>
<span>facebook.com/PiekarnikGosi</span>
</a>
</li>
<li>
<a href="https://instagram.com/piekarnikgosi">
<svg xmlns="http://www.w3.org/2000/svg" width="200" height="200" viewBox="0 0 24 24">
<path
fill="currentColor"
d="M17.34 5.46a1.2 1.2 0 1 0 1.2 1.2a1.2 1.2 0 0 0-1.2-1.2Zm4.6 2.42a7.59 7.59 0 0 0-.46-2.43a4.94 4.94 0 0 0-1.16-1.77a4.7 4.7 0 0 0-1.77-1.15a7.3 7.3 0 0 0-2.43-.47C15.06 2 14.72 2 12 2s-3.06 0-4.12.06a7.3 7.3 0 0 0-2.43.47a4.78 4.78 0 0 0-1.77 1.15a4.7 4.7 0 0 0-1.15 1.77a7.3 7.3 0 0 0-.47 2.43C2 8.94 2 9.28 2 12s0 3.06.06 4.12a7.3 7.3 0 0 0 .47 2.43a4.7 4.7 0 0 0 1.15 1.77a4.78 4.78 0 0 0 1.77 1.15a7.3 7.3 0 0 0 2.43.47C8.94 22 9.28 22 12 22s3.06 0 4.12-.06a7.3 7.3 0 0 0 2.43-.47a4.7 4.7 0 0 0 1.77-1.15a4.85 4.85 0 0 0 1.16-1.77a7.59 7.59 0 0 0 .46-2.43c0-1.06.06-1.4.06-4.12s0-3.06-.06-4.12ZM20.14 16a5.61 5.61 0 0 1-.34 1.86a3.06 3.06 0 0 1-.75 1.15a3.19 3.19 0 0 1-1.15.75a5.61 5.61 0 0 1-1.86.34c-1 .05-1.37.06-4 .06s-3 0-4-.06a5.73 5.73 0 0 1-1.94-.3a3.27 3.27 0 0 1-1.1-.75a3 3 0 0 1-.74-1.15a5.54 5.54 0 0 1-.4-1.9c0-1-.06-1.37-.06-4s0-3 .06-4a5.54 5.54 0 0 1 .35-1.9A3 3 0 0 1 5 5a3.14 3.14 0 0 1 1.1-.8A5.73 5.73 0 0 1 8 3.86c1 0 1.37-.06 4-.06s3 0 4 .06a5.61 5.61 0 0 1 1.86.34a3.06 3.06 0 0 1 1.19.8a3.06 3.06 0 0 1 .75 1.1a5.61 5.61 0 0 1 .34 1.9c.05 1 .06 1.37.06 4s-.01 3-.06 4ZM12 6.87A5.13 5.13 0 1 0 17.14 12A5.12 5.12 0 0 0 12 6.87Zm0 8.46A3.33 3.33 0 1 1 15.33 12A3.33 3.33 0 0 1 12 15.33Z"
></path>
</svg>
<span>instagram.com/PiekarnikGosi</span>
</a>
</li>
<li>
<a href="mailto:gosia@piekarnikgosi.pl">
<svg
xmlns="http://www.w3.org/2000/svg"
width="24"
height="24"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
class="lucide lucide-mail-icon lucide-mail"
>
<path d="m22 7-8.991 5.727a2 2 0 0 1-2.009 0L2 7"></path>
<rect x="2" y="4" width="20" height="16" rx="2"></rect>
</svg>
<span>gosia@piekarnikgosi.pl</span>
</a>
</li>
<li>
<a href="tel:+48503186245">
<svg
xmlns="http://www.w3.org/2000/svg"
width="24"
height="24"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
class="lucide lucide-phone-icon lucide-phone"
>
<path d="M13.832 16.568a1 1 0 0 0 1.213-.303l.355-.465A2 2 0 0 1 17 15h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2A18 18 0 0 1 2 4a2 2 0 0 1 2-2h3a2 2 0 0 1 2 2v3a2 2 0 0 1-.8 1.6l-.468.351a1 1 0 0 0-.292 1.233 14 14 0 0 0 6.392 6.384"></path>
</svg>
<span>+48 503 186 245</span>
</a>
</li>
</ul>
</div>
<p>&copy 2026 Piekarnik Gosi.</p>
</footer>
</body>
</html>
}
templ Link(activePage, targetPage, title string) {
<a
if activePage != targetPage {
href={ fmt.Sprint(targetPage, ".html") }
}
>{ title }</a>
}
templ GreenLink(activePage, targetPage, title string) {
<a
if activePage != targetPage {
href={ fmt.Sprint(targetPage, ".html") }
}
class="btn-green"
>{ title }</a>
}
templ wyrobyHeader(activePage string) {
<header class="subnav">
<h1>Nasze słodkości</h1>
<p>
Poznaj nasze tradycyjne receptury przekute w nowoczesne formy. Każdy wypiek to historia pasji, a każde lody
to powiew naturalnej świeżości
</p>
<nav>
@GreenLink(activePage, "wyroby", "Ciasta")
@GreenLink(activePage, "wyroby_deserki", "Deserki")
@GreenLink(activePage, "wyroby_torty", "Torty")
@GreenLink(activePage, "wyroby_slodkie_stoly", "Słodkie stoły")
@GreenLink(activePage, "wyroby_lody", "Lody")
</nav>
</header>
}