diff --git a/assets/de.svg b/assets/de.svg new file mode 100644 index 0000000..1064bbd --- /dev/null +++ b/assets/de.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/assets/fr.svg b/assets/fr.svg new file mode 100644 index 0000000..51ec9f3 --- /dev/null +++ b/assets/fr.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/assets/uk.svg b/assets/uk.svg new file mode 100644 index 0000000..5015172 --- /dev/null +++ b/assets/uk.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/launch.html b/launch.html index fd685bc..8336b8b 100644 --- a/launch.html +++ b/launch.html @@ -32,6 +32,9 @@ top: 16px; right: 16px; z-index: 100; + display: flex; + align-items: flex-start; + gap: 8px; } .lang-menu { @@ -78,6 +81,14 @@ background: #f0f8ff; } + .lang-flag { + width: 20px; + height: 13px; + margin-right: 6px; + border-radius: 2px; + vertical-align: -2px; + } + .card { box-sizing: border-box; width: min(600px, calc(100% - 32px)); @@ -266,14 +277,18 @@ @@ -881,8 +896,15 @@ fr: "Français" }; + const LANGUAGE_FLAGS = { + en: "assets/uk.svg", + de: "assets/de.svg", + fr: "assets/fr.svg" + }; + function updateLanguageMenu() { - langButton.textContent = LANGUAGE_NAMES[currentLanguage]; + langFlag.src = LANGUAGE_FLAGS[currentLanguage]; + langLabel.textContent = LANGUAGE_NAMES[currentLanguage]; langDropdown .querySelectorAll("button[data-lang]") @@ -982,6 +1004,8 @@ const langMenu = document.getElementById("langMenu"); const langButton = document.getElementById("langButton"); const langDropdown = document.getElementById("langDropdown"); + const langFlag = document.getElementById("langFlag"); + const langLabel = document.getElementById("langLabel"); /* ============================================================ * GET ROOM FROM QUERY-PARAMETER @@ -1501,7 +1525,19 @@ END:VCALENDAR`; const room = getRoom(); /* - * Kein room-Parameter + * Kein room-Parameter: Meldungen ausblenden, + * nur den Create-Button anzeigen. + */ + if (room === null) { + invalidRoom.querySelector("h1").classList.add("hidden"); + invalidRoom.querySelector(".error").classList.add("hidden"); + invalidRoom.classList.remove("hidden"); + createNewMeetingButton.classList.remove("hidden"); + return; + } + + /* + * Ungültiger room-Parameter. */ if (!isValidRoom(room)) { invalidRoom.classList.remove("hidden");