Maybe i'm missing something obvious.
I got these 3 component's
fn HomeWithoutLanguage() -> Element {
let language = use_signal(|| get_language());
rsx! {
Home { language: language }
}
}
#[component]
fn HomeEn() -> Element {
rsx! {
Home { language: "en" }
}
}
#[component]
fn HomeTr() -> Element {
rsx! {
Home { language: "tr" }
}
}
#[component]
fn HomeRu() -> Element {
rsx! {
Home { language: "ru" }
}
}```
And two public functions:
```use web_sys;
pub fn save_language(lang: &str) {
if let Ok(Some(storage)) = web_sys::window()
.unwrap()
.local_storage()
{
let _ = storage.set_item("language", lang);
}
}
pub fn get_language() -> String {
web_sys::window()
.unwrap()
.local_storage()
.ok()
.flatten()
.and_then(|storage| storage.get_item("language").ok().flatten())
.unwrap_or_else(|| "en".into())
}