import {
    faCrown,
    faExclamationTriangle,
    faFlag,
    faGavel,
    faIndustry,
    faLeaf,
    faMountain,
    faMusic,
    faPeopleArrows,
    faSnowflake,
    faUserCog,
    faUserFriends,
    IconDefinition,
} from '@fortawesome/free-solid-svg-icons';

export interface ElementSection {
    title: string;
    section: keyof WorldProps;
    icon: IconDefinition;
}

export interface WorldElement {
    id: string;
    name: string;
    description: string;
}

export interface WorldProps {
    id: string;
    name: string;
    history: string;
    politics: string;
    economy: string;
    religion: string;
    languages: string;
    laws: WorldElement[];
    biomes: WorldElement[];
    issues: WorldElement[];
    customs: WorldElement[];
    kingdoms: WorldElement[];
    climate: WorldElement[];
    resources: WorldElement[];
    wildlife: WorldElement[];
    arts: WorldElement[];
    ethnicGroups: WorldElement[];
    socialClasses: WorldElement[];
    importantCharacters: WorldElement[];
    seriesWorldId?: string | null;
}

export interface WorldListResponse {
    worlds: WorldProps[];
    enabled: boolean;
}

export const elementSections: ElementSection[] = [
    {
        title: 'Lois',
        section: 'laws',
        icon: faGavel,
    },
    {
        title: 'Biomes',
        section: 'biomes',
        icon: faMountain,
    },
    {
        title: 'Problèmes',
        section: 'issues',
        icon: faExclamationTriangle,
    },
    {
        title: 'Coutumes',
        section: 'customs',
        icon: faPeopleArrows,
    },
    {
        title: 'Royaumes',
        section: 'kingdoms',
        icon: faFlag,
    },
    {
        title: 'Climat',
        section: 'climate',
        icon: faSnowflake,
    },
    {
        title: 'Ressources',
        section: 'resources',
        icon: faIndustry,
    },
    {
        title: 'Faune',
        section: 'wildlife',
        icon: faLeaf,
    },
    {
        title: 'Arts',
        section: 'arts',
        icon: faMusic,
    },
    {
        title: 'Groupes ethniques',
        section: 'ethnicGroups',
        icon: faUserFriends,
    },
    {
        title: 'Classes sociales',
        section: 'socialClasses',
        icon: faUserCog,
    },
    {
        title: 'Personnages importants',
        section: 'importantCharacters',
        icon: faCrown,
    },
];

export default class World {
    constructor() {
    }
}
