|
Server : LiteSpeed System : Linux server104.web-hosting.com 4.18.0-513.24.1.lve.1.el8.x86_64 #1 SMP Thu May 9 15:10:09 UTC 2024 x86_64 User : saleoqej ( 6848) PHP Version : 8.0.30 Disable Function : NONE Directory : /home/saleoqej/chijamzacademy.com/wp-content/plugins/extendify/src/Shared/state/ |
import { create } from 'zustand';
import { persist, devtools, createJSONStorage } from 'zustand/middleware';
const ONE_WEEK_IN_MILLISECONDS = 1000 * 60 * 60 * 24 * 7;
const state = (set, get) => ({
images: [],
expiration: 0,
isEmpty: () => get().images.length === 0,
hasExpired: () => Date.now() > get().expiration,
updateCache: (images) =>
set({ images, expiration: Date.now() + ONE_WEEK_IN_MILLISECONDS }),
});
export const useUnsplashCacheStore = create(
persist(devtools(state, { name: 'Extendify Unsplash Images' }), {
name: `extendify-unsplash-images-${window.extSharedData.siteId}`,
storage: createJSONStorage(() => localStorage),
}),
);