"use server"

import { sdk } from "@lib/config"

export type HomepageData = {
  homepage: {
    id: string
    headline: string
    subtitle: string
    badge_1_text: string
    badge_2_text: string
    cta_1_label: string
    cta_1_link: string
    cta_2_label: string
    cta_2_link: string
    rent_banner_title: string
    rent_banner_text: string
    rent_banner_cta: string
    section_best_deals_heading: string
    section_new_arrivals_heading: string
    section_partners_heading: string
    hero_photos: {
      id: string
      image_url: string
      label: string
      rotate: string
      sort_order: number
    }[]
    category_cards: {
      id: string
      label: string
      sub: string
      image_url: string
      handle: string
      badge: string
      bg_color: string
      sort_order: number
    }[]
    partners: {
      id: string
      name: string
      image_url: string
      link: string
      sort_order: number
    }[]
  } | null
}

export async function getHomepageContent(): Promise<HomepageData> {
  return sdk.client
    .fetch<HomepageData>("/store/homepage", {
      method: "GET",
      next: { tags: ["homepage"] },
      cache: "force-cache",
    })
    .catch(() => {
      return { homepage: null }
    })
}
