From 17b485ae4d0dcdfc79d4b43dc2fb8291da3f9225 Mon Sep 17 00:00:00 2001 From: Anna Clemens Date: Sun, 10 Oct 2021 13:42:33 -0400 Subject: [PATCH] fix: take into account cookie in js --- server/assets/listings.css | 4 ++-- server/assets/listings.js | 12 +++++++++++- server/src/ffxiv.rs | 9 +++++++++ server/templates/listings.html | 2 +- 4 files changed, 23 insertions(+), 4 deletions(-) diff --git a/server/assets/listings.css b/server/assets/listings.css index 99da2bb..49a9792 100644 --- a/server/assets/listings.css +++ b/server/assets/listings.css @@ -42,8 +42,8 @@ body { } .no-js .requires-js { - display: none; - visibility: hidden; + display: none !important; + visibility: hidden !important; } details { diff --git a/server/assets/listings.js b/server/assets/listings.js index 0ca830b..dae072f 100644 --- a/server/assets/listings.js +++ b/server/assets/listings.js @@ -5,7 +5,7 @@ allowed: [], centre: 'All', list: null, - lang: 'en', + lang: null, }; function addJsClass() { @@ -62,6 +62,16 @@ dataCentre.value = state.centre; let language = document.getElementById('language'); + if (state.lang === null) { + state.lang = language.dataset.accept; + let cookie = document.cookie + .split(';') + .find(row => row.trim().startsWith('lang=')); + if (cookie !== undefined) { + state.lang = decodeURIComponent(cookie.split('=')[1]); + } + } + language.value = state.lang; } diff --git a/server/src/ffxiv.rs b/server/src/ffxiv.rs index db7be9b..32d2b43 100644 --- a/server/src/ffxiv.rs +++ b/server/src/ffxiv.rs @@ -30,6 +30,15 @@ pub enum Language { } impl Language { + pub fn code(&self) -> &'static str { + match self { + Self::English => "en", + Self::Japanese => "ja", + Self::German => "de", + Self::French => "fr", + } + } + pub fn from_codes(val: Option<&str>) -> Self { let val = match val { Some(v) => v, diff --git a/server/templates/listings.html b/server/templates/listings.html index bdfe902..5dfe5b0 100644 --- a/server/templates/listings.html +++ b/server/templates/listings.html @@ -52,7 +52,7 @@ Remote Party Finder
-