45 lines
1.5 KiB
Templ
45 lines
1.5 KiB
Templ
package layouts
|
|
|
|
import "git.schreifuchs.ch/schreifuchs/schreifuchs.ch/internal/components/translate"
|
|
import "strings"
|
|
import "git.schreifuchs.ch/schreifuchs/schreifuchs.ch/internal/pkg/templer"
|
|
import "git.schreifuchs.ch/schreifuchs/schreifuchs.ch/internal/pkg/config"
|
|
|
|
templ Base(cfg config.Cfg, title string) {
|
|
<!DOCTYPE html>
|
|
<html lang={ translate.Language(ctx) }>
|
|
<head>
|
|
<meta charset="UTF-8"/>
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
|
|
<title>{ title }</title>
|
|
<link rel="icon" type="image/png" href="/favicon.png"/>
|
|
<link fetchpriority="high" href="/css/output.css" rel="stylesheet"/>
|
|
<script fetchpriority="low" src="/js/htmx.min.js"></script>
|
|
<script src="/js/preload.min.js"></script>
|
|
<script src={ cfg.Tracking.ScriptSrc } data-website-id={ cfg.Tracking.WebsiteID }></script>
|
|
</head>
|
|
<body class="bg-black dark" hx-boost="true" hx-target="main" hx-ext="preload">
|
|
<header
|
|
class="fixed z-50 mix-blend-difference p-1 w-full flex justify-between items-start"
|
|
>
|
|
<a class="text-white text-2xl" href={ translate.Path(ctx, "") }>schreifuchs.ch</a>
|
|
<nav class="flex gap-2 p-2">
|
|
for _, lang := range translate.SupportedLanguages(ctx) {
|
|
<a
|
|
href={ translate.PathForLang(ctx, lang, strings.Split(templer.Path(ctx), "/")...) }
|
|
hreflang={ lang }
|
|
data-no-translate
|
|
class="text-white hover:underline uppercase"
|
|
>
|
|
{ lang }
|
|
</a>
|
|
}
|
|
</nav>
|
|
</header>
|
|
<main class="text-white">
|
|
{ children... }
|
|
</main>
|
|
</body>
|
|
</html>
|
|
}
|