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:
natreex
2026-01-14 17:42:59 -05:00
parent 7215ac5c4f
commit e45a15225b
19 changed files with 782 additions and 341 deletions

View File

@@ -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"
}
}