import { z } from "zod";
import { customEnumErrorHandler } from "./util";

export const ThemeNameSchema = z.enum(
  [
    "8008",
    "80s_after_dark",
    "9009",
    "aether",
    "alduin",
    "alpine",
    "anti_hero",
    "arch",
    "aurora",
    "beach",
    "bento",
    "bingsu",
    "bliss",
    "blue_dolphin",
    "blueberry_dark",
    "blueberry_light",
    "botanical",
    "bouquet",
    "breeze",
    "bushido",
    "cafe",
    "camping",
    "carbon",
    "catppuccin",
    "chaos_theory",
    "cheesecake",
    "cherry_blossom",
    "comfy",
    "copper",
    "creamsicle",
    "cy_red",
    "cyberspace",
    "dark",
    "dark_magic_girl",
    "dark_note",
    "darling",
    "deku",
    "desert_oasis",
    "dev",
    "diner",
    "dino",
    "discord",
    "dmg",
    "dollar",
    "dots",
    "dracula",
    "drowning",
    "dualshot",
    "earthsong",
    "everblush",
    "evil_eye",
    "ez_mode",
    "fire",
    "fledgling",
    "fleuriste",
    "floret",
    "froyo",
    "frozen_llama",
    "fruit_chew",
    "fundamentals",
    "future_funk",
    "github",
    "godspeed",
    "graen",
    "grand_prix",
    "grape",
    "gruvbox_dark",
    "gruvbox_light",
    "hammerhead",
    "hanok",
    "hedge",
    "honey",
    "horizon",
    "husqy",
    "iceberg_dark",
    "iceberg_light",
    "incognito",
    "ishtar",
    "iv_clover",
    "iv_spade",
    "joker",
    "laser",
    "lavender",
    "leather",
    "lil_dragon",
    "lilac_mist",
    "lime",
    "luna",
    "macroblank",
    "magic_girl",
    "mashu",
    "matcha_moccha",
    "material",
    "matrix",
    "menthol",
    "metaverse",
    "metropolis",
    "mexican",
    "miami",
    "miami_nights",
    "midnight",
    "milkshake",
    "mint",
    "mizu",
    "modern_dolch",
    "modern_dolch_light",
    "modern_ink",
    "monokai",
    "moonlight",
    "mountain",
    "mr_sleeves",
    "ms_cupcakes",
    "muted",
    "nautilus",
    "nebula",
    "night_runner",
    "nord",
    "nord_light",
    "norse",
    "oblivion",
    "olive",
    "olivia",
    "onedark",
    "our_theme",
    "paper",
    "passion_fruit",
    "pastel",
    "peach_blossom",
    "peaches",
    "phantom",
    "pink_lemonade",
    "pulse",
    "purpleish",
    "rainbow_trail",
    "red_dragon",
    "red_samurai",
    "repose_dark",
    "repose_light",
    "retro",
    "retrocast",
    "rgb",
    "rose_pine",
    "rose_pine_dawn",
    "rose_pine_moon",
    "rudy",
    "ryujinscales",
    "serika",
    "serika_dark",
    "sewing_tin",
    "sewing_tin_light",
    "shadow",
    "shoko",
    "slambook",
    "snes",
    "soaring_skies",
    "solarized_dark",
    "solarized_light",
    "solarized_osaka",
    "sonokai",
    "stealth",
    "strawberry",
    "striker",
    "suisei",
    "sunset",
    "superuser",
    "sweden",
    "tangerine",
    "taro",
    "terminal",
    "terra",
    "terrazzo",
    "terror_below",
    "tiramisu",
    "trackday",
    "trance",
    "tron_orange",
    "vaporwave",
    "vesper",
    "vesper_light",
    "viridescent",
    "voc",
    "vscode",
    "watermelon",
    "wavez",
    "witch_girl",
    "pale_nimbus",
    "spiderman",
  ],
  {
    errorMap: customEnumErrorHandler("Must be a known theme"),
  },
);
