[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,6 +6,7 @@ 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)
html lang=(lang) {
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";
@@ -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())
} }
} }
} }
@@ -63,4 +64,5 @@ pub fn new(content: Markup, lang: Language) -> Markup {
script src="/static/theme.js" {} script src="/static/theme.js" {}
} }
} }
}
} }

View File

@@ -4,11 +4,14 @@ 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
langToggle?.addEventListener('click', (e)=> {
e.preventDefault(); e.preventDefault();
let lang = langToggle.getAttribute('lang');
// set lang, if lang attribute doesn't exit set default en
let lang = langToggle.getAttribute('lang') ? langToggle.getAttribute('lang') : 'en';
document.cookie = "language=" + lang; document.cookie = "language=" + lang;
window.location.reload(); window.location.reload();
}) })