export type Notice = {
  title: string;
  message: string;
  severity: 'info' | 'warning' | 'critical';
  start_date?: string;
  end_date?: string;
  active?: boolean;
  priority?: number;
};

export type FuelPrice = {
  fuel_type: string;
  price_per_litre: number;
  currency: string;
  inc_vat?: boolean;
  last_updated: string;
  notes?: string;
};

export type EventItem = {
  id?: number | string;
  title: string;
  slug: string;
  summary?: string;
  description: string;
  start_datetime: string;
  end_datetime?: string;
  location_text?: string;
  registration_link?: string;
  realimage?: string | { id?: string; filename_download?: string; filename_disk?: string; title?: string };
  logo?: string | { id?: string; filename_download?: string; filename_disk?: string; title?: string };
  status?: string;
  is_featured?: boolean;
  tags?: string[];
  template_id?: number | string;
  date_id?: number | string;
};

export type NewsItem = {
  title: string;
  slug: string;
  summary: string;
  body: string;
  publish_date: string;
  status?: string;
  tags?: string[];
};

export type DocumentItem = {
  title: string;
  category: string;
  description?: string;
  fileUrl?: string;
  uploaded_at?: string;
};

export type ContactItem = {
  name: string;
  role: string;
  email: string;
  phone?: string;
  is_public?: boolean;
  order?: number;
};

export type HomepageBannerImage = {
  src: string;
  alt: string;
};

export const fallbackNotices: Notice[] = [
  {
    title: 'Welcome to Swansea Airport',
    message: 'Operational notices and visitor information will appear here once Directus content is published.',
    severity: 'info',
    active: true,
    priority: 1,
  },
];

export const fallbackFuelPrices: FuelPrice[] = [
  {
    fuel_type: 'AVGAS',
    price_per_litre: 2.35,
    currency: 'GBP',
    inc_vat: true,
    last_updated: '2026-05-11',
    notes: 'Placeholder rate for the initial scaffold.',
  },
];

export const fallbackCafePageImages: HomepageBannerImage[] = [
  {
    src: '/images/cessna.jpg',
    alt: 'Aircraft on the apron at Swansea Airport',
  },
  {
    src: '/images/banner.png',
    alt: 'Swansea Airport',
  },
];

export const fallbackGiftShopImages: HomepageBannerImage[] = [
  {
    src: '/images/camain.jpg',
    alt: 'Chocks Away Gift Shop at Swansea Airport',
  },
];

export const fallbackHomepageVolunteerImages: HomepageBannerImage[] = [
  {
    src: '/images/cessna.jpg',
    alt: 'A Cessna aircraft on the apron at Swansea Airport',
  },
];

export const fallbackEvents: EventItem[] = [
  {
    title: 'Airfield open day',
    slug: 'airfield-open-day',
    summary: 'A family-friendly open day with aircraft on display and pilot meet-and-greets.',
    description: 'Example event to verify the listing and detail page flow.',
    start_datetime: '2026-06-14T09:00:00Z',
    end_datetime: '2026-06-14T16:00:00Z',
    location_text: 'Main apron',
    is_featured: true,
    tags: ['Public'],
  },
];

export const fallbackNews: NewsItem[] = [
  {
    title: 'Site scaffolding started',
    slug: 'site-scaffolding-started',
    summary: 'The new Astro and Directus architecture has been scaffolded.',
    body: '<p>This is a starter article that proves the detail route and rich text rendering.</p>',
    publish_date: '2026-05-11',
    tags: ['Website'],
  },
];

export const fallbackDocuments: DocumentItem[] = [
  {
    title: 'Pilot information pack',
    category: 'Pilots',
    description: 'Starter document entry for the documents listing.',
    uploaded_at: '2026-05-11',
  },
];

export const fallbackContacts: ContactItem[] = [
  {
    name: 'Airport office',
    role: 'General enquiries',
    email: 'tower@swansea-airport.wales',
    phone: '01792 687 042',
    is_public: true,
    order: 1,
  },
];

export const fallbackHomepageBannerImages: HomepageBannerImage[] = [
  {
    src: '/images/banner.png',
    alt: 'Swansea Airport banner',
  },
];
