[TASK] add lang nav

This commit is contained in:
Marie Birner
2025-08-03 10:35:50 +02:00
parent bdf7d44ee5
commit ff19873f6a
2 changed files with 15 additions and 10 deletions

View File

@@ -6,7 +6,8 @@ use maud::{html, Markup, DOCTYPE};
pub fn new(content: Markup, lang: Language) -> Markup { pub fn new(content: Markup, lang: Language) -> Markup {
html! { html! {
(DOCTYPE) (DOCTYPE)
head { html lang=(lang) {
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";
link rel="stylesheet" href="/static/pico.min.css"; link rel="stylesheet" href="/static/pico.min.css";
@@ -39,8 +40,8 @@ pub fn new(content: Markup, lang: Language) -> Markup {
} }
li { li {
button id="language_toogle" lang="en" { button id="lang-toggle" lang=(lang.next_language()) {
"DE" (lang.next_language())
} }
} }
} }
@@ -62,5 +63,6 @@ pub fn new(content: Markup, lang: Language) -> Markup {
} }
script src="/static/theme.js" {} script src="/static/theme.js" {}
} }
}
} }
} }

View File

@@ -4,14 +4,17 @@ document.addEventListener('DOMContentLoaded', () => {
}) })
function setLanguageCookie() { function setLanguageCookie() {
let langToggle = document.getElementById('language_toogle'); let langToggle = document.getElementById('lang-toggle');
langToggle.addEventListener('click', (e)=> { // check if element exists
e.preventDefault(); langToggle?.addEventListener('click', (e)=> {
let lang = langToggle.getAttribute('lang'); e.preventDefault();
document.cookie = "language=" + lang;
window.location.reload(); // set lang, if lang attribute doesn't exit set default en
}) let lang = langToggle.getAttribute('lang') ? langToggle.getAttribute('lang') : 'en';
document.cookie = "language=" + lang;
window.location.reload();
})
} }
/** [ph] */ /** [ph] */