// lib/getBanners.ts
export interface BannerData {
  id: number;
  banner_name: string;
  banner_sub_text: string | null;
  banner_text: string | null;
  desktop_banner: string | null;
  tab_banner: string | null;
  mobile_banner: string | null;
  button1_name: string | null;
  button1_link: string | null;
  button2_name: string | null;
  button2_link: string | null;
}

export async function getBanners(page: string): Promise<BannerData[]> {
  try {
    const baseUrl = process.env.NEXT_PUBLIC_APP_URL;

    if (!baseUrl) {
      console.error("Missing NEXT_PUBLIC_APP_URL");
      return [];
    }

    const res = await fetch(`${baseUrl}/api/cms/banners?page=${page}`, {
      next: { revalidate: 60 },
    });

    if (!res.ok) return [];

    const result = await res.json();
    return result.success ? result.data || [] : [];
  } catch (error) {
    console.error(error);
    return [];
  }
}