From b6394c41c579bfcd3835299ca93f8122816416b8 Mon Sep 17 00:00:00 2001 From: JMARyA Date: Sun, 8 Jun 2025 02:33:04 +0200 Subject: [PATCH] fix hooks --- src/api.rs | 10 +++++----- src/main.rs | 6 ++---- src/qrscan.rs | 8 ++++---- src/setup.rs | 5 +++-- 4 files changed, 14 insertions(+), 15 deletions(-) diff --git a/src/api.rs b/src/api.rs index 6b7ba1a..2ae61f3 100644 --- a/src/api.rs +++ b/src/api.rs @@ -1,7 +1,7 @@ use std::collections::HashMap; use dioxus::signals::{Readable, Writable}; -use dioxus_sdk::storage::use_persistent; +use dioxus_sdk::storage::{get_from_storage, use_persistent, SessionStorage}; use serde_json::json; use crate::setup::Credentials; @@ -24,8 +24,8 @@ pub async fn api_get_auth(path: String) -> Result where T: DeserializeOwned, { - let creds = use_persistent("creds", || Credentials::default()); - let creds = creds.read(); + let creds = + get_from_storage::("creds".to_owned(), || Credentials::default()); let token = creds.token.as_str(); let instance = creds.instance_url.as_str(); @@ -52,8 +52,8 @@ where T: DeserializeOwned, X: Serialize, { - let creds = use_persistent("creds", || Credentials::default()); - let creds = creds.read(); + let creds = + get_from_storage::("creds".to_owned(), || Credentials::default()); let token = creds.token.as_str(); let instance = creds.instance_url.as_str(); diff --git a/src/main.rs b/src/main.rs index a17d485..ea361b1 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,7 +1,7 @@ use api::{Item, Transaction}; use dioxus::prelude::*; use dioxus_material_icons::{MaterialIcon, MaterialIconStylesheet}; -use dioxus_sdk::storage::use_persistent; +use dioxus_sdk::storage::{get_from_storage, use_persistent, SessionStorage}; use qrscan::QRCodeScanPage; use setup::{Credentials, SetupPage}; @@ -61,9 +61,7 @@ pub fn try_recover_api() -> crate::api::API { } pub async fn fetch_api() { - let res = use_persistent("creds", || Credentials::default()) - .read() - .clone(); + let res = get_from_storage::("creds".to_owned(), || Credentials::default()); if !res.empty() { let api = api::API::new(res.instance_url.clone()).await; *crate::API.write() = Some(api); diff --git a/src/qrscan.rs b/src/qrscan.rs index 8ae32bd..77f65ff 100644 --- a/src/qrscan.rs +++ b/src/qrscan.rs @@ -16,8 +16,8 @@ pub fn QRCodeScanPage(result: Signal, show: Signal) -> Element { let imurl = use_signal(|| String::new()); let mut imurl2 = imurl.clone(); - if *show.read() { - use_effect(move || { + use_effect(move || { + if *show.read() { let window = window().unwrap(); let nav = window.navigator(); let media_devices = nav.media_devices().unwrap(); @@ -88,8 +88,8 @@ pub fn QRCodeScanPage(result: Signal, show: Signal) -> Element { TimeoutFuture::new(16).await; } }); - }); - } + } + }); rsx! { diff --git a/src/setup.rs b/src/setup.rs index 9105e40..4a12211 100644 --- a/src/setup.rs +++ b/src/setup.rs @@ -1,5 +1,5 @@ use dioxus::prelude::*; -use dioxus_sdk::storage::use_persistent; +use dioxus_sdk::storage::{new_storage, use_persistent, SessionStorage}; use serde::{Deserialize, Serialize}; use std::collections::HashMap; @@ -45,7 +45,8 @@ pub fn SetupPage() -> Element { evt.prevent_default(); if validate_form() { - let mut creds = use_persistent("creds", || Credentials::default()); + let mut creds = + new_storage::("creds".to_string(), || Credentials::default()); spawn(async move { let api = crate::api::API::new(creds.read().instance_url.clone()).await;