Files
ERitors-Scribe-Desktop/lib/models/World.ts
natreex b4eafca3bc Add comprehensive models and script for handling inline scripts and structured data
- Implement `remove-inline-scripts.js` to externalize Next.js inline scripts, enhancing CSP compliance.
- Add models for `Book`, `Character`, `Story`, `Editor`, `System`, and `BookSerie` with relevant properties and utilities.
- Include macOS entitlements plist for app development with advanced permissions.
- Add utility functions to handle script hashing, cookie management, and content formatting.
2025-11-16 19:56:14 -05:00

112 lines
2.3 KiB
TypeScript
Executable File

import {
faCrown,
faExclamationTriangle,
faFlag,
faGavel,
faIndustry,
faLeaf,
faMountain,
faMusic,
faPeopleArrows,
faSnowflake,
faUserCog,
faUserFriends,
} from '@fortawesome/free-solid-svg-icons';
import {ElementSection} from "@/components/book/settings/world/WorldSetting";
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[];
}
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() {
}
}