Add enable/disable management for book tools (characters, worlds, and locations)
- Introduced toggling functionality for managing `characters`, `worlds`, and `locations` tool availability per book. - Updated `CharacterComponent`, `WorldSetting`, and `LocationComponent` with toggle switches for tool enablement. - Added `book_tools` database table and related schema migration for storing tool settings. - Extended API calls, models, and IPC handlers to support tool enablement states. - Localized new strings for English with supporting descriptions and messages. - Adjusted conditional rendering logic across components to respect tool enablement.
This commit is contained in:
@@ -354,7 +354,11 @@
|
||||
"languagesPlaceholder": "Create your own language or simply mention those available.",
|
||||
"updateWorldError": "Failed to update:",
|
||||
"addWorldError": "Error adding world.",
|
||||
"updateWorldSuccess": "World updated successfully."
|
||||
"updateWorldSuccess": "World updated successfully.",
|
||||
"enableTool": "Enable worlds",
|
||||
"enableToolDescription": "Enable world management for this book.",
|
||||
"toolEnabled": "World management enabled.",
|
||||
"toolDisabled": "World management disabled."
|
||||
},
|
||||
"locationComponent": {
|
||||
"newSectionPlaceholder": "New section name",
|
||||
@@ -387,7 +391,11 @@
|
||||
"errorSave": "An error occurred while saving the locations.",
|
||||
"errorUnknownSave": "Unable to save changes. Please try again later.",
|
||||
"errorUnknownFetchLocations": "Unknown error fetching locations.",
|
||||
"successSave": "Locations saved successfully."
|
||||
"successSave": "Locations saved successfully.",
|
||||
"enableTool": "Enable locations",
|
||||
"enableToolDescription": "Enable location management for this book.",
|
||||
"toolEnabled": "Location management enabled.",
|
||||
"toolDisabled": "Location management disabled."
|
||||
},
|
||||
"characterComponent": {
|
||||
"errorNameRequired": "Character name is required.",
|
||||
@@ -397,7 +405,11 @@
|
||||
"errorAddCharacter": "Error adding character.",
|
||||
"errorUpdateCharacter": "Error updating character.",
|
||||
"errorAddAttribute": "Error adding attribute.",
|
||||
"errorRemoveAttribute": "Error removing attribute."
|
||||
"errorRemoveAttribute": "Error removing attribute.",
|
||||
"enableTool": "Enable characters",
|
||||
"enableToolDescription": "Enable character management for this book.",
|
||||
"toolEnabled": "Character management enabled.",
|
||||
"toolDisabled": "Character management disabled."
|
||||
},
|
||||
"characterDetail": {
|
||||
"back": "Back",
|
||||
@@ -1013,6 +1025,9 @@
|
||||
"errorSave": "Error saving settings.",
|
||||
"errorUnknown": "An unknown error occurred.",
|
||||
"successSave": "QuillSense settings saved successfully.",
|
||||
"noBookSelected": "No book selected."
|
||||
"noBookSelected": "No book selected.",
|
||||
"enable_characters": "Enable character management for this book",
|
||||
"enable_worlds": "Enable world management for this book",
|
||||
"enable_locations": "Enable location management for this book"
|
||||
}
|
||||
}
|
||||
@@ -354,7 +354,11 @@
|
||||
"languagesPlaceholder": "Créez votre propre langue ou mentionnez simplement celles disponibles.",
|
||||
"updateWorldError": "Échec de la mise à jour :",
|
||||
"addWorldError": "Erreur lors de l'ajout du monde.",
|
||||
"updateWorldSuccess": "Monde mis à jour avec succès."
|
||||
"updateWorldSuccess": "Monde mis à jour avec succès.",
|
||||
"enableTool": "Activer les mondes",
|
||||
"enableToolDescription": "Activer la gestion des mondes pour ce livre.",
|
||||
"toolEnabled": "Gestion des mondes activée.",
|
||||
"toolDisabled": "Gestion des mondes désactivée."
|
||||
},
|
||||
"locationComponent": {
|
||||
"newSectionPlaceholder": "Nom de la nouvelle section",
|
||||
@@ -387,7 +391,11 @@
|
||||
"errorSave": "Une erreur est survenue lors de la sauvegarde des emplacements.",
|
||||
"errorUnknownSave": "Impossible de sauvegarder les modifications. Veuillez réessayer ultérieurement.",
|
||||
"errorUnknownFetchLocations": "Erreur inconnue lors de la récupération des emplacements.",
|
||||
"successSave": "Emplacements sauvegardés avec succès."
|
||||
"successSave": "Emplacements sauvegardés avec succès.",
|
||||
"enableTool": "Activer les lieux",
|
||||
"enableToolDescription": "Activer la gestion des lieux pour ce livre.",
|
||||
"toolEnabled": "Gestion des lieux activée.",
|
||||
"toolDisabled": "Gestion des lieux désactivée."
|
||||
},
|
||||
"characterComponent": {
|
||||
"errorNameRequired": "Le nom du personnage est requis.",
|
||||
@@ -397,7 +405,11 @@
|
||||
"errorAddCharacter": "Erreur lors de l'ajout du personnage.",
|
||||
"errorUpdateCharacter": "Erreur lors de la mise à jour du personnage.",
|
||||
"errorAddAttribute": "Erreur lors de l'ajout de l'attribut.",
|
||||
"errorRemoveAttribute": "Erreur lors de la suppression de l'attribut."
|
||||
"errorRemoveAttribute": "Erreur lors de la suppression de l'attribut.",
|
||||
"enableTool": "Activer les personnages",
|
||||
"enableToolDescription": "Activer la gestion des personnages pour ce livre.",
|
||||
"toolEnabled": "Gestion des personnages activée.",
|
||||
"toolDisabled": "Gestion des personnages désactivée."
|
||||
},
|
||||
"characterDetail": {
|
||||
"back": "Retour",
|
||||
@@ -1014,6 +1026,9 @@
|
||||
"errorSave": "Erreur lors de la sauvegarde des paramètres.",
|
||||
"errorUnknown": "Une erreur inconnue est survenue.",
|
||||
"successSave": "Paramètres QuillSense sauvegardés avec succès.",
|
||||
"noBookSelected": "Aucun livre sélectionné."
|
||||
"noBookSelected": "Aucun livre sélectionné.",
|
||||
"enable_characters": "Activer la gestion des personnages pour ce livre",
|
||||
"enable_worlds": "Activer la gestion des mondes pour ce livre",
|
||||
"enable_locations": "Activer la gestion des lieux pour ce livre"
|
||||
}
|
||||
}
|
||||
@@ -57,6 +57,12 @@ export interface SyncedBook {
|
||||
aiGuideLine: SyncedAIGuideLine | null;
|
||||
}
|
||||
|
||||
export interface BookToolsSettings {
|
||||
characters: boolean;
|
||||
worlds: boolean;
|
||||
locations: boolean;
|
||||
}
|
||||
|
||||
export interface BookProps {
|
||||
bookId: string;
|
||||
type: string;
|
||||
@@ -72,6 +78,7 @@ export interface BookProps {
|
||||
localBook?: boolean;
|
||||
chapters?: ChapterProps[];
|
||||
quillsenseEnabled?: boolean;
|
||||
tools?: BookToolsSettings;
|
||||
}
|
||||
|
||||
export interface BookListProps {
|
||||
|
||||
@@ -163,6 +163,11 @@ export interface CharacterProps {
|
||||
history?: string;
|
||||
}
|
||||
|
||||
export interface CharacterListResponse {
|
||||
characters: CharacterProps[];
|
||||
enabled: boolean;
|
||||
}
|
||||
|
||||
export interface CharacterElement {
|
||||
title: string;
|
||||
section: keyof CharacterProps;
|
||||
|
||||
@@ -42,6 +42,11 @@ export interface WorldProps {
|
||||
importantCharacters: WorldElement[];
|
||||
}
|
||||
|
||||
export interface WorldListResponse {
|
||||
worlds: WorldProps[];
|
||||
enabled: boolean;
|
||||
}
|
||||
|
||||
export const elementSections: ElementSection[] = [
|
||||
{
|
||||
title: 'Lois',
|
||||
|
||||
Reference in New Issue
Block a user