[yew-devel] [PATCH yew-widget-toolkit v2] widget: catalog loader: set text direction after load
Shannon Sterz
s.sterz at proxmox.com
Fri Oct 3 16:34:33 CEST 2025
On Fri Oct 3, 2025 at 3:39 PM CEST, Dominik Csapak wrote:
> 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
> }
looks good to me, consider this:
Tested-by: Shannon Sterz <s.sterz at proxmox.com>
Reviewed-by: Shannon Sterz <s.sterz at proxmox.com>
More information about the yew-devel
mailing list