Compare commits
1
Commits
v2.5.1
..
297efaa4a6
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
297efaa4a6 |
No files matched your search
@@ -53,13 +53,21 @@ func Path(ctx context.Context, pp ...string) string {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func PathForLang(ctx context.Context, lang string, pp ...string) string {
|
func PathForLang(ctx context.Context, lang string, pp ...string) string {
|
||||||
|
slog.Debug("computing path for lang", "pp", pp, "lang", lang)
|
||||||
s, ok := ctx.Value(serviceKey).(*Service)
|
s, ok := ctx.Value(serviceKey).(*Service)
|
||||||
if !ok {
|
if !ok {
|
||||||
slog.Error("could not extract translation service from context for translating path", "ctx", ctx, "path", pp)
|
slog.Error("could not extract translation service from context for translating path", "ctx", ctx, "path", pp)
|
||||||
return path.Join(pp...)
|
return path.Join(pp...)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// remove leading ""
|
||||||
|
for len(pp) > 0 && pp[0] == "" {
|
||||||
|
pp = pp[1:]
|
||||||
|
}
|
||||||
|
|
||||||
if len(pp) > 0 {
|
if len(pp) > 0 {
|
||||||
|
|
||||||
|
slog.Debug("computing path for lang", "pp", pp, "lang", lang, "pp[0]", pp[0], "translations", s.translations)
|
||||||
if _, ok := s.translations[pp[0]]; ok {
|
if _, ok := s.translations[pp[0]]; ok {
|
||||||
pp = pp[1:]
|
pp = pp[1:]
|
||||||
}
|
}
|
||||||
|
|||||||
+18
-5
@@ -7,7 +7,7 @@ import (
|
|||||||
"strings"
|
"strings"
|
||||||
)
|
)
|
||||||
|
|
||||||
templ Head(cfg config.Cfg, title string) {
|
templ head(cfg config.Cfg, title string) {
|
||||||
<head>
|
<head>
|
||||||
<meta charset="UTF-8"/>
|
<meta charset="UTF-8"/>
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
|
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
|
||||||
@@ -29,8 +29,23 @@ templ Head(cfg config.Cfg, title string) {
|
|||||||
templ Base(cfg config.Cfg, title string) {
|
templ Base(cfg config.Cfg, title string) {
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html lang={ translate.Language(ctx) }>
|
<html lang={ translate.Language(ctx) }>
|
||||||
@Head(cfg, title)
|
@head(cfg, title)
|
||||||
<body class="bg-black dark" hx-boost="true" hx-target="main" hx-ext="head-support,preload,preload-links">
|
<body class="bg-black dark" hx-boost="true" hx-target="body" hx-ext="head-support,preload,preload-links">
|
||||||
|
@body() {
|
||||||
|
{ children... }
|
||||||
|
}
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
|
}
|
||||||
|
|
||||||
|
templ Content(cfg config.Cfg, title string) {
|
||||||
|
@head(cfg, title)
|
||||||
|
@body() {
|
||||||
|
{ children... }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
templ body() {
|
||||||
<header
|
<header
|
||||||
class="fixed z-50 mix-blend-difference p-1 w-full flex justify-between items-start"
|
class="fixed z-50 mix-blend-difference p-1 w-full flex justify-between items-start"
|
||||||
>
|
>
|
||||||
@@ -52,6 +67,4 @@ templ Base(cfg config.Cfg, title string) {
|
|||||||
<main class="text-white">
|
<main class="text-white">
|
||||||
{ children... }
|
{ children... }
|
||||||
</main>
|
</main>
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
}
|
}
|
||||||
@@ -36,7 +36,7 @@ func (l *Layouts) Render(ctx context.Context, w io.Writer, r *http.Request, comp
|
|||||||
component = Base(l.cfg, title)
|
component = Base(l.cfg, title)
|
||||||
} else {
|
} else {
|
||||||
ctx = templ.WithChildren(ctx, component)
|
ctx = templ.WithChildren(ctx, component)
|
||||||
component = Head(l.cfg, title)
|
component = Content(l.cfg, title)
|
||||||
}
|
}
|
||||||
|
|
||||||
if err := component.Render(ctx, w); err != nil {
|
if err := component.Render(ctx, w); err != nil {
|
||||||
|
|||||||
Reference in new issue
Block a user