import { atom } from 'nanostores'; import type { NetlifyConnection } from '~/types/netlify'; // Initialize with stored connection or defaults const storedConnection = typeof window !== 'undefined' ? localStorage.getItem('netlify_connection') : null; const initialConnection: NetlifyConnection = storedConnection ? JSON.parse(storedConnection) : { user: null, token: '', stats: undefined, }; export const netlifyConnection = atom(initialConnection); export const isConnecting = atom(false); export const isFetchingStats = atom(false); export const updateNetlifyConnection = (updates: Partial) => { const currentState = netlifyConnection.get(); const newState = { ...currentState, ...updates }; netlifyConnection.set(newState); // Persist to localStorage if (typeof window !== 'undefined') { localStorage.setItem('netlify_connection', JSON.stringify(newState)); } };