From 46c2b1030757c6da128c9f167e17c2351fc2ca17 Mon Sep 17 00:00:00 2001 From: DrFlowerkick Date: Thu, 27 Nov 2025 20:10:46 +0100 Subject: [PATCH] fix: :bug: Replace LocalStorage from return of format_range() --- src/use_intl_number_format.rs | 35 ++++++++++++++++++----------------- 1 file changed, 18 insertions(+), 17 deletions(-) diff --git a/src/use_intl_number_format.rs b/src/use_intl_number_format.rs index 84a81c27..9a03859a 100644 --- a/src/use_intl_number_format.rs +++ b/src/use_intl_number_format.rs @@ -1,7 +1,6 @@ #![cfg_attr(feature = "ssr", allow(unused_variables, unused_imports, dead_code))] -use crate::utils::js_value_from_to_string; -use crate::{js, sendwrap_fn}; +use crate::{js, sendwrap_fn, utils::js_value_from_to_string}; use cfg_if::cfg_if; use default_struct_builder::DefaultBuilder; use leptos::prelude::*; @@ -856,7 +855,7 @@ impl UseIntlNumberFormatReturn { &self, start: impl Into>, end: impl Into>, - ) -> Signal + ) -> Signal where NStart: Clone + Display + Send + Sync + 'static, NEnd: Clone + Display + Send + Sync + 'static, @@ -867,27 +866,29 @@ impl UseIntlNumberFormatReturn { let end = end.into(); cfg_if! { if #[cfg(feature = "ssr")] { - Signal::derive_local(move || { + Signal::derive(move || { format!("{} - {}", start.get(), end.get()) }) } else { let number_format = self.js_intl_number_format.clone(); - Signal::derive_local(move || { - if let Ok(function) = js!(number_format["formatRange"]) { - let function = function.unchecked_into::(); - - if let Ok(result) = function.call2( - &number_format, - &js_sys::Number::from(start.get()).into(), - &js_sys::Number::from(end.get()).into(), - ) { - return result.as_string().unwrap_or_default(); + Signal::derive( + sendwrap_fn!(move || { + if let Ok(function) = js!(number_format["formatRange"]) { + let function = function.unchecked_into::(); + + if let Ok(result) = function.call2( + &number_format, + &js_sys::Number::from(start.get()).into(), + &js_sys::Number::from(end.get()).into(), + ) { + return result.as_string().unwrap_or_default(); + } } - } - "".to_string() - }) + "".to_string() + }) + ) }} }