Remove unused components and models for improved maintainability
- Deleted redundant components (`AddActionButton`, `AlertBox`, `AlertStack`, `BackButton`, `CancelButton`, and `CollapsableArea`) and related files. - Removed unused models (`Book`, `BookSerie`, `BookTables`, `Character`, and `Chapter`) to reduce codebase clutter. - Updated project structure and references to reflect these removals.
This commit is contained in:
9
lib/constants/book.ts
Normal file
9
lib/constants/book.ts
Normal file
@@ -0,0 +1,9 @@
|
||||
import {SelectBoxProps} from "@/components/form/SelectBox";
|
||||
|
||||
export const bookTypes: SelectBoxProps[] = [
|
||||
{label: 'bookTypes.short', value: 'short'},
|
||||
{label: 'bookTypes.novelette', value: 'novelette'},
|
||||
{label: 'bookTypes.novella', value: 'long'},
|
||||
{label: 'bookTypes.chapbook', value: 'chapbook'},
|
||||
{label: 'bookTypes.novel', value: 'novel'},
|
||||
];
|
||||
9
lib/constants/chapter.ts
Normal file
9
lib/constants/chapter.ts
Normal file
@@ -0,0 +1,9 @@
|
||||
import {SelectBoxProps} from "@/components/form/SelectBox";
|
||||
|
||||
export const chapterVersions: SelectBoxProps[] = [
|
||||
{value: '1', label: 'chapterVersions.prompt'},
|
||||
{value: '2', label: 'chapterVersions.draft'},
|
||||
{value: '3', label: 'chapterVersions.refine'},
|
||||
{value: '4', label: 'chapterVersions.review'},
|
||||
{value: '5', label: 'chapterVersions.final'},
|
||||
];
|
||||
153
lib/constants/character.ts
Normal file
153
lib/constants/character.ts
Normal file
@@ -0,0 +1,153 @@
|
||||
import {
|
||||
Zap,
|
||||
Box,
|
||||
Brain,
|
||||
Target,
|
||||
AlertTriangle,
|
||||
Fingerprint,
|
||||
Flame,
|
||||
Ghost,
|
||||
Heart,
|
||||
HeartCrack,
|
||||
Users,
|
||||
Quote,
|
||||
Route,
|
||||
Ruler,
|
||||
Shield,
|
||||
UserX,
|
||||
Wrench
|
||||
} from 'lucide-react';
|
||||
import {SelectBoxProps} from "@/components/form/SelectBox";
|
||||
import {CharacterElement} from "@/lib/types/character";
|
||||
|
||||
export const characterCategories: SelectBoxProps[] = [
|
||||
{value: 'none', label: 'characterCategories.none'},
|
||||
{value: 'main', label: 'characterCategories.main'},
|
||||
{value: 'secondary', label: 'characterCategories.secondary'},
|
||||
{value: 'recurring', label: 'characterCategories.recurring'},
|
||||
];
|
||||
|
||||
export const characterStatus: SelectBoxProps[] = [
|
||||
{value: 'alive', label: 'characterStatus.alive'},
|
||||
{value: 'dead', label: 'characterStatus.dead'},
|
||||
{value: 'unknown', label: 'characterStatus.unknown'},
|
||||
];
|
||||
|
||||
export const basicCharacterElements: CharacterElement[] = [
|
||||
{
|
||||
title: 'Descriptions physiques',
|
||||
section: 'physical',
|
||||
placeholder: 'Nouvelle Description Physique',
|
||||
icon: Ruler,
|
||||
},
|
||||
{
|
||||
title: 'Descriptions psychologiques',
|
||||
section: 'psychological',
|
||||
placeholder: 'Nouvelle Description Psychologique',
|
||||
icon: Brain,
|
||||
},
|
||||
];
|
||||
|
||||
export const advancedCharacterElements: CharacterElement[] = [
|
||||
{
|
||||
title: 'Signes distinctifs',
|
||||
section: 'distinguishingMarks',
|
||||
placeholder: 'Nouveau signe distinctif',
|
||||
icon: Fingerprint,
|
||||
},
|
||||
{
|
||||
title: 'Arc du personnage',
|
||||
section: 'arc',
|
||||
placeholder: 'Nouvelle étape de l\'arc',
|
||||
icon: Route,
|
||||
},
|
||||
{
|
||||
title: 'Secrets',
|
||||
section: 'secrets',
|
||||
placeholder: 'Nouveau secret',
|
||||
icon: UserX,
|
||||
},
|
||||
{
|
||||
title: 'Peurs',
|
||||
section: 'fears',
|
||||
placeholder: 'Nouvelle peur',
|
||||
icon: Ghost,
|
||||
},
|
||||
{
|
||||
title: 'Défauts',
|
||||
section: 'flaws',
|
||||
placeholder: 'Nouveau défaut',
|
||||
icon: HeartCrack,
|
||||
},
|
||||
{
|
||||
title: 'Croyances',
|
||||
section: 'beliefs',
|
||||
placeholder: 'Nouvelle croyance',
|
||||
icon: Heart,
|
||||
},
|
||||
{
|
||||
title: 'Conflits internes',
|
||||
section: 'conflicts',
|
||||
placeholder: 'Nouveau conflit',
|
||||
icon: Zap,
|
||||
},
|
||||
{
|
||||
title: 'Citations',
|
||||
section: 'quotes',
|
||||
placeholder: 'Nouvelle citation',
|
||||
icon: Quote,
|
||||
},
|
||||
{
|
||||
title: 'Relations',
|
||||
section: 'relations',
|
||||
placeholder: 'Nouveau Nom de Relation',
|
||||
icon: Users,
|
||||
},
|
||||
{
|
||||
title: 'Compétences',
|
||||
section: 'skills',
|
||||
placeholder: 'Nouvelle Compétence',
|
||||
icon: Wrench,
|
||||
},
|
||||
{
|
||||
title: 'Faiblesses',
|
||||
section: 'weaknesses',
|
||||
placeholder: 'Nouvelle Faiblesse',
|
||||
icon: AlertTriangle,
|
||||
},
|
||||
{
|
||||
title: 'Forces',
|
||||
section: 'strengths',
|
||||
placeholder: 'Nouvelle Force',
|
||||
icon: Shield,
|
||||
},
|
||||
{
|
||||
title: 'Objectifs',
|
||||
section: 'goals',
|
||||
placeholder: 'Nouvel Objectif',
|
||||
icon: Target,
|
||||
},
|
||||
{
|
||||
title: 'Motivations',
|
||||
section: 'motivations',
|
||||
placeholder: 'Nouvelle Motivation',
|
||||
icon: Flame,
|
||||
},
|
||||
{
|
||||
title: 'Objets importants',
|
||||
section: 'items',
|
||||
placeholder: 'Nouvel objet',
|
||||
icon: Box,
|
||||
},
|
||||
{
|
||||
title: 'Affiliations',
|
||||
section: 'affiliations',
|
||||
placeholder: 'Nouvelle affiliation',
|
||||
icon: Users,
|
||||
},
|
||||
];
|
||||
|
||||
export const characterElementCategory: CharacterElement[] = [
|
||||
...basicCharacterElements,
|
||||
...advancedCharacterElements,
|
||||
];
|
||||
35
lib/constants/spell.ts
Normal file
35
lib/constants/spell.ts
Normal file
@@ -0,0 +1,35 @@
|
||||
import {SelectBoxProps} from "@/components/form/SelectBox";
|
||||
import {SpellEditState} from "@/lib/types/spell";
|
||||
|
||||
export const initialSpellState: SpellEditState = {
|
||||
id: null,
|
||||
name: '',
|
||||
description: '',
|
||||
appearance: '',
|
||||
tags: [],
|
||||
powerLevel: null,
|
||||
components: null,
|
||||
limitations: null,
|
||||
notes: null,
|
||||
seriesSpellId: null,
|
||||
};
|
||||
|
||||
export const spellPowerLevels: SelectBoxProps[] = [
|
||||
{value: 'none', label: 'spellPowerLevels.none'},
|
||||
{value: 'cantrip', label: 'spellPowerLevels.cantrip'},
|
||||
{value: 'novice', label: 'spellPowerLevels.novice'},
|
||||
{value: 'apprentice', label: 'spellPowerLevels.apprentice'},
|
||||
{value: 'journeyman', label: 'spellPowerLevels.journeyman'},
|
||||
{value: 'expert', label: 'spellPowerLevels.expert'},
|
||||
{value: 'master', label: 'spellPowerLevels.master'},
|
||||
{value: 'grandmaster', label: 'spellPowerLevels.grandmaster'},
|
||||
{value: 'legendary', label: 'spellPowerLevels.legendary'},
|
||||
{value: 'divine', label: 'spellPowerLevels.divine'},
|
||||
];
|
||||
|
||||
export const defaultTagColors: string[] = [
|
||||
'#51AE84', '#3A8B69', '#2196F3', '#1976D2',
|
||||
'#FFA726', '#FF9800', '#EF5350', '#E53935',
|
||||
'#AB47BC', '#9C27B0', '#26A69A', '#00897B',
|
||||
'#5C6BC0', '#3F51B5', '#EC407A', '#D81B60',
|
||||
];
|
||||
135
lib/constants/story.ts
Normal file
135
lib/constants/story.ts
Normal file
@@ -0,0 +1,135 @@
|
||||
import {RadioBoxValue} from "@/components/form/RadioBox";
|
||||
import {SelectBoxProps} from "@/components/form/SelectBox";
|
||||
|
||||
export const storyStates: RadioBoxValue[] = [
|
||||
{label: 'Suite', value: 0},
|
||||
{label: 'Début', value: 1},
|
||||
{label: 'Fin', value: 2},
|
||||
{label: 'Introduction', value: 3},
|
||||
{label: 'Final', value: 4},
|
||||
];
|
||||
|
||||
export const beginnerPredefinedType: SelectBoxProps[] = [
|
||||
{label: `Thème défini disponible.`, value: '0'},
|
||||
{label: `Féerique`, value: '3'},
|
||||
{label: 'Romance historique', value: '10'},
|
||||
{label: 'Conte de fées moderne', value: '13'},
|
||||
{label: 'Romance contemporaine', value: '17'},
|
||||
{label: 'Conte moral', value: '20'},
|
||||
];
|
||||
|
||||
export const intermediatePredefinedType: SelectBoxProps[] = [
|
||||
{label: `Thème défini disponible.`, value: '0'},
|
||||
{label: `Histoire d'horreur jeune adulte`, value: '1'},
|
||||
{label: 'Féerique', value: '3'},
|
||||
{label: 'Romance dramatique', value: '5'},
|
||||
{label: 'Fantastique sombre', value: '9'},
|
||||
{label: 'Romance historique', value: '10'},
|
||||
{label: 'Science-fiction utopique', value: '12'},
|
||||
{label: 'Conte de fées moderne', value: '13'},
|
||||
{label: 'Drame familial', value: '14'},
|
||||
{label: 'Romance contemporaine', value: '17'},
|
||||
{label: 'Science-fiction post-apocalyptique', value: '19'},
|
||||
{label: 'Conte moral', value: '20'},
|
||||
];
|
||||
|
||||
export const advancedPredefinedType: SelectBoxProps[] = [
|
||||
{label: `Thème défini disponible.`, value: '0'},
|
||||
{label: `Histoire d'horreur jeune adulte`, value: '1'},
|
||||
{label: `Horreur adulte`, value: '2'},
|
||||
{label: 'Féerique', value: '3'},
|
||||
{label: 'Science-fiction dystopique', value: '4'},
|
||||
{label: 'Romance dramatique', value: '5'},
|
||||
{label: 'Aventure épique', value: '6'},
|
||||
{label: 'Conte philosophique', value: '7'},
|
||||
{label: 'Thriller psychologique', value: '8'},
|
||||
{label: 'Fantastique sombre', value: '9'},
|
||||
{label: 'Romance historique', value: '10'},
|
||||
{label: 'Polar noir', value: '11'},
|
||||
{label: 'Science-fiction utopique', value: '12'},
|
||||
{label: 'Conte de fées moderne', value: '13'},
|
||||
{label: 'Drame familial', value: '14'},
|
||||
{label: 'Aventure maritime', value: '15'},
|
||||
{label: 'Fantaisie épique', value: '16'},
|
||||
{label: 'Romance contemporaine', value: '17'},
|
||||
{label: "Thriller d'espionnage", value: '18'},
|
||||
{label: 'Science-fiction post-apocalyptique', value: '19'},
|
||||
{label: 'Conte moral', value: '20'},
|
||||
];
|
||||
|
||||
export const beginnerNarrativePersons: SelectBoxProps[] = [
|
||||
{label: 'Sélectionner un type narrative.', value: '0'},
|
||||
{label: 'Première personne (Je acteur) - Implication émotionnelle', value: '1'},
|
||||
{label: 'Troisième omnisciente - Narration divine, savoir total', value: '3'},
|
||||
];
|
||||
|
||||
export const intermediateNarrativePersons: SelectBoxProps[] = [
|
||||
{label: 'Sélectionner un type narrative.', value: '0'},
|
||||
{label: 'Première personne (Je acteur) - Implication émotionnelle', value: '1'},
|
||||
{label: 'Première personne (Je témoin) - Observation extérieure', value: '2'},
|
||||
{label: 'Troisième omnisciente - Narration divine, savoir total', value: '3'},
|
||||
{label: 'Troisième limitée - Focus sur 1 personnage', value: '4'},
|
||||
];
|
||||
|
||||
export const advancedNarrativePersons: SelectBoxProps[] = [
|
||||
{label: 'Sélectionner un type narrative.', value: '0'},
|
||||
{label: 'Première personne (Je acteur) - Implication émotionnelle', value: '1'},
|
||||
{label: 'Première personne (Je témoin) - Observation extérieure', value: '2'},
|
||||
{label: 'Troisième omnisciente - Narration divine, savoir total', value: '3'},
|
||||
{label: 'Troisième limitée - Focus sur 1 personnage', value: '4'},
|
||||
{label: 'Deuxième personne (Tu) - Immersion/confrontation', value: '5'},
|
||||
{label: 'Nous collectif - Voix chorale, destin partagé', value: '6'},
|
||||
];
|
||||
|
||||
export const langues: SelectBoxProps[] = [
|
||||
{label: 'Sélectionner une langue.', value: '0'},
|
||||
{label: 'Français Canada', value: '1'},
|
||||
{label: 'Français France', value: '2'},
|
||||
{label: 'Français Québécois', value: '3'},
|
||||
{label: 'English Canada', value: '4'},
|
||||
];
|
||||
|
||||
export const beginnerDialogueTypes: SelectBoxProps[] = [
|
||||
{label: 'Sélectionner un type de dialogue.', value: '0'},
|
||||
{label: 'Dialogue direct - Paroles exactes des personnages', value: '1'},
|
||||
{label: 'Dialogue indirect - Paroles résumées par le narrateur', value: '2'},
|
||||
];
|
||||
|
||||
export const intermediateDialogueTypes: SelectBoxProps[] = [
|
||||
{label: 'Sélectionner un type de dialogue.', value: '0'},
|
||||
{label: 'Dialogue direct - Paroles exactes des personnages', value: '1'},
|
||||
{label: 'Dialogue indirect - Paroles résumées par le narrateur', value: '2'},
|
||||
{label: 'Dialogue mixte - Mélange de dialogue direct et indirect', value: '3'},
|
||||
];
|
||||
|
||||
export const advancedDialogueTypes: SelectBoxProps[] = [
|
||||
{label: 'Sélectionner un type de dialogue.', value: '0'},
|
||||
{label: 'Dialogue direct - Paroles exactes des personnages', value: '1'},
|
||||
{label: 'Dialogue indirect - Paroles résumées par le narrateur', value: '2'},
|
||||
{label: 'Dialogue mixte - Mélange de dialogue direct et indirect', value: '3'},
|
||||
{label: 'Monologue intérieur - Interaction avec soi-même', value: '4'},
|
||||
];
|
||||
|
||||
export const verbalTime: SelectBoxProps[] = [
|
||||
{label: 'Sélectionner un temps verbal.', value: '0'},
|
||||
{label: 'Passé Simple', value: '1'},
|
||||
{label: 'Passé Immédiat → Témoignages, récits autobiographiques', value: '2'},
|
||||
{label: 'Passé Profond → Flashbacks littéraires, tragédies', value: '3'},
|
||||
{label: 'Présent Brut → Urgence, immersion totale', value: '4'},
|
||||
{label: 'Présent Réflexif → Méditations philosophiques', value: '5'},
|
||||
{label: 'Futur Projeté → Prophéties, plans stratégiques', value: '6'},
|
||||
{label: 'Futur Catastrophe → Dystopies, récits post-apocalyptiques', value: '7'},
|
||||
{label: 'Imparfait Onirique → Rêves, souvenirs déformés', value: '8'},
|
||||
{label: 'Conditionnel Hypothétique → Uchronies, réalités alternatives', value: '9'},
|
||||
{label: 'Subjonctif Angoissé → Drames psychologiques, dilemmes', value: '10'},
|
||||
{label: 'Mélancolie Composée → Regrets, introspection nostalgique', value: '11'},
|
||||
{label: 'Urgence Narrative → Urgences', value: '12'},
|
||||
{label: 'Présent Émotionnel → Émotions intenses', value: '13'},
|
||||
{label: 'Présent Introspectif → Réflexions profondes', value: '14'},
|
||||
{label: 'Présent Historique → Histoires historiques', value: '15'},
|
||||
{label: 'Passé Réflexif → Récits introspectifs', value: '16'},
|
||||
{label: 'Futur Prophétique → Prophéties, visions apocalyptiques', value: '17'},
|
||||
{label: 'Conditionnel Visionnaire → Mondes parallèles', value: '18'},
|
||||
{label: 'Imparfait Poétique → Lyrisme, poésie narrative', value: '19'},
|
||||
{label: 'Second Person Narrative → Immersion totale', value: '20'},
|
||||
];
|
||||
8
lib/constants/user.ts
Normal file
8
lib/constants/user.ts
Normal file
@@ -0,0 +1,8 @@
|
||||
import {SelectBoxProps} from "@/components/form/SelectBox";
|
||||
|
||||
export const writingLevel: SelectBoxProps[] = [
|
||||
{value: '0', label: 'Sélectionner un niveau d\'écriture'},
|
||||
{value: '1', label: 'Je suis débutant'},
|
||||
{value: '2', label: 'Je suis intermédiaire'},
|
||||
{value: '3', label: 'Je suis avancé'},
|
||||
];
|
||||
30
lib/constants/world.ts
Normal file
30
lib/constants/world.ts
Normal file
@@ -0,0 +1,30 @@
|
||||
import {
|
||||
Crown,
|
||||
AlertTriangle,
|
||||
Flag,
|
||||
Gavel,
|
||||
Factory,
|
||||
Leaf,
|
||||
Mountain,
|
||||
Music,
|
||||
ArrowLeftRight,
|
||||
Snowflake,
|
||||
UserCog,
|
||||
Users
|
||||
} from 'lucide-react';
|
||||
import {ElementSection} from "@/lib/types/world";
|
||||
|
||||
export const elementSections: ElementSection[] = [
|
||||
{title: 'Lois', section: 'laws', icon: Gavel},
|
||||
{title: 'Biomes', section: 'biomes', icon: Mountain},
|
||||
{title: 'Problèmes', section: 'issues', icon: AlertTriangle},
|
||||
{title: 'Coutumes', section: 'customs', icon: ArrowLeftRight},
|
||||
{title: 'Royaumes', section: 'kingdoms', icon: Flag},
|
||||
{title: 'Climat', section: 'climate', icon: Snowflake},
|
||||
{title: 'Ressources', section: 'resources', icon: Factory},
|
||||
{title: 'Faune', section: 'wildlife', icon: Leaf},
|
||||
{title: 'Arts', section: 'arts', icon: Music},
|
||||
{title: 'Groupes ethniques', section: 'ethnicGroups', icon: Users},
|
||||
{title: 'Classes sociales', section: 'socialClasses', icon: UserCog},
|
||||
{title: 'Personnages importants', section: 'importantCharacters', icon: Crown},
|
||||
];
|
||||
Reference in New Issue
Block a user