import { Gamepad2, Boxes, Crosshair, CarFront, Shield, Blocks, Sparkles } from "lucide-react";

export type GameEntry = {
  slug: string;
  name: string;
  short: string;
  category: "BexoGames Projekt" | "BexoGames Server" | "Community Game";
  intro: string;
  accent: "cyan" | "blue" | "pink" | "violet";
  icon: any;
  ownServer: boolean;
  modes: string[];
  highlights: { title: string; copy: string }[];
};

export const gameEntries: GameEntry[] = [
  {
    slug: "minecraft",
    name: "Minecraft",
    short: "Eigene Projekte, Minigames und gemeinsame Welten.",
    category: "BexoGames Projekt",
    intro: "Minecraft ist bei BexoGames mehr als ein einzelner Server. Hier entstehen eigene Spielideen, Minigames und Community-Projekte, die wir Schritt für Schritt weiterentwickeln.",
    accent: "cyan",
    icon: Blocks,
    ownServer: true,
    modes: ["GhastTD", "Spearstrike", "Survival", "Community Projekte"],
    highlights: [
      { title: "GhastTD", copy: "Unser eigener Tower-Defense-Modus mit Waves, Towers und eigenen Mechaniken." },
      { title: "Spearstrike", copy: "Schnelle PvP-Runden rund um Speer-Dashes, Movement und unterschiedliche Match-Modi." },
      { title: "Immer erweiterbar", copy: "Neue Maps, Modi und Ideen können später direkt hier ergänzt werden." },
    ],
  },
  {
    slug: "garrys-mod",
    name: "Garry's Mod",
    short: "TTT2 / TTTC, Rollen, Chaos und Community-Runden.",
    category: "BexoGames Server",
    intro: "Unser Garry's-Mod-Bereich dreht sich vor allem um TTT2 / TTTC: wechselnde Rollen, viele Addons und genau die Sorte Runden, aus denen schnell ein kompletter Abend wird.",
    accent: "blue",
    icon: Gamepad2,
    ownServer: true,
    modes: ["TTT2", "TTTC", "Custom Roles", "Community Maps"],
    highlights: [
      { title: "TTT2 / TTTC", copy: "Klassisches TTT mit zusätzlichen Rollen, Klassen und mehr Abwechslung." },
      { title: "Eigene Anpassungen", copy: "BexoGames-UI, eigene Komfortfunktionen und fortlaufende Server-Anpassungen." },
      { title: "Community-Runden", copy: "Nicht auf Competitive getrimmt – der gemeinsame Abend steht im Mittelpunkt." },
    ],
  },
  {
    slug: "valorant",
    name: "Valorant",
    short: "Premades finden, zusammen climben oder einfach unrated spielen.",
    category: "Community Game",
    intro: "Valorant ist eines der Games, für die sich bei BexoGames schnell Mitspieler finden können – vom entspannten Unrated bis zur Ranked-Runde.",
    accent: "pink",
    icon: Crosshair,
    ownServer: false,
    modes: ["Ranked", "Unrated", "Swiftplay", "Premade"],
    highlights: [
      { title: "Mitspieler finden", copy: "Nicht alleine in die Queue – Leute aus der Community zusammentrommeln." },
      { title: "Locker oder ranked", copy: "Es muss nicht immer sweaty sein. Gespielt wird, worauf die Gruppe Lust hat." },
      { title: "Kein Zwang", copy: "Valorant ist ein Community-Game, keine Voraussetzung um bei BexoGames dabei zu sein." },
    ],
  },
  {
    slug: "rainbow-six",
    name: "Rainbow Six Siege",
    short: "Taktik, Kommunikation und gemeinsame Runden.",
    category: "Community Game",
    intro: "Rainbow Six gehört zu den Games, die bei uns gemeinsam gezockt werden – mal ernsthafter, mal einfach für einen entspannten Abend im Voice.",
    accent: "violet",
    icon: Shield,
    ownServer: false,
    modes: ["Ranked", "Standard", "Quick Match", "Premade"],
    highlights: [
      { title: "Im Team", copy: "Mit Leuten spielen, die man kennt, statt jede Runde neue Randoms zu bekommen." },
      { title: "Voice inklusive", copy: "Kommunikation findet direkt in der Community statt – auch nach der Runde." },
      { title: "Ein Game von vielen", copy: "Heute Siege, morgen Minecraft oder etwas komplett anderes." },
    ],
  },
  {
    slug: "ets2",
    name: "Euro Truck Simulator 2",
    short: "Entspannte Convoys, quatschen und gemeinsam Kilometer machen.",
    category: "Community Game",
    intro: "Wenn es einmal weniger hektisch sein soll, sind gemeinsame ETS2-Abende genau das Gegenteil von Ranked-Stress: fahren, quatschen und zusammen unterwegs sein.",
    accent: "cyan",
    icon: CarFront,
    ownServer: false,
    modes: ["Convoy", "TruckersMP", "Cruising", "Community Abend"],
    highlights: [
      { title: "Gemeinsame Convoys", copy: "Zusammen eine Route fahren und nebenbei einfach einen guten Abend haben." },
      { title: "Perfekt fürs Voice", copy: "Ein Game, bei dem das Quatschen mindestens genauso wichtig sein kann wie das Fahren." },
      { title: "Spontan dabei", copy: "Kein festes Team nötig – wenn eine Runde startet, kann man sich anschließen." },
    ],
  },
  {
    slug: "counter-strike-2",
    name: "Counter-Strike 2",
    short: "Premades, Casual und gemeinsame Matches.",
    category: "Community Game",
    intro: "CS2 ist Teil unserer Multi-Gaming-Auswahl, wenn die Community gerade Lust auf taktische Shooter-Runden und Premades hat.",
    accent: "blue",
    icon: Crosshair,
    ownServer: false,
    modes: ["Premier", "Competitive", "Casual", "Premade"],
    highlights: [
      { title: "Premade statt Random", copy: "Mit bekannten Leuten zusammenspielen und direkt im Voice abstimmen." },
      { title: "Von locker bis ernst", copy: "Casual-Abend oder konzentrierte Matches – die Gruppe entscheidet." },
      { title: "Multi-Gaming bleibt Multi-Gaming", copy: "CS2 ist ein Beispiel, keine feste Grenze der Community." },
    ],
  },
  {
    slug: "roblox",
    name: "Roblox",
    short: "Unzählige Experiences und genug Stoff für spontane Community-Abende.",
    category: "Community Game",
    intro: "Roblox steht stellvertretend für genau das, was Multi-Gaming ausmacht: heute ein Modus, morgen etwas komplett anderes und immer neue Ideen zum Ausprobieren.",
    accent: "pink",
    icon: Sparkles,
    ownServer: false,
    modes: ["Community Picks", "Party Games", "Horror", "Minigames"],
    highlights: [
      { title: "Immer etwas Neues", copy: "Die Auswahl an Experiences sorgt dafür, dass Community-Abende nie gleich sein müssen." },
      { title: "Spontane Picks", copy: "Jemand findet etwas Lustiges – und ein paar Minuten später ist die Gruppe drin." },
      { title: "Keine starre Liste", copy: "Genau deshalb gehört auch Roblox nur zu den Beispielen und nicht zu einer festen Auswahl." },
    ],
  },
];

export function getGame(slug: string) {
  return gameEntries.find((game) => game.slug === slug);
}
