aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/templates/language.html.tmpl
diff options
context:
space:
mode:
Diffstat (limited to 'src/templates/language.html.tmpl')
-rw-r--r--src/templates/language.html.tmpl58
1 files changed, 23 insertions, 35 deletions
diff --git a/src/templates/language.html.tmpl b/src/templates/language.html.tmpl
index a79e30c..768190c 100644
--- a/src/templates/language.html.tmpl
+++ b/src/templates/language.html.tmpl
@@ -1,11 +1,6 @@
{{ define "header" }}
<style>
- *:has(> .lang-fade-in-out) {
- line-height: 1.1;
- }
-
.lang-fade-in-out {
- opacity: 0.5;
transition: opacity 1s;
&.hide {
@@ -16,7 +11,7 @@
<script>
(() => {
- let i = 0;
+ let i = -1;
let nodes;
const Δt = 5000; /* Total time a text is shown */
const Δf = 1000; /* Fade duration */
@@ -36,32 +31,23 @@
{{ end }}
];
- const updateTexts = () => {
- nodes.forEach((n, j) => {
- const [lang, ...strs] = texts[i];
- n.lang = lang;
- n.textContent = strs[j];
- n.classList.remove("hide");
- });
- };
-
const change = () => {
nodes.forEach(n => n.classList.add("hide"));
setTimeout(() => {
i = (i + 1) % texts.length;
- updateTexts();
+ nodes.forEach((n, j) => {
+ const [lang, ...strs] = texts[i];
+ n.lang = lang;
+ n.textContent = strs[j];
+ n.classList.remove("hide");
+ });
}, Δf);
};
document.addEventListener("DOMContentLoaded", _ => {
nodes = $$('.lang-fade-in-out');
- updateTexts();
- /* When you first do a page load there is no fade-in for the initial
- text, so we want to trigger a fade-out Δf milliseconds earlier */
- setTimeout(() => {
- change();
- setInterval(change, Δt);
- }, Δt - Δf);
+ change();
+ setInterval(change, Δt);
});
})();
</script>
@@ -72,25 +58,26 @@
{{ template "navbar" . }}
<h1>
{{ .Get "Select Your Language" }}
- <br><span class="lang-fade-in-out"></span>
+ <br><span class="lang-fade-in-out translation">&nbsp;</span>
</h1>
</header>
<main>
<h2>
{{ .Get "Eurozone Languages" }}
- <br><span class="lang-fade-in-out"></span>
+ <br><span class="lang-fade-in-out translation">&nbsp;</span>
</h2>
- {{ template "langgrid" true }}
+ {{ template "langgrid" (tuple .Printer true) }}
<h2>
{{ .Get "Other Languages" }}
- <br><span class="lang-fade-in-out"></span>
+ <br><span class="lang-fade-in-out translation">&nbsp;</span>
</h2>
- {{ template "langgrid" false }}
+ {{ template "langgrid" (tuple .Printer false) }}
</main>
{{ end }}
{{ define "langgrid" }}
-{{ $ez := . }}
+{{ $p := index . 0 }}
+{{ $ez := index . 1 }}
<form action="/language" method="POST">
<div class="lang-grid">
{{ range locales }}
@@ -98,16 +85,17 @@
<button
type="submit"
name="locale"
- value={{ .Bcp }}
+ value="{{ .Bcp }}"
{{ if not .Enabled }}
disabled
{{ end }}
>
- <span
- lang={{ .Bcp }}
- data-code={{ .Language | toUpper }}
- >
- {{ .Name }}
+ <span>{{ .Language | toUpper }}</span>
+ <span lang="{{ .Bcp }}">
+ {{ .Name }}<br>
+ <span lang="{{ $p.Bcp }}" class="translation">
+ {{ $p.GetC .Name "Language Name" }}
+ </span>
</span>
</button>
{{ end }}