[yew-devel] [PATCH yew-widget-toolkit] widget: catalog loader: set text direction after load

Dominik Csapak d.csapak at proxmox.com
Tue Sep 23 14:50:46 CEST 2025


The text direction is already set when the language changes via the
LanguageSelector, but on page load this can only be done by the catalog
loader, so do it there too, otherwise the text direction is not set
after a reload of the page, even if the language itself is correct.

Signed-off-by: Dominik Csapak <d.csapak at proxmox.com>
---
 src/widget/catalog_loader.rs | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/src/widget/catalog_loader.rs b/src/widget/catalog_loader.rs
index a8a14f5..6517302 100644
--- a/src/widget/catalog_loader.rs
+++ b/src/widget/catalog_loader.rs
@@ -5,7 +5,8 @@ use yew::html::IntoPropValue;
 use yew::virtual_dom::{VComp, VNode};
 
 use crate::props::{IntoOptionalTextRenderFn, TextRenderFn};
-use crate::state::{Language, LanguageObserver};
+use crate::state::{get_language_info, Language, LanguageObserver};
+use crate::widget::rtl_switcher::set_text_direction;
 use crate::{impl_to_html, prelude::*};
 
 use pwt_macros::builder;
@@ -107,6 +108,11 @@ impl Component for PwtCatalogLoader {
         let props = ctx.props();
         match msg {
             Msg::LoadDone => {
+                if let Some(info) = get_language_info(&self.lang) {
+                    if let Err(err) = set_text_direction(info.direction) {
+                        log::error!("could not set text direction: {err}");
+                    }
+                }
                 self.state = LoadState::Idle;
                 true
             }
-- 
2.47.3





More information about the yew-devel mailing list