export const ADMIN_TOKEN_STORAGE_KEY = 'adminToken'; export const getAdminToken = (): string | null => { if (typeof window === 'undefined') return null; return localStorage.getItem(ADMIN_TOKEN_STORAGE_KEY); }; export const setAdminToken = (token: string) => { if (typeof window === 'undefined') return; localStorage.setItem(ADMIN_TOKEN_STORAGE_KEY, token); }; export const clearAdminToken = () => { if (typeof window === 'undefined') return; localStorage.removeItem(ADMIN_TOKEN_STORAGE_KEY); }; export const withAdminTokenHeader = (headers: HeadersInit = {}): HeadersInit => { const token = getAdminToken(); if (!token) return headers; return { ...headers, 'x-admin-token': token, }; }; export const appendTokenToUrl = (url: string): string => { const token = getAdminToken(); if (!token) return url; const [base, search] = url.split('?'); const params = new URLSearchParams(search || ''); params.set('token', token); return `${base}?${params.toString()}`; };