import {
    Zap,
    Box,
    Brain,
    Target,
    AlertTriangle,
    Fingerprint,
    Flame,
    Ghost,
    Heart,
    HeartCrack,
    Users,
    Quote,
    Route,
    Ruler,
    Shield,
    UserX,
    Wrench
} from 'lucide-react';
import {SelectBoxProps} from "@/components/form/SelectBox";
import {CharacterElement} from "@/lib/types/character";

export const characterCategories: SelectBoxProps[] = [
    {value: 'none', label: 'characterCategories.none'},
    {value: 'main', label: 'characterCategories.main'},
    {value: 'secondary', label: 'characterCategories.secondary'},
    {value: 'recurring', label: 'characterCategories.recurring'},
];

export const characterStatus: SelectBoxProps[] = [
    {value: 'alive', label: 'characterStatus.alive'},
    {value: 'dead', label: 'characterStatus.dead'},
    {value: 'unknown', label: 'characterStatus.unknown'},
];

export const basicCharacterElements: CharacterElement[] = [
    {
        title: 'Descriptions physiques',
        section: 'physical',
        placeholder: 'Nouvelle Description Physique',
        icon: Ruler,
    },
    {
        title: 'Descriptions psychologiques',
        section: 'psychological',
        placeholder: 'Nouvelle Description Psychologique',
        icon: Brain,
    },
];

export const advancedCharacterElements: CharacterElement[] = [
    {
        title: 'Signes distinctifs',
        section: 'distinguishingMarks',
        placeholder: 'Nouveau signe distinctif',
        icon: Fingerprint,
    },
    {
        title: 'Arc du personnage',
        section: 'arc',
        placeholder: 'Nouvelle étape de l\'arc',
        icon: Route,
    },
    {
        title: 'Secrets',
        section: 'secrets',
        placeholder: 'Nouveau secret',
        icon: UserX,
    },
    {
        title: 'Peurs',
        section: 'fears',
        placeholder: 'Nouvelle peur',
        icon: Ghost,
    },
    {
        title: 'Défauts',
        section: 'flaws',
        placeholder: 'Nouveau défaut',
        icon: HeartCrack,
    },
    {
        title: 'Croyances',
        section: 'beliefs',
        placeholder: 'Nouvelle croyance',
        icon: Heart,
    },
    {
        title: 'Conflits internes',
        section: 'conflicts',
        placeholder: 'Nouveau conflit',
        icon: Zap,
    },
    {
        title: 'Citations',
        section: 'quotes',
        placeholder: 'Nouvelle citation',
        icon: Quote,
    },
    {
        title: 'Relations',
        section: 'relations',
        placeholder: 'Nouveau Nom de Relation',
        icon: Users,
    },
    {
        title: 'Compétences',
        section: 'skills',
        placeholder: 'Nouvelle Compétence',
        icon: Wrench,
    },
    {
        title: 'Faiblesses',
        section: 'weaknesses',
        placeholder: 'Nouvelle Faiblesse',
        icon: AlertTriangle,
    },
    {
        title: 'Forces',
        section: 'strengths',
        placeholder: 'Nouvelle Force',
        icon: Shield,
    },
    {
        title: 'Objectifs',
        section: 'goals',
        placeholder: 'Nouvel Objectif',
        icon: Target,
    },
    {
        title: 'Motivations',
        section: 'motivations',
        placeholder: 'Nouvelle Motivation',
        icon: Flame,
    },
    {
        title: 'Objets importants',
        section: 'items',
        placeholder: 'Nouvel objet',
        icon: Box,
    },
    {
        title: 'Affiliations',
        section: 'affiliations',
        placeholder: 'Nouvelle affiliation',
        icon: Users,
    },
];

export const characterElementCategory: CharacterElement[] = [
    ...basicCharacterElements,
    ...advancedCharacterElements,
];
