all lists on lists.proxmox.com
 help / color / mirror / Atom feed
* [yew-devel] [PATCH yew-widget-toolkit] widget: catalog loader: set text direction after load
@ 2025-09-23 12:50 Dominik Csapak
  2025-10-02 10:21 ` Shannon Sterz
  0 siblings, 1 reply; 2+ messages in thread
From: Dominik Csapak @ 2025-09-23 12:50 UTC (permalink / raw)
  To: yew-devel

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@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



_______________________________________________
yew-devel mailing list
yew-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/yew-devel


^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [yew-devel] [PATCH yew-widget-toolkit] widget: catalog loader: set text direction after load
  2025-09-23 12:50 [yew-devel] [PATCH yew-widget-toolkit] widget: catalog loader: set text direction after load Dominik Csapak
@ 2025-10-02 10:21 ` Shannon Sterz
  0 siblings, 0 replies; 2+ messages in thread
From: Shannon Sterz @ 2025-10-02 10:21 UTC (permalink / raw)
  To: Yew framework devel list at Proxmox; +Cc: yew-devel

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@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
>              }



_______________________________________________
yew-devel mailing list
yew-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/yew-devel


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2025-10-02 10:21 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2025-09-23 12:50 [yew-devel] [PATCH yew-widget-toolkit] widget: catalog loader: set text direction after load Dominik Csapak
2025-10-02 10:21 ` Shannon Sterz

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal