import type { Cuvee, Vintage } from "@/lib/types";

export const estateLabels: Record<Cuvee["estate"], string> = {
  chevalier: "Domaine de Chevalier",
  solitude: "Domaine de la Solitude",
  "lespault-martillac": "Château Lespault-Martillac",
  guiraud: "Château Guiraud",
  "clos-des-lunes": "Clos des Lunes",
  suau: "Château Suau",
  soubian: "Château Soubian",
  poumey: "Château Poumey"
};

export const estateNotes: Record<Cuvee["estate"], string> = {
  chevalier: "Pessac-Léognan, Cru Classé",
  solitude: "Pessac-Léognan, fermage depuis 1993",
  "lespault-martillac": "Pessac-Léognan, depuis 2009",
  guiraud: "Sauternes, 1er Cru Classé 1855, participation depuis 2006",
  "clos-des-lunes": "Sauternais, créé en 2011",
  suau: "Barsac, 2ème Cru Classé 1855, gestion confiée en 2015",
  soubian: "Léognan, replantation depuis 2019",
  poumey: "Gradignan, contrat 25 ans depuis 2020, en conversion bio"
};

export const cuvees: Cuvee[] = [
  {
    id: "chevalier-rouge",
    name: "Domaine de Chevalier Rouge",
    color: "red",
    estate: "chevalier",
    appellation: "Pessac-Léognan"
  },
  {
    id: "chevalier-blanc",
    name: "Domaine de Chevalier Blanc",
    color: "white",
    estate: "chevalier",
    appellation: "Pessac-Léognan"
  },
  {
    id: "esprit-rouge",
    name: "L'Esprit de Chevalier Rouge",
    color: "red",
    estate: "chevalier",
    appellation: "Pessac-Léognan"
  },
  {
    id: "esprit-blanc",
    name: "L'Esprit de Chevalier Blanc",
    color: "white",
    estate: "chevalier",
    appellation: "Pessac-Léognan"
  },
  {
    id: "rose-chevalier",
    name: "Rosé de Chevalier",
    color: "rose",
    estate: "chevalier",
    appellation: "Bordeaux Rosé"
  },
  {
    id: "solitude-rouge",
    name: "Domaine de la Solitude Rouge",
    color: "red",
    estate: "solitude",
    appellation: "Pessac-Léognan"
  },
  {
    id: "solitude-blanc",
    name: "Domaine de la Solitude Blanc",
    color: "white",
    estate: "solitude",
    appellation: "Pessac-Léognan"
  },
  {
    id: "lespault-rouge",
    name: "Château Lespault-Martillac Rouge",
    color: "red",
    estate: "lespault-martillac",
    appellation: "Pessac-Léognan"
  },
  {
    id: "lespault-blanc",
    name: "Château Lespault-Martillac Blanc",
    color: "white",
    estate: "lespault-martillac",
    appellation: "Pessac-Léognan"
  },
  {
    id: "guiraud",
    name: "Château Guiraud",
    color: "sweet",
    estate: "guiraud",
    appellation: "Sauternes"
  },
  {
    id: "petit-guiraud",
    name: "Petit Guiraud",
    color: "sweet",
    estate: "guiraud",
    appellation: "Sauternes"
  },
  {
    id: "g-de-guiraud",
    name: "G de Guiraud",
    color: "white",
    estate: "guiraud",
    appellation: "Bordeaux Blanc Sec"
  },
  {
    id: "lune-blanche",
    name: "Clos des Lunes Lune Blanche",
    color: "white",
    estate: "clos-des-lunes",
    appellation: "Bordeaux Blanc Sec"
  },
  {
    id: "lune-argent",
    name: "Clos des Lunes Lune d'Argent",
    color: "white",
    estate: "clos-des-lunes",
    appellation: "Bordeaux Blanc Sec"
  },
  {
    id: "lune-or",
    name: "Clos des Lunes Lune d'Or",
    color: "white",
    estate: "clos-des-lunes",
    appellation: "Bordeaux Blanc Sec"
  },
  {
    id: "suau-grand-vin",
    name: "Château Suau Grand Vin Liquoreux",
    color: "sweet",
    estate: "suau",
    appellation: "Barsac"
  },
  {
    id: "suau-second-vin",
    name: "Château Suau Second Vin",
    color: "sweet",
    estate: "suau",
    appellation: "Barsac"
  },
  {
    id: "soubian-rouge",
    name: "Château Soubian Rouge",
    color: "red",
    estate: "soubian",
    appellation: "Léognan"
  },
  {
    id: "poumey-rouge",
    name: "Château Poumey Rouge",
    color: "red",
    estate: "poumey",
    appellation: "Gradignan"
  }
];

export const vintages: Vintage[] = cuvees.flatMap((cuvee) =>
  [2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023].map((year) => ({
    cuveeId: cuvee.id,
    year
  }))
);

export function getCuvee(id: string) {
  return cuvees.find((cuvee) => cuvee.id === id) ?? cuvees[0];
}
