[yew-devel] [PATCH yew-widget-toolkit v2] widget: catalog loader: set text direction after load
Dominik Csapak
d.csapak at proxmox.com
Fri Oct 3 15:39:40 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>
---
changes from v1:
* added warning log in case we can't load the language info
src/widget/catalog_loader.rs | 10 +++++++++-
1 file changed, 9 insertions(+), 1 deletion(-)
diff --git a/src/widget/catalog_loader.rs b/src/widget/catalog_loader.rs
index a8a14f5..b346838 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,13 @@ 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}");
+ }
+ } else {
+ log::warn!("could not load language info for '{}'", self.lang);
+ }
self.state = LoadState::Idle;
true
}
--
2.47.3
More information about the yew-devel
mailing list