From 3cf69cbd95258138fa05dd5f5963116c1f903a66 Mon Sep 17 00:00:00 2001 From: Daniel Gonzalez Date: Mon, 23 Jun 2025 12:08:22 -0400 Subject: [PATCH] feat(cache): Persist NFT cache to Local Storage --- src/hooks/state.js | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/hooks/state.js b/src/hooks/state.js index fbb3392..056760d 100644 --- a/src/hooks/state.js +++ b/src/hooks/state.js @@ -13,7 +13,8 @@ function useAppState () { ssr: true, defaultValue: { serverUrl: 'https://free-bch.fullstack.cash' // Default server - } + }, + nftData: {} }) console.log('lsState: ', lsState) @@ -38,7 +39,7 @@ function useAppState () { const [denyClose, setDenyClose] = useState(false) // NFTs for sale stored data to improve performance - const [nftForSaleCacheData, setNftForSaleCacheData] = useState({}) + const [nftForSaleCacheData, setNftForSaleCacheData] = useState(lsState.nftData || {}) // The wallet state makes this a true progressive web app (PWA). As // balances, UTXOs, and tokens are retrieved, this state is updated. @@ -107,6 +108,7 @@ function useAppState () { const newCacheData = Object.assign({}, cacheData, data) // Merge the new data with the cache data allCacheData[tokenId] = newCacheData // Update the cache data setNftForSaleCacheData(allCacheData) // Update the state + updateLocalStorage({ nftData: allCacheData }) // Update the local storage } return {