From bbebd8a67f036dfd9cd7d5a2628caafa278f4e0c Mon Sep 17 00:00:00 2001 From: Joshua McQuistan Date: Fri, 27 Oct 2023 14:50:29 +0100 Subject: [PATCH] use_storage SSR should return signal with defaults --- src/storage/use_storage.rs | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/storage/use_storage.rs b/src/storage/use_storage.rs index c296805..d048b9c 100644 --- a/src/storage/use_storage.rs +++ b/src/storage/use_storage.rs @@ -2,6 +2,7 @@ use crate::{ core::{MaybeRwSignal, StorageType}, use_event_listener_with_options, use_window, UseEventListenerOptions, }; +use cfg_if::cfg_if; use leptos::*; use std::{rc::Rc, str::FromStr}; use thiserror::Error; @@ -80,7 +81,17 @@ where T: Clone + PartialEq, C: Codec, { - // TODO ssr + cfg_if! { if #[cfg(feature = "ssr")] { + let (data, set_data) = create_signal(None); + let set_value = move |value: Option| { + set_data.set(value); + }; + let value = create_memo(move |_| data.get().unwrap_or_default()); + return (value, set_value); + } else { + // Continue + }} + let UseStorageOptions { codec, on_error,