// In the browser, API calls go to the same origin (Next.js rewrites to backend).
// On the server, they go directly to the backend.
const API = typeof window === "undefined"
  ? (process.env.BACKEND_URL || "http://localhost:18888")
  : "";

export async function fetchAPI<T>(path: string): Promise<T> {
  const res = await fetch(`${API}${path}`);
  if (!res.ok) throw new Error(`API error: ${res.status}`);
  return res.json();
}

export async function postAPI<T>(path: string): Promise<T> {
  const res = await fetch(`${API}${path}`, { method: "POST" });
  if (!res.ok) throw new Error(`API error: ${res.status}`);
  return res.json();
}
