[yew-devel] [PATCH yew-widget-toolkit] widget: catalog loader: set text direction after load
Shannon Sterz
s.sterz at proxmox.com
Thu Oct 2 12:21:21 CEST 2025
one small nit in-line
On Tue Sep 23, 2025 at 2:50 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>
> ---
> 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}");
> + }
> + }
do we want to log something if `get_language_info` returns None? if i'm
not missing this happens when `self.lang` is set to something that isn't
part of AVAILABLE_LANGUAGES. which is unlikely to happen unless someone
messes with the local storage here manually i suppose. still, might be
nice to have.
> self.state = LoadState::Idle;
> true
> }
More information about the yew-devel
mailing list