import { faBrain, faBullseye, faExclamationTriangle, faFire, faRuler, faShieldAlt, faUsers, faWrench, } from '@fortawesome/free-solid-svg-icons'; import {SelectBoxProps} from "@/shared/interface"; type CharacterCategory = 'main' | 'secondary' | 'recurring' | 'none'; export const characterCategories: SelectBoxProps[] = [ { value: 'none', label: 'Sélectionner son rôle', }, { value: 'main', label: 'Principal', }, { value: 'secondary', label: 'Secondaire', }, { value: 'recurring', label: 'Récurrent', }, ]; export const characterTitle: SelectBoxProps[] = [ {value: 'none', label: 'Aucun'}, {value: 'king', label: 'Roi'}, {value: 'queen', label: 'Reine'}, {value: 'emperor', label: 'Empereur'}, {value: 'empress', label: 'Impératrice'}, {value: 'prince', label: 'Prince'}, {value: 'princess', label: 'Princesse'}, {value: 'duke', label: 'Duc'}, {value: 'duchess', label: 'Duchesse'}, {value: 'count', label: 'Comte'}, {value: 'countess', label: 'Comtesse'}, {value: 'baron', label: 'Baron'}, {value: 'baroness', label: 'Baronne'}, {value: 'lord', label: 'Seigneur'}, {value: 'lady', label: 'Dame'}, {value: 'knight', label: 'Chevalier'}, {value: 'squire', label: 'Écuyer'}, {value: 'warrior', label: 'Guerrier'}, {value: 'general', label: 'Général'}, {value: 'commander', label: 'Commandant'}, {value: 'captain', label: 'Capitaine'}, {value: 'soldier', label: 'Soldat'}, {value: 'mercenary', label: 'Mercenaire'}, {value: 'assassin', label: 'Assassin'}, {value: 'thief', label: 'Voleur'}, {value: 'spy', label: 'Espion'}, {value: 'archmage', label: 'Archimage'}, {value: 'sorcerer', label: 'Sorcier'}, {value: 'witch', label: 'Sorcière'}, {value: 'warlock', label: 'Mage Noir'}, {value: 'druid', label: 'Druide'}, {value: 'priest', label: 'Prêtre'}, {value: 'prophet', label: 'Prophète'}, {value: 'oracle', label: 'Oracle'}, {value: 'seer', label: 'Voyant'}, {value: 'scholar', label: 'Érudit'}, {value: 'alchemist', label: 'Alchimiste'}, {value: 'healer', label: 'Guérisseur'}, {value: 'bard', label: 'Barde'}, {value: 'hermit', label: 'Ermite'}, {value: 'noble', label: 'Noble'}, {value: 'peasant', label: 'Paysan'}, {value: 'merchant', label: 'Marchand'}, {value: 'sailor', label: 'Marin'}, {value: 'pirate', label: 'Pirate'}, {value: 'slave', label: 'Esclave'}, {value: 'gladiator', label: 'Gladiateur'}, {value: 'champion', label: 'Champion'}, {value: 'outlaw', label: 'Hors-la-loi'}, {value: 'hunter', label: 'Chasseur'}, {value: 'beastmaster', label: 'Maître des Bêtes'}, {value: 'ranger', label: 'Rôdeur'}, {value: 'warden', label: 'Gardien'}, {value: 'sentinel', label: 'Sentinelle'}, {value: 'herald', label: 'Héraut'}, {value: 'messenger', label: 'Messager'}, {value: 'pilgrim', label: 'Pèlerin'}, {value: 'nomad', label: 'Nomade'}, {value: 'chieftain', label: 'Chef de Clan'}, {value: 'high-priest', label: 'Grand Prêtre'}, {value: 'inquisitor', label: 'Inquisiteur'}, {value: 'judge', label: 'Juge'}, {value: 'executioner', label: 'Bourreau'}, {value: 'warden', label: 'Gardien de Prison'}, {value: 'monk', label: 'Moine'}, {value: 'abbot', label: 'Abbé'}, {value: 'nun', label: 'Nonne'}, {value: 'diplomat', label: 'Diplomate'}, {value: 'ambassador', label: 'Ambassadeur'}, {value: 'scientist', label: 'Scientifique'}, {value: 'engineer', label: 'Ingénieur'}, {value: 'inventor', label: 'Inventeur'}, {value: 'architect', label: 'Architecte'}, {value: 'scribe', label: 'Scribe'}, {value: 'chronicler', label: 'Chroniqueur'}, {value: 'storyteller', label: 'Conteur'}, {value: 'actor', label: 'Acteur'}, {value: 'musician', label: 'Musicien'}, {value: 'artist', label: 'Artiste'}, {value: 'sculptor', label: 'Sculpteur'}, {value: 'orator', label: 'Orateur'}, {value: 'revolutionary', label: 'Révolutionnaire'}, {value: 'resistance-fighter', label: 'Résistant'}, {value: 'freedom-fighter', label: 'Combattant de la Liberté'}, {value: 'cult-leader', label: 'Chef de Secte'}, {value: 'warlock-lord', label: 'Seigneur Noir'}, {value: 'dark-prophet', label: 'Prophète du Chaos'}, {value: 'warlord', label: 'Seigneur de Guerre'}, {value: 'grandmaster', label: 'Grand Maître'}, {value: 'tactician', label: 'Tacticien'}, {value: 'archduke', label: 'Archiduc'}, {value: 'high-king', label: 'Haut Roi'}, {value: 'divine-champion', label: 'Champion Divin'}, ]; export interface Relation { name: string; type: string; description: string; history: string; } export interface Attribute { id: string; name: string; } export interface CharacterAttribute { [key: string]: Array; } export interface CharacterProps { id: string | null; name: string; lastName: string; category: CharacterCategory; title: string; image: string; physical: Attribute[]; psychological: Attribute[]; relations: Attribute[]; skills: Attribute[]; weaknesses: Attribute[]; strengths: Attribute[]; goals: Attribute[]; motivations: Attribute[]; role: string; biography?: string; history?: string; } export interface CharacterElement { title: string; section: keyof CharacterProps; placeholder: string; icon: any; // Replace `any` with an appropriate type if you have a specific icon type. } export const characterElementCategory: CharacterElement[] = [ { title: 'Descriptions physiques', section: 'physical', placeholder: 'Nouvelle Description Physique', icon: faRuler, }, { title: 'Descriptions psychologiques', section: 'psychological', placeholder: 'Nouvelle Description Psychologique', icon: faBrain, }, { title: 'Relations', section: 'relations', placeholder: 'Nouveau Nom de Relation', icon: faUsers, }, { title: 'Compétences', section: 'skills', placeholder: 'Nouvelle Compétence', icon: faWrench, }, { title: 'Faiblesses', section: 'weaknesses', placeholder: 'Nouvelle Faiblesse', icon: faExclamationTriangle, }, { title: 'Forces', section: 'strengths', placeholder: 'Nouvelle Force', icon: faShieldAlt, }, { title: 'Objectifs', section: 'goals', placeholder: 'Nouvel Objectif', icon: faBullseye, }, { title: 'Motivations', section: 'motivations', placeholder: 'Nouvelle Motivation', icon: faFire, }, ];