diff options
author | Thomas Voss <mail@thomasvoss.com> | 2024-08-07 00:21:12 +0200 |
---|---|---|
committer | Thomas Voss <mail@thomasvoss.com> | 2024-08-07 00:21:12 +0200 |
commit | 351c15d28e0444fd8a78c510a0c4d62ed433c758 (patch) | |
tree | b97aae6ec45c1b341075da147fb9e333246c19f7 /templates |
Genesis commit
Diffstat (limited to 'templates')
-rw-r--r-- | templates/base.go | 8 | ||||
-rw-r--r-- | templates/navbar.templ | 237 | ||||
-rw-r--r-- | templates/navbar_templ.go | 202 | ||||
-rw-r--r-- | templates/root.templ | 101 | ||||
-rw-r--r-- | templates/root_templ.go | 414 |
5 files changed, 962 insertions, 0 deletions
diff --git a/templates/base.go b/templates/base.go new file mode 100644 index 0000000..f0b288b --- /dev/null +++ b/templates/base.go @@ -0,0 +1,8 @@ +package templates + +const ( + PrinterKey = "printer" + LocaleKey = "locale" +) + +//go:generate templ generate -log-level warn diff --git a/templates/navbar.templ b/templates/navbar.templ new file mode 100644 index 0000000..95e8563 --- /dev/null +++ b/templates/navbar.templ @@ -0,0 +1,237 @@ +package templates + +import "git.thomasvoss.com/euro-cash.eu/i18n" + +templ navbar() { + {{ p := ctx.Value(PrinterKey).(i18n.Printer) }} + + <nav> + <menu> + <li><a href="/">{ p.T("Home") }</a></li> + <li><a href="#TODO">{ p.T("News") }</a></li> + <li><a href="#TODO">{ p.T("Coin Collecting") }</a></li> + <li><a href="#TODO">{ p.T("Coins") }</a></li> + <li><a href="#TODO">{ p.T("Banknotes") }</a></li> + <li><a href="#TODO">{ p.T("Jargon") }</a></li> + </menu> + + <menu> + <li> + <a + href="https://discord.gg/DCaXfRcy9C" + target="_blank" + > + { p.T("Discord") } + </a> + </li> + <li><a href="#TODO">{ p.T("About") }</a></li> + <li id="nav-icon-lang"> + <a href="/language"> + <svg + version="1.1" + width="19" + height="19" + viewBox="0 0 19 19" + fill="none" + xmlns="http://www.w3.org/2000/svg" + > + <circle + cx="9.5" cy="9.5" r="9" + stroke-linejoin="round" + /> + <path + d="M 9.5 .5 + C 9.5 .5 + 6.0 3.5 + 6.0 9.5 + C 6.0 15.5 + 9.5 18.5 + 9.5 18.5" + stroke-linejoin="round" + /> + <path + d="M 9.5 .5 + C 9.5 .5 + 13.0 3.5 + 13.0 9.5 + C 13.0 15.5 + 9.5 18.5 + 9.5 18.5" + stroke-linejoin="round" + /> + <path d="M .5 9.5 H 18.5" stroke-linejoin="round" /> + <path d="M 17.0 5.0 H 2.0" stroke-linejoin="round" /> + <path d="M 17.0 14.0 H 2.0" stroke-linejoin="round" /> + </svg> + { p.T("Language") } + </a> + </li> + <li id="nav-icon-theme"> + <form class={ noMargin() } action="#TODO" method="POST"> + <button> + <svg + version="1.1" + width="24" + height="24" + viewBox="0 0 24 24" + fill="none" + xmlns="http://www.w3.org/2000/svg" + > + <!-- TODO: if theme == dark --> + if true { + <path + d="M 7.28451 10.3333 + C 7.10026 10.8546 + 7 11.4156 + 7 12 + C 7 14.7614 + 9.23858 17 + 12 17 + C 14.7614 17 + 17 14.7614 + 17 12 + C 17 9.23858 + 14.7614 7 + 12 7 + C 11.4156 7 + 10.8546 7.10026 + 10.3333 7.28451" + stroke-width="1.5" + stroke-linecap="round" + /> + + <path + d="M 12 2 V 4" + stroke-width="1.5" + stroke-linecap="round" + /> + <path + d="M 12 20 V 22" + stroke-width="1.5" + stroke-linecap="round" + /> + <path + d="M 4 12 L 2 12" + stroke-width="1.5" + stroke-linecap="round" + /> + <path + d="M 22 12 L 20 12" + stroke-width="1.5" + stroke-linecap="round" + /> + + <path + d="M 19.7778 4.22266 L 17.5558 6.25424" + stroke-width="1.5" + stroke-linecap="round" + /> + <path + d="M 4.22217 4.22266 L 6.44418 6.25424" + stroke-width="1.5" + stroke-linecap="round" + /> + <path + d="M 6.44434 17.5557 L 4.22211 19.7779" + stroke-width="1.5" + stroke-linecap="round" + /> + <path + d="M 19.7778 19.7773 L 17.5558 17.5551" + stroke-width="1.5" + stroke-linecap="round" + /> + } else { + <path d="M 21.0672 11.8568 + L 20.4253 11.469 + L 21.0672 11.8568 + Z + M 12.1432 2.93276 + L 11.7553 2.29085 + V 2.29085 + L 12.1432 2.93276 + Z + M 7.37554 20.013 + C 7.017 19.8056 6.5582 19.9281 6.3508 20.2866 + C 6.14339 20.6452 6.26591 21.104 6.62446 21.3114 + L 7.37554 20.013 + Z + M 2.68862 17.3755 + C 2.89602 17.7341 3.35482 17.8566 3.71337 17.6492 + C 4.07191 17.4418 4.19443 16.983 3.98703 16.6245 + L 2.68862 17.3755 + Z + M 21.25 12 + C 21.25 17.1086 17.1086 21.25 12 21.25 + V 22.75 + C 17.9371 22.75 22.75 17.9371 22.75 12 + H 21.25 + Z + M 2.75 12 + C 2.75 6.89137 6.89137 2.75 12 2.75 + V 1.25 + C 6.06294 1.25 1.25 6.06294 1.25 12 + H 2.75 + Z + M 15.5 14.25 + C 12.3244 14.25 9.75 11.6756 9.75 8.5 + H 8.25 + C 8.25 12.5041 11.4959 15.75 15.5 15.75 + V 14.25 + Z + M 20.4253 11.469 + C 19.4172 13.1373 17.5882 14.25 15.5 14.25 + V 15.75 + C 18.1349 15.75 20.4407 14.3439 21.7092 12.2447 + L 20.4253 11.469 + Z + M 9.75 8.5 + C 9.75 6.41182 10.8627 4.5828 12.531 3.57467 + L 11.7553 2.29085 + C 9.65609 3.5593 8.25 5.86509 8.25 8.5 + H 9.75 + Z + M 12 2.75 + C 11.9115 2.75 11.8077 2.71008 11.7324 2.63168 + C 11.6686 2.56527 11.6538 2.50244 11.6503 2.47703 + C 11.6461 2.44587 11.6482 2.35557 11.7553 2.29085 + L 12.531 3.57467 + C 13.0342 3.27065 13.196 2.71398 13.1368 2.27627 + C 13.0754 1.82126 12.7166 1.25 12 1.25 + V 2.75 + Z + M 21.7092 12.2447 + C 21.6444 12.3518 21.5541 12.3539 21.523 12.3497 + C 21.4976 12.3462 21.4347 12.3314 21.3683 12.2676 + C 21.2899 12.1923 21.25 12.0885 21.25 12 + H 22.75 + C 22.75 11.2834 22.1787 10.9246 21.7237 10.8632 + C 21.286 10.804 20.7293 10.9658 20.4253 11.469 + L 21.7092 12.2447 + Z + M 12 21.25 + C 10.3139 21.25 8.73533 20.7996 7.37554 20.013 + L 6.62446 21.3114 + C 8.2064 22.2265 10.0432 22.75 12 22.75 + V 21.25 + Z + M 3.98703 16.6245 + C 3.20043 15.2647 2.75 13.6861 2.75 12 + H 1.25 + C 1.25 13.9568 1.77351 15.7936 2.68862 17.3755 + L 3.98703 16.6245 + Z + " + /> + } + </svg> + </button> + </form> + </li> + </menu> + </nav> +} + +css noMargin() { + margin: 0; +} diff --git a/templates/navbar_templ.go b/templates/navbar_templ.go new file mode 100644 index 0000000..90fa955 --- /dev/null +++ b/templates/navbar_templ.go @@ -0,0 +1,202 @@ +// Code generated by templ - DO NOT EDIT. + +// templ: version: v0.2.747 +package templates + +//lint:file-ignore SA4006 This context is only used if a nested component is present. + +import "github.com/a-h/templ" +import templruntime "github.com/a-h/templ/runtime" + +import "git.thomasvoss.com/euro-cash.eu/i18n" + +func navbar() templ.Component { + return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) { + templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context + templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W) + if !templ_7745c5c3_IsBuffer { + defer func() { + templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer) + if templ_7745c5c3_Err == nil { + templ_7745c5c3_Err = templ_7745c5c3_BufErr + } + }() + } + ctx = templ.InitializeContext(ctx) + templ_7745c5c3_Var1 := templ.GetChildren(ctx) + if templ_7745c5c3_Var1 == nil { + templ_7745c5c3_Var1 = templ.NopComponent + } + ctx = templ.ClearChildren(ctx) + p := ctx.Value(PrinterKey).(i18n.Printer) + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<nav><menu><li><a href=\"/\">") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + var templ_7745c5c3_Var2 string + templ_7745c5c3_Var2, templ_7745c5c3_Err = templ.JoinStringErrs(p.T("Home")) + if templ_7745c5c3_Err != nil { + return templ.Error{Err: templ_7745c5c3_Err, FileName: `navbar.templ`, Line: 10, Col: 32} + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var2)) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("</a></li><li><a href=\"#TODO\">") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + var templ_7745c5c3_Var3 string + templ_7745c5c3_Var3, templ_7745c5c3_Err = templ.JoinStringErrs(p.T("News")) + if templ_7745c5c3_Err != nil { + return templ.Error{Err: templ_7745c5c3_Err, FileName: `navbar.templ`, Line: 11, Col: 36} + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var3)) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("</a></li><li><a href=\"#TODO\">") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + var templ_7745c5c3_Var4 string + templ_7745c5c3_Var4, templ_7745c5c3_Err = templ.JoinStringErrs(p.T("Coin Collecting")) + if templ_7745c5c3_Err != nil { + return templ.Error{Err: templ_7745c5c3_Err, FileName: `navbar.templ`, Line: 12, Col: 47} + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var4)) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("</a></li><li><a href=\"#TODO\">") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + var templ_7745c5c3_Var5 string + templ_7745c5c3_Var5, templ_7745c5c3_Err = templ.JoinStringErrs(p.T("Coins")) + if templ_7745c5c3_Err != nil { + return templ.Error{Err: templ_7745c5c3_Err, FileName: `navbar.templ`, Line: 13, Col: 37} + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var5)) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("</a></li><li><a href=\"#TODO\">") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + var templ_7745c5c3_Var6 string + templ_7745c5c3_Var6, templ_7745c5c3_Err = templ.JoinStringErrs(p.T("Banknotes")) + if templ_7745c5c3_Err != nil { + return templ.Error{Err: templ_7745c5c3_Err, FileName: `navbar.templ`, Line: 14, Col: 41} + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var6)) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("</a></li><li><a href=\"#TODO\">") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + var templ_7745c5c3_Var7 string + templ_7745c5c3_Var7, templ_7745c5c3_Err = templ.JoinStringErrs(p.T("Jargon")) + if templ_7745c5c3_Err != nil { + return templ.Error{Err: templ_7745c5c3_Err, FileName: `navbar.templ`, Line: 15, Col: 38} + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var7)) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("</a></li></menu> <menu><li><a href=\"https://discord.gg/DCaXfRcy9C\" target=\"_blank\">") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + var templ_7745c5c3_Var8 string + templ_7745c5c3_Var8, templ_7745c5c3_Err = templ.JoinStringErrs(p.T("Discord")) + if templ_7745c5c3_Err != nil { + return templ.Error{Err: templ_7745c5c3_Err, FileName: `navbar.templ`, Line: 24, Col: 21} + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var8)) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("</a></li><li><a href=\"#TODO\">") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + var templ_7745c5c3_Var9 string + templ_7745c5c3_Var9, templ_7745c5c3_Err = templ.JoinStringErrs(p.T("About")) + if templ_7745c5c3_Err != nil { + return templ.Error{Err: templ_7745c5c3_Err, FileName: `navbar.templ`, Line: 27, Col: 37} + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var9)) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("</a></li><li id=\"nav-icon-lang\"><a href=\"/language\"><svg version=\"1.1\" width=\"19\" height=\"19\" viewBox=\"0 0 19 19\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><circle cx=\"9.5\" cy=\"9.5\" r=\"9\" stroke-linejoin=\"round\"></circle> <path d=\"M 9.5 .5\n\t\t\t\t\t\t\t C 9.5 .5\n\t\t\t\t\t\t\t\t 6.0 3.5\n\t\t\t\t\t\t\t\t 6.0 9.5\n\t\t\t\t\t\t\t C 6.0 15.5\n\t\t\t\t\t\t\t\t 9.5 18.5\n\t\t\t\t\t\t\t\t 9.5 18.5\" stroke-linejoin=\"round\"></path> <path d=\"M 9.5 .5\n\t\t\t\t\t\t\t C 9.5 .5\n\t\t\t\t\t\t\t\t 13.0 3.5\n\t\t\t\t\t\t\t\t 13.0 9.5\n\t\t\t\t\t\t\t C 13.0 15.5\n\t\t\t\t\t\t\t\t 9.5 18.5\n\t\t\t\t\t\t\t\t 9.5 18.5\" stroke-linejoin=\"round\"></path> <path d=\"M .5 9.5 H 18.5\" stroke-linejoin=\"round\"></path> <path d=\"M 17.0 5.0 H 2.0\" stroke-linejoin=\"round\"></path> <path d=\"M 17.0 14.0 H 2.0\" stroke-linejoin=\"round\"></path></svg> ") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + var templ_7745c5c3_Var10 string + templ_7745c5c3_Var10, templ_7745c5c3_Err = templ.JoinStringErrs(p.T("Language")) + if templ_7745c5c3_Err != nil { + return templ.Error{Err: templ_7745c5c3_Err, FileName: `navbar.templ`, Line: 66, Col: 22} + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var10)) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("</a></li><li id=\"nav-icon-theme\">") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + var templ_7745c5c3_Var11 = []any{noMargin()} + templ_7745c5c3_Err = templ.RenderCSSItems(ctx, templ_7745c5c3_Buffer, templ_7745c5c3_Var11...) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<form class=\"") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + var templ_7745c5c3_Var12 string + templ_7745c5c3_Var12, templ_7745c5c3_Err = templ.JoinStringErrs(templ.CSSClasses(templ_7745c5c3_Var11).String()) + if templ_7745c5c3_Err != nil { + return templ.Error{Err: templ_7745c5c3_Err, FileName: `navbar.templ`, Line: 1, Col: 0} + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var12)) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("\" action=\"#TODO\" method=\"POST\"><button><svg version=\"1.1\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><!-- TODO: if theme == dark -->") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + if true { + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<path d=\"M 7.28451 10.3333\n\t\t\t\t\t\t\t\t\t C 7.10026 10.8546\n\t\t\t\t\t\t\t\t\t\t 7 11.4156\n\t\t\t\t\t\t\t\t\t\t 7 12\n\t\t\t\t\t\t\t\t\t C 7 14.7614\n\t\t\t\t\t\t\t\t\t\t 9.23858 17\n\t\t\t\t\t\t\t\t\t\t 12 17\n\t\t\t\t\t\t\t\t\t C 14.7614 17\n\t\t\t\t\t\t\t\t\t\t 17 14.7614\n\t\t\t\t\t\t\t\t\t\t 17 12\n\t\t\t\t\t\t\t\t\t C 17 9.23858\n\t\t\t\t\t\t\t\t\t\t 14.7614 7\n\t\t\t\t\t\t\t\t\t\t 12 7\n\t\t\t\t\t\t\t\t\t C 11.4156 7\n\t\t\t\t\t\t\t\t\t\t 10.8546 7.10026\n\t\t\t\t\t\t\t\t\t\t 10.3333 7.28451\" stroke-width=\"1.5\" stroke-linecap=\"round\"></path> <path d=\"M 12 2 V 4\" stroke-width=\"1.5\" stroke-linecap=\"round\"></path> <path d=\"M 12 20 V 22\" stroke-width=\"1.5\" stroke-linecap=\"round\"></path> <path d=\"M 4 12 L 2 12\" stroke-width=\"1.5\" stroke-linecap=\"round\"></path> <path d=\"M 22 12 L 20 12\" stroke-width=\"1.5\" stroke-linecap=\"round\"></path> <path d=\"M 19.7778 4.22266 L 17.5558 6.25424\" stroke-width=\"1.5\" stroke-linecap=\"round\"></path> <path d=\"M 4.22217 4.22266 L 6.44418 6.25424\" stroke-width=\"1.5\" stroke-linecap=\"round\"></path> <path d=\"M 6.44434 17.5557 L 4.22211 19.7779\" stroke-width=\"1.5\" stroke-linecap=\"round\"></path> <path d=\"M 19.7778 19.7773 L 17.5558 17.5551\" stroke-width=\"1.5\" stroke-linecap=\"round\"></path>") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + } else { + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<path d=\"M 21.0672 11.8568\n\t\t\t\t\t\t\t\t\t\t L 20.4253 11.469\n\t\t\t\t\t\t\t\t\t\t L 21.0672 11.8568\n\t\t\t\t\t\t\t\t\t\t Z\n\t\t\t\t\t\t\t\t\t\t M 12.1432 2.93276\n\t\t\t\t\t\t\t\t\t\t L 11.7553 2.29085\n\t\t\t\t\t\t\t\t\t\t V 2.29085\n\t\t\t\t\t\t\t\t\t\t L 12.1432 2.93276\n\t\t\t\t\t\t\t\t\t\t Z\n\t\t\t\t\t\t\t\t\t\t M 7.37554 20.013\n\t\t\t\t\t\t\t\t\t\t C 7.017 19.8056 6.5582 19.9281 6.3508 20.2866\n\t\t\t\t\t\t\t\t\t\t C 6.14339 20.6452 6.26591 21.104 6.62446 21.3114\n\t\t\t\t\t\t\t\t\t\t L 7.37554 20.013\n\t\t\t\t\t\t\t\t\t\t Z\n\t\t\t\t\t\t\t\t\t\t M 2.68862 17.3755\n\t\t\t\t\t\t\t\t\t\t C 2.89602 17.7341 3.35482 17.8566 3.71337 17.6492\n\t\t\t\t\t\t\t\t\t\t C 4.07191 17.4418 4.19443 16.983 3.98703 16.6245\n\t\t\t\t\t\t\t\t\t\t L 2.68862 17.3755\n\t\t\t\t\t\t\t\t\t\t Z\n\t\t\t\t\t\t\t\t\t\t M 21.25 12\n\t\t\t\t\t\t\t\t\t\t C 21.25 17.1086 17.1086 21.25 12 21.25\n\t\t\t\t\t\t\t\t\t\t V 22.75\n\t\t\t\t\t\t\t\t\t\t C 17.9371 22.75 22.75 17.9371 22.75 12\n\t\t\t\t\t\t\t\t\t\t H 21.25\n\t\t\t\t\t\t\t\t\t\t Z\n\t\t\t\t\t\t\t\t\t\t M 2.75 12\n\t\t\t\t\t\t\t\t\t\t C 2.75 6.89137 6.89137 2.75 12 2.75\n\t\t\t\t\t\t\t\t\t\t V 1.25\n\t\t\t\t\t\t\t\t\t\t C 6.06294 1.25 1.25 6.06294 1.25 12\n\t\t\t\t\t\t\t\t\t\t H 2.75\n\t\t\t\t\t\t\t\t\t\t Z\n\t\t\t\t\t\t\t\t\t\t M 15.5 14.25\n\t\t\t\t\t\t\t\t\t\t C 12.3244 14.25 9.75 11.6756 9.75 8.5\n\t\t\t\t\t\t\t\t\t\t H 8.25\n\t\t\t\t\t\t\t\t\t\t C 8.25 12.5041 11.4959 15.75 15.5 15.75\n\t\t\t\t\t\t\t\t\t\t V 14.25\n\t\t\t\t\t\t\t\t\t\t Z\n\t\t\t\t\t\t\t\t\t\t M 20.4253 11.469\n\t\t\t\t\t\t\t\t\t\t C 19.4172 13.1373 17.5882 14.25 15.5 14.25\n\t\t\t\t\t\t\t\t\t\t V 15.75\n\t\t\t\t\t\t\t\t\t\t C 18.1349 15.75 20.4407 14.3439 21.7092 12.2447\n\t\t\t\t\t\t\t\t\t\t L 20.4253 11.469\n\t\t\t\t\t\t\t\t\t\t Z\n\t\t\t\t\t\t\t\t\t\t M 9.75 8.5\n\t\t\t\t\t\t\t\t\t\t C 9.75 6.41182 10.8627 4.5828 12.531 3.57467\n\t\t\t\t\t\t\t\t\t\t L 11.7553 2.29085\n\t\t\t\t\t\t\t\t\t\t C 9.65609 3.5593 8.25 5.86509 8.25 8.5\n\t\t\t\t\t\t\t\t\t\t H 9.75\n\t\t\t\t\t\t\t\t\t\t Z\n\t\t\t\t\t\t\t\t\t\t M 12 2.75\n\t\t\t\t\t\t\t\t\t\t C 11.9115 2.75 11.8077 2.71008 11.7324 2.63168\n\t\t\t\t\t\t\t\t\t\t C 11.6686 2.56527 11.6538 2.50244 11.6503 2.47703\n\t\t\t\t\t\t\t\t\t\t C 11.6461 2.44587 11.6482 2.35557 11.7553 2.29085\n\t\t\t\t\t\t\t\t\t\t L 12.531 3.57467\n\t\t\t\t\t\t\t\t\t\t C 13.0342 3.27065 13.196 2.71398 13.1368 2.27627\n\t\t\t\t\t\t\t\t\t\t C 13.0754 1.82126 12.7166 1.25 12 1.25\n\t\t\t\t\t\t\t\t\t\t V 2.75\n\t\t\t\t\t\t\t\t\t\t Z\n\t\t\t\t\t\t\t\t\t\t M 21.7092 12.2447\n\t\t\t\t\t\t\t\t\t\t C 21.6444 12.3518 21.5541 12.3539 21.523 12.3497\n\t\t\t\t\t\t\t\t\t\t C 21.4976 12.3462 21.4347 12.3314 21.3683 12.2676\n\t\t\t\t\t\t\t\t\t\t C 21.2899 12.1923 21.25 12.0885 21.25 12\n\t\t\t\t\t\t\t\t\t\t H 22.75\n\t\t\t\t\t\t\t\t\t\t C 22.75 11.2834 22.1787 10.9246 21.7237 10.8632\n\t\t\t\t\t\t\t\t\t\t C 21.286 10.804 20.7293 10.9658 20.4253 11.469\n\t\t\t\t\t\t\t\t\t\t L 21.7092 12.2447\n\t\t\t\t\t\t\t\t\t\t Z\n\t\t\t\t\t\t\t\t\t\t M 12 21.25\n\t\t\t\t\t\t\t\t\t\t C 10.3139 21.25 8.73533 20.7996 7.37554 20.013\n\t\t\t\t\t\t\t\t\t\t L 6.62446 21.3114\n\t\t\t\t\t\t\t\t\t\t C 8.2064 22.2265 10.0432 22.75 12 22.75\n\t\t\t\t\t\t\t\t\t\t V 21.25\n\t\t\t\t\t\t\t\t\t\t Z\n\t\t\t\t\t\t\t\t\t\t M 3.98703 16.6245\n\t\t\t\t\t\t\t\t\t\t C 3.20043 15.2647 2.75 13.6861 2.75 12\n\t\t\t\t\t\t\t\t\t\t H 1.25\n\t\t\t\t\t\t\t\t\t\t C 1.25 13.9568 1.77351 15.7936 2.68862 17.3755\n\t\t\t\t\t\t\t\t\t\t L 3.98703 16.6245\n\t\t\t\t\t\t\t\t\t\t Z\n\t\t\t\t\t\t\t\t\t \"></path>") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("</svg></button></form></li></menu></nav>") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + return templ_7745c5c3_Err + }) +} + +func noMargin() templ.CSSClass { + templ_7745c5c3_CSSBuilder := templruntime.GetBuilder() + templ_7745c5c3_CSSBuilder.WriteString(`margin:0;`) + templ_7745c5c3_CSSID := templ.CSSID(`noMargin`, templ_7745c5c3_CSSBuilder.String()) + return templ.ComponentCSSClass{ + ID: templ_7745c5c3_CSSID, + Class: templ.SafeCSS(`.` + templ_7745c5c3_CSSID + `{` + templ_7745c5c3_CSSBuilder.String() + `}`), + } +} diff --git a/templates/root.templ b/templates/root.templ new file mode 100644 index 0000000..d372766 --- /dev/null +++ b/templates/root.templ @@ -0,0 +1,101 @@ +package templates + +import "strings" +import "git.thomasvoss.com/euro-cash.eu/i18n" + +templ Root(head, body templ.Component) { + {{ p := ctx.Value(PrinterKey).(i18n.Printer) }} + + <!DOCTYPE html> + <html lang={ p.Lang } data-theme="dark"> + <head> + <meta charset="UTF-8" /> + <meta name="viewport" content="width=device-width, initial-scale=1.0" /> + <link rel="stylesheet" type="text/css" href="/style.css"> + <title>Euro Cash</title> + if head != nil { + @head + } + </head> + <body> + if body != nil { + @body + } + <footer> + <p> + <small> + { p.T("Found a mistake or want to contribute missing information?") } + <a href="/">{ p.T("Feel free to contact us!") }</a> + </small> + </p> + </footer> + </body> + </html> +} + +templ Index() { + {{ p := ctx.Value(PrinterKey).(i18n.Printer) }} + + <header> + @navbar() + <h1>{ p.T("The Euro Cash Compendium") }</h1> + <p> + { p.T("United in") } + <del>{ p.T("diversity") }</del> + <ins>{ p.T("cash") }</ins> + </p> + <p>{ p.T("Växjö has %d people", 70_489) }</p> + </header> +} + +templ SetLanguage() { + {{ p := ctx.Value(PrinterKey).(i18n.Printer) }} + + <header> + @navbar() + <h1>{ p.T("Select Your Language") }</h1> + </header> + + <main> + <p> + { p.T("Select your preferred language to use on the site.") } + </p> + <p> + If you are an American user, it’s suggested that you select + American English instead of British English. This will ensure that + dates will be formatted with the month before the day. + </p> + + <hr /> + + <h2>{ p.T("Eurozone Languages") }</h2> + @languageGrid(true) + + <h2>{ p.T("Other Languages") }</h2> + @languageGrid(false) + </main> +} + +templ languageGrid(eurozone bool) { + <form action="/language" method="POST"> + <div class="lang-grid"> + for _, loc := range i18n.Locales { + if loc.Eurozone == eurozone { + <button + type="submit" + name={ LocaleKey } + value={ loc.Code } + disabled?={ !loc.Enabled } + > + <span + lang={ loc.Code } + data-code={ strings.ToUpper(loc.Language()) } + > + { loc.Name } + </span> + </button> + } + } + </div> + </form> +} diff --git a/templates/root_templ.go b/templates/root_templ.go new file mode 100644 index 0000000..d35ddd2 --- /dev/null +++ b/templates/root_templ.go @@ -0,0 +1,414 @@ +// Code generated by templ - DO NOT EDIT. + +// templ: version: v0.2.747 +package templates + +//lint:file-ignore SA4006 This context is only used if a nested component is present. + +import "github.com/a-h/templ" +import templruntime "github.com/a-h/templ/runtime" + +import "strings" +import "git.thomasvoss.com/euro-cash.eu/i18n" + +func Root(head, body templ.Component) templ.Component { + return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) { + templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context + templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W) + if !templ_7745c5c3_IsBuffer { + defer func() { + templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer) + if templ_7745c5c3_Err == nil { + templ_7745c5c3_Err = templ_7745c5c3_BufErr + } + }() + } + ctx = templ.InitializeContext(ctx) + templ_7745c5c3_Var1 := templ.GetChildren(ctx) + if templ_7745c5c3_Var1 == nil { + templ_7745c5c3_Var1 = templ.NopComponent + } + ctx = templ.ClearChildren(ctx) + p := ctx.Value(PrinterKey).(i18n.Printer) + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<!doctype html><html lang=\"") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + var templ_7745c5c3_Var2 string + templ_7745c5c3_Var2, templ_7745c5c3_Err = templ.JoinStringErrs(p.Lang) + if templ_7745c5c3_Err != nil { + return templ.Error{Err: templ_7745c5c3_Err, FileName: `root.templ`, Line: 10, Col: 20} + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var2)) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("\" data-theme=\"dark\"><head><meta charset=\"UTF-8\"><meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\"><link rel=\"stylesheet\" type=\"text/css\" href=\"/style.css\"><title>Euro Cash</title>") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + if head != nil { + templ_7745c5c3_Err = head.Render(ctx, templ_7745c5c3_Buffer) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("</head><body>") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + if body != nil { + templ_7745c5c3_Err = body.Render(ctx, templ_7745c5c3_Buffer) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<footer><p><small>") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + var templ_7745c5c3_Var3 string + templ_7745c5c3_Var3, templ_7745c5c3_Err = templ.JoinStringErrs(p.T("Found a mistake or want to contribute missing information?")) + if templ_7745c5c3_Err != nil { + return templ.Error{Err: templ_7745c5c3_Err, FileName: `root.templ`, Line: 27, Col: 73} + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var3)) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(" <a href=\"/\">") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + var templ_7745c5c3_Var4 string + templ_7745c5c3_Var4, templ_7745c5c3_Err = templ.JoinStringErrs(p.T("Feel free to contact us!")) + if templ_7745c5c3_Err != nil { + return templ.Error{Err: templ_7745c5c3_Err, FileName: `root.templ`, Line: 28, Col: 51} + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var4)) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("</a></small></p></footer></body></html>") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + return templ_7745c5c3_Err + }) +} + +func Index() templ.Component { + return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) { + templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context + templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W) + if !templ_7745c5c3_IsBuffer { + defer func() { + templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer) + if templ_7745c5c3_Err == nil { + templ_7745c5c3_Err = templ_7745c5c3_BufErr + } + }() + } + ctx = templ.InitializeContext(ctx) + templ_7745c5c3_Var5 := templ.GetChildren(ctx) + if templ_7745c5c3_Var5 == nil { + templ_7745c5c3_Var5 = templ.NopComponent + } + ctx = templ.ClearChildren(ctx) + p := ctx.Value(PrinterKey).(i18n.Printer) + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<header>") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + templ_7745c5c3_Err = navbar().Render(ctx, templ_7745c5c3_Buffer) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<h1>") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + var templ_7745c5c3_Var6 string + templ_7745c5c3_Var6, templ_7745c5c3_Err = templ.JoinStringErrs(p.T("The Euro Cash Compendium")) + if templ_7745c5c3_Err != nil { + return templ.Error{Err: templ_7745c5c3_Err, FileName: `root.templ`, Line: 41, Col: 39} + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var6)) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("</h1><p>") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + var templ_7745c5c3_Var7 string + templ_7745c5c3_Var7, templ_7745c5c3_Err = templ.JoinStringErrs(p.T("United in")) + if templ_7745c5c3_Err != nil { + return templ.Error{Err: templ_7745c5c3_Err, FileName: `root.templ`, Line: 43, Col: 21} + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var7)) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(" <del>") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + var templ_7745c5c3_Var8 string + templ_7745c5c3_Var8, templ_7745c5c3_Err = templ.JoinStringErrs(p.T("diversity")) + if templ_7745c5c3_Err != nil { + return templ.Error{Err: templ_7745c5c3_Err, FileName: `root.templ`, Line: 44, Col: 26} + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var8)) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("</del> <ins>") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + var templ_7745c5c3_Var9 string + templ_7745c5c3_Var9, templ_7745c5c3_Err = templ.JoinStringErrs(p.T("cash")) + if templ_7745c5c3_Err != nil { + return templ.Error{Err: templ_7745c5c3_Err, FileName: `root.templ`, Line: 45, Col: 21} + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var9)) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("</ins></p><p>") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + var templ_7745c5c3_Var10 string + templ_7745c5c3_Var10, templ_7745c5c3_Err = templ.JoinStringErrs(p.T("Växjö has %d people", 70_489)) + if templ_7745c5c3_Err != nil { + return templ.Error{Err: templ_7745c5c3_Err, FileName: `root.templ`, Line: 47, Col: 43} + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var10)) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("</p></header>") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + return templ_7745c5c3_Err + }) +} + +func SetLanguage() templ.Component { + return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) { + templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context + templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W) + if !templ_7745c5c3_IsBuffer { + defer func() { + templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer) + if templ_7745c5c3_Err == nil { + templ_7745c5c3_Err = templ_7745c5c3_BufErr + } + }() + } + ctx = templ.InitializeContext(ctx) + templ_7745c5c3_Var11 := templ.GetChildren(ctx) + if templ_7745c5c3_Var11 == nil { + templ_7745c5c3_Var11 = templ.NopComponent + } + ctx = templ.ClearChildren(ctx) + p := ctx.Value(PrinterKey).(i18n.Printer) + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<header>") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + templ_7745c5c3_Err = navbar().Render(ctx, templ_7745c5c3_Buffer) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<h1>") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + var templ_7745c5c3_Var12 string + templ_7745c5c3_Var12, templ_7745c5c3_Err = templ.JoinStringErrs(p.T("Select Your Language")) + if templ_7745c5c3_Err != nil { + return templ.Error{Err: templ_7745c5c3_Err, FileName: `root.templ`, Line: 56, Col: 35} + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var12)) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("</h1></header><main><p>") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + var templ_7745c5c3_Var13 string + templ_7745c5c3_Var13, templ_7745c5c3_Err = templ.JoinStringErrs(p.T("Select your preferred language to use on the site.")) + if templ_7745c5c3_Err != nil { + return templ.Error{Err: templ_7745c5c3_Err, FileName: `root.templ`, Line: 61, Col: 62} + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var13)) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("</p><p>If you are an American user, it’s suggested that you select American English instead of British English. This will ensure that dates will be formatted with the month before the day. </p><hr><h2>") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + var templ_7745c5c3_Var14 string + templ_7745c5c3_Var14, templ_7745c5c3_Err = templ.JoinStringErrs(p.T("Eurozone Languages")) + if templ_7745c5c3_Err != nil { + return templ.Error{Err: templ_7745c5c3_Err, FileName: `root.templ`, Line: 71, Col: 33} + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var14)) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("</h2>") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + templ_7745c5c3_Err = languageGrid(true).Render(ctx, templ_7745c5c3_Buffer) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<h2>") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + var templ_7745c5c3_Var15 string + templ_7745c5c3_Var15, templ_7745c5c3_Err = templ.JoinStringErrs(p.T("Other Languages")) + if templ_7745c5c3_Err != nil { + return templ.Error{Err: templ_7745c5c3_Err, FileName: `root.templ`, Line: 74, Col: 30} + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var15)) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("</h2>") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + templ_7745c5c3_Err = languageGrid(false).Render(ctx, templ_7745c5c3_Buffer) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("</main>") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + return templ_7745c5c3_Err + }) +} + +func languageGrid(eurozone bool) templ.Component { + return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) { + templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context + templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W) + if !templ_7745c5c3_IsBuffer { + defer func() { + templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer) + if templ_7745c5c3_Err == nil { + templ_7745c5c3_Err = templ_7745c5c3_BufErr + } + }() + } + ctx = templ.InitializeContext(ctx) + templ_7745c5c3_Var16 := templ.GetChildren(ctx) + if templ_7745c5c3_Var16 == nil { + templ_7745c5c3_Var16 = templ.NopComponent + } + ctx = templ.ClearChildren(ctx) + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<form action=\"/language\" method=\"POST\"><div class=\"lang-grid\">") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + for _, loc := range i18n.Locales { + if loc.Eurozone == eurozone { + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<button type=\"submit\" name=\"") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + var templ_7745c5c3_Var17 string + templ_7745c5c3_Var17, templ_7745c5c3_Err = templ.JoinStringErrs(LocaleKey) + if templ_7745c5c3_Err != nil { + return templ.Error{Err: templ_7745c5c3_Err, FileName: `root.templ`, Line: 86, Col: 22} + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var17)) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("\" value=\"") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + var templ_7745c5c3_Var18 string + templ_7745c5c3_Var18, templ_7745c5c3_Err = templ.JoinStringErrs(loc.Code) + if templ_7745c5c3_Err != nil { + return templ.Error{Err: templ_7745c5c3_Err, FileName: `root.templ`, Line: 87, Col: 22} + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var18)) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("\"") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + if !loc.Enabled { + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(" disabled") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("><span lang=\"") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + var templ_7745c5c3_Var19 string + templ_7745c5c3_Var19, templ_7745c5c3_Err = templ.JoinStringErrs(loc.Code) + if templ_7745c5c3_Err != nil { + return templ.Error{Err: templ_7745c5c3_Err, FileName: `root.templ`, Line: 91, Col: 22} + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var19)) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("\" data-code=\"") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + var templ_7745c5c3_Var20 string + templ_7745c5c3_Var20, templ_7745c5c3_Err = templ.JoinStringErrs(strings.ToUpper(loc.Language())) + if templ_7745c5c3_Err != nil { + return templ.Error{Err: templ_7745c5c3_Err, FileName: `root.templ`, Line: 92, Col: 50} + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var20)) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("\">") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + var templ_7745c5c3_Var21 string + templ_7745c5c3_Var21, templ_7745c5c3_Err = templ.JoinStringErrs(loc.Name) + if templ_7745c5c3_Err != nil { + return templ.Error{Err: templ_7745c5c3_Err, FileName: `root.templ`, Line: 94, Col: 17} + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var21)) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("</span></button>") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + } + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("</div></form>") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + return templ_7745c5c3_Err + }) +} |