export interface SeriesProps { id: string | null; name: string; description: string; coverImage: string | null; } export interface SeriesBookProps { bookId: string; title: string; order: number; coverImage: string | null; } export interface SeriesDetailResponse { id: string; name: string; description: string; coverImage: string | null; books: SeriesBookProps[]; } export interface SeriesAddResponse { seriesId: string; } export interface SeriesUpdateResponse { success: boolean; } export interface SeriesListItemProps { id: string; name: string; description: string; coverImage: string | null; bookCount: number; bookIds: string[]; } // Personnages de série export interface SeriesCharacterListItem { id: string; name: string; lastName: string | null; category: string; role: string | null; color: string | null; image: string | null; } export interface SeriesCharacterDetailResponse { id: string; name: string; lastName: string | null; nickname: string | null; age: number | null; gender: string | null; species: string | null; nationality: string | null; status: string | null; category: string; title: string | null; image: string | null; role: string | null; biography: string | null; history: string | null; speechPattern: string | null; catchphrase: string | null; residence: string | null; notes: string | null; color: string | null; attributes?: SeriesCharacterAttribute[]; } export interface SeriesCharacterAttribute { id: string; name: string; value: string; } export type SeriesCharacterProps = SeriesCharacterDetailResponse; // Mondes de série export interface SeriesWorldElementItem { id: string; name: string; description: string; } export interface SeriesWorldListItem { id: string; name: string; history: string; politics: string; economy: string; religion: string; languages: string; laws: SeriesWorldElementItem[]; biomes: SeriesWorldElementItem[]; issues: SeriesWorldElementItem[]; customs: SeriesWorldElementItem[]; kingdoms: SeriesWorldElementItem[]; climate: SeriesWorldElementItem[]; resources: SeriesWorldElementItem[]; wildlife: SeriesWorldElementItem[]; arts: SeriesWorldElementItem[]; ethnicGroups: SeriesWorldElementItem[]; socialClasses: SeriesWorldElementItem[]; importantCharacters: SeriesWorldElementItem[]; } export type SeriesWorldProps = SeriesWorldListItem; export interface SeriesWorldElement { id: string; type: number; name: string; description: string; } // Lieux de série export interface SeriesLocationSubElement { id: string; name: string; description: string; } export interface SeriesLocationElement { id: string; name: string; description: string; subElements: SeriesLocationSubElement[]; } export interface SeriesLocationItem { id: string; name: string; elements: SeriesLocationElement[]; } // Sorts de série (Grimoire) export interface SeriesSpellTag { id: string; name: string; color: string | null; } export interface SeriesSpellListItem { id: string; name: string; description: string; tags: string[] | null; } export interface SeriesSpellListResponse { spells: SeriesSpellListItem[]; tags: SeriesSpellTag[]; } export interface SeriesSpellDetailResponse { id: string; name: string; description: string; appearance: string; tags: string[]; powerLevel: string | null; components: string | null; limitations: string | null; notes: string | null; }