* [yew-devel] [PATCH yew-widget-toolkit v2] widget: catalog loader: set text direction after load
@ 2025-10-03 13:39 Dominik Csapak
2025-10-03 14:34 ` Shannon Sterz
2025-10-03 14:41 ` [yew-devel] applied: " Thomas Lamprecht
0 siblings, 2 replies; 3+ messages in thread
From: Dominik Csapak @ 2025-10-03 13:39 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>
---
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
_______________________________________________
yew-devel mailing list
yew-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/yew-devel
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [yew-devel] [PATCH yew-widget-toolkit v2] widget: catalog loader: set text direction after load
2025-10-03 13:39 [yew-devel] [PATCH yew-widget-toolkit v2] widget: catalog loader: set text direction after load Dominik Csapak
@ 2025-10-03 14:34 ` Shannon Sterz
2025-10-03 14:41 ` [yew-devel] applied: " Thomas Lamprecht
1 sibling, 0 replies; 3+ messages in thread
From: Shannon Sterz @ 2025-10-03 14:34 UTC (permalink / raw)
To: Yew framework devel list at Proxmox; +Cc: yew-devel
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@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@proxmox.com>
Reviewed-by: Shannon Sterz <s.sterz@proxmox.com>
_______________________________________________
yew-devel mailing list
yew-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/yew-devel
^ permalink raw reply [flat|nested] 3+ messages in thread
* [yew-devel] applied: [PATCH yew-widget-toolkit v2] widget: catalog loader: set text direction after load
2025-10-03 13:39 [yew-devel] [PATCH yew-widget-toolkit v2] widget: catalog loader: set text direction after load Dominik Csapak
2025-10-03 14:34 ` Shannon Sterz
@ 2025-10-03 14:41 ` Thomas Lamprecht
1 sibling, 0 replies; 3+ messages in thread
From: Thomas Lamprecht @ 2025-10-03 14:41 UTC (permalink / raw)
To: yew-devel, Dominik Csapak
On Fri, 03 Oct 2025 15:39:40 +0200, 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.
>
>
Applied, thanks!
[1/1] widget: catalog loader: set text direction after load
commit: 6fc7cd1699c68023471add7ac274b79657d9c7aa
_______________________________________________
yew-devel mailing list
yew-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/yew-devel
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2025-10-03 14:42 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2025-10-03 13:39 [yew-devel] [PATCH yew-widget-toolkit v2] widget: catalog loader: set text direction after load Dominik Csapak
2025-10-03 14:34 ` Shannon Sterz
2025-10-03 14:41 ` [yew-devel] applied: " Thomas Lamprecht
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.