| 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()}`; | |
| }; | |