export async function apiGet<T>(path: string): Promise<T | null> {
  const base = (process.env.APP_BASE_URL || '').replace(/\/$/, '');
  if (!base) return null;
  try {
    const response = await fetch(`${base}/api${path}`, { cache: 'no-store', headers: { accept: 'application/json' } });
    if (!response.ok) return null;
    return await response.json() as T;
  } catch {
    return null;
  }
}

export function defaultProjectId() {
  return process.env.DEFAULT_PROJECT_ID || '';
}

export function displayNumber(value: unknown, fallback = '—') {
  if (value === null || value === undefined || value === '') return fallback;
  const n = Number(value);
  return Number.isFinite(n) ? new Intl.NumberFormat('ar-IQ').format(n) : String(value);
}
