Files
ERitors-Scribe-Desktop/lib/models/Series.ts
natreex 209dc6f85a Remove CharacterComponent and CharacterDetail components
- Deleted `CharacterComponent` and `CharacterDetail` files from the project.
- Refactored related logic to improve code maintainability and reduce redundancy.
2026-02-05 14:12:08 -05:00

171 lines
3.8 KiB
TypeScript

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;
}