license-lib/client/offline.js

25 lines
635 B
JavaScript

// client/offline.js
const CACHE_KEY = 'license_data';
export const cacheLicenseData = (licenseData) => {
localStorage.setItem(CACHE_KEY, JSON.stringify({
data: licenseData,
cachedAt: Date.now(),
}));
};
export const getCachedLicenseData = () => {
const item = localStorage.getItem(CACHE_KEY);
return item ? JSON.parse(item) : null;
};
export const isLicenseCacheValid = () => {
const cache = getCachedLicenseData();
if (!cache) return false;
const cachedAt = cache.cachedAt;
const elapsedDays = (Date.now() - cachedAt) / (1000 * 60 * 60 * 24);
return elapsedDays <= CONFIG.OFFLINE_GRACE_PERIOD_DAYS;
};