export const ADMIN_API_BASE =
  typeof window === 'undefined'
    ? (process.env.API_INTERNAL_URL ?? process.env.NEXT_PUBLIC_API_URL ?? 'http://localhost:4000/api/v1')
    : (process.env.NEXT_PUBLIC_API_URL ?? '/admin/api/v1')

export async function adminFetch<T>(path: string, _token?: string): Promise<T> {
  const res = await fetch(`${ADMIN_API_BASE}${path}`, {
    cache: 'no-store',
    credentials: 'include',
  })
  const json = await res.json()
  if (!res.ok) throw new Error(json?.message ?? 'Request failed')
  return json.data as T
}
