from enum import Enum


class Genre(Enum):
    ACTION = "Action"
    ADULT = "Adult"
    ADVENTURE = "Adventure"
    COMEDY = "Comedy"
    DRAMA = "Drama"
    ECCHI = "Ecchi"
    FANTASY = "Fantasy"
    HAREM = "Harem"
    HORROR = "Horror"
    LOLICON = "Lolicon"
    MARTIAL_ARTS = "Martial Arts"
    MECHA = "Mecha"
    MYSTERY = "Mystery"
    PSYCHOLOGICAL = "Psychological"
    ROMANCE = "Romance"
    SCI_FI = "Sci-Fi"
    SCHOOL_LIFE = "School Life"
    SLICE_OF_LIFE = "Slice of Life"
    SHOTACON = "Shotacon"
    SUPERNATURAL = "Supernatural"
    THRILLER = "Thriller"

    # Demographic Categories
    SHOUJO = "Shoujo"
    SHOUJO_AI = "Shoujo Ai"
    SHOUNEN = "Shounen"
    SHOUNEN_AI = "Shounen Ai"
    SEINEN = "Seinen"
    JOSEI = "Josei"
    MATURE = "Mature"

    # Popular Subgenres
    ISEKAI = "Isekai"
    REINCARNATION = "Reincarnation"
    TIME_TRAVEL = "Time Travel"
    VIDEO_GAME = "Video Game"
    VIRTUAL_REALITY = "Virtual Reality"
    ZOMBIE = "Zombie"
    APOCALYPSE = "Apocalypse"
    POST_APOCALYPSE = "Post-Apocalypse"
    MONSTER = "Monster"
    VAMPIRE = "Vampire"
    GHOST = "Ghost"
    YOKAI = "Yokai"
    MAGIC = "Magic"
    WUXIA = "Wuxia"
    XIANXIA = "Xianxia"
    MILITARY = "Military"
    POLICE = "Police"
    MEDICAL = "Medical"
    MUSIC = "Music"
    SPORTS = "Sports"
    COOKING = "Cooking"
    GENDER_BENDER = "Gender Bender"
    CROSSDRESSING = "Crossdressing"
    REVERSE_HAREM = "Reverse Harem"
    YAOI = "Yaoi"
    YURI = "Yuri"

    # Thematic Categories
    SCHOOL = "School"
    COLLEGE = "College"
    OFFICE_WORKER = "Office Worker"
    DELINQUENT = "Delinquent"
    MAFIA = "Mafia"
    HISTORICAL = "Historical"
    STEAMPUNK = "Steampunk"
    CYBERPUNK = "Cyberpunk"
    BIOPUNK = "Biopunk"
    DIESELPUNK = "Dieselpunk"
    URBAN_FANTASY = "Urban Fantasy"
    DARK_FANTASY = "Dark Fantasy"
    HIGH_FANTASY = "High Fantasy"
    LOW_FANTASY = "Low Fantasy"
    NOIR = "Noir"

    # Mood/Tone
    GORE = "Gore"
    TRAGEDY = "Tragedy"
    HEARTWARMING = "Heartwarming"
    WHOLESOME = "Wholesome"
    SATIRE = "Satire"
    PARODY = "Parody"
    META = "Meta"

    # Format Styles
    FOUR_KOMA = "4-Koma"
    ANTHOLOGY = "Anthology"
    ONESHOT = "Oneshot"
    FULL_COLOR = "Full Color"

    # Special Categories
    ADAPTATION = "Adaptation"
    FANWORK = "Fanwork"
    DOUJINSHI = "Doujinshi"
    OFFICIAL = "Official"
    UPDATING = "Updating"
    WEBTOON = "Webtoon"
    MANHWA = "Manhwa"
    MANHUA = "Manhua"

    UNKNOWN = "Unknown"
