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.
This commit is contained in:
111
lib/models/World.ts
Executable file
111
lib/models/World.ts
Executable file
@@ -0,0 +1,111 @@
|
||||
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() {
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user