import type { ListingCategoryId } from '@/data/listing-field-options'

/** Pola zgodne z formularzem ogłoszenia — pod filtry i przyszły zapis w bazie. */
export interface BoatListingFacets {
  category: ListingCategoryId
  manufacturer: string
  condition: 'used' | 'new' | 'refit' | 'project'
  /** Wartość jak `boatType` / BOAT_HULL_TYPES w formularzu */
  boatType?: string
  /** Wartość jak `material` / BOAT_HULL_MATERIALS */
  hullMaterial?: string
  /** Wartość jak `propulsion` / BOAT_PROPULSION_TYPES */
  propulsion?: string
  /** Województwo — jak w POLISH_VOIVODESHIPS (np. warmińsko-mazurskie) */
  region?: string
}

export interface Boat {
  slug: string
  name: string
  model: string
  year: number
  length: number
  price: number
  priceOnRequest?: boolean
  images: string[]
  description: string
  specifications: {
    beam: number
    draft: number
    displacement: number
    engine?: string
    sails?: string
    material?: string
  }
  location: string
  sold: boolean
  highlights?: string[]
  thumbnailPosition?: string
  thumbnailScale?: number
  /** Fasety pod wyszukiwarkę i spójność z formularzem dodawania ogłoszenia */
  listing?: BoatListingFacets
}

export interface BlogPost {
  slug: string
  title: string
  excerpt: string
  content: string
  publishedAt: string
  image: string
}

export interface HotspotArea {
  id: string
  label: string
  description: string
  href: string
  position: { x: number; y: number; width: number; height: number }
}
