don't render language picker if we have less than 2 translations

This commit is contained in:
cblgh 2021-04-15 20:14:04 +02:00
parent 93f84e04b0
commit ee185e5f43
2 changed files with 19 additions and 11 deletions

View File

@ -123,10 +123,15 @@ func New(
} }
}), }),
render.InjectTemplateFunc("listLanguages", func(r *http.Request) interface{} { render.InjectTemplateFunc("language_count", func(r *http.Request) interface{} {
return func() int {
return len(locHelper.ListLanguages())
}
}),
render.InjectTemplateFunc("list_languages", func(r *http.Request) interface{} {
urlTo := web.NewURLTo(m) urlTo := web.NewURLTo(m)
route := urlTo(router.CompleteSetLanguage).String() route := urlTo(router.CompleteSetLanguage).String()
// seem to get an error when changing languages on pages that already embed a csrf token
csrfElement := csrf.TemplateField(r) csrfElement := csrf.TemplateField(r)
createFormElement := func(tag, translation string) string { createFormElement := func(tag, translation string) string {

View File

@ -90,15 +90,18 @@
{{end}} {{end}}
</div> </div>
<div class="flex justify-center"> <div class="flex justify-center">
<details class="w-72"> {{ $languages := language_count }}
<summary {{ if gt $languages 1 }}
class="mb-2 mx-auto px-3 py-1 text-gray-500 w-32 rounded shadow bg-gray-50 ring-1 ring-gray-300 hover:bg-gray-100 cursor-pointer"> <details class="w-72">
Language <summary
</summary> class="mb-2 mx-auto px-3 py-1 text-gray-500 w-32 rounded shadow bg-gray-50 ring-1 ring-gray-300 hover:bg-gray-100 cursor-pointer">
<div class="grid grid-cols-2 justify-items-center gap-x-1"> Language
{{ listLanguages }} </summary>
</div> <div class="grid grid-cols-2 justify-items-center gap-x-1">
</details> {{ list_languages }}
</div>
</details>
{{ end }}
</div> </div>
</footer> </footer>
{{end}} {{end}}