Remove CharacterComponent and CharacterDetail components

- Deleted `CharacterComponent` and `CharacterDetail` files from the project.
- Refactored related logic to improve code maintainability and reduce redundancy.
This commit is contained in:
natreex
2026-02-05 14:12:08 -05:00
parent cec5830360
commit 209dc6f85a
133 changed files with 17673 additions and 3110 deletions

View File

@@ -154,7 +154,9 @@
"errorBookCreate": "An error occurred while creating the book.",
"errorBooksFetch": "An error occurred while retrieving the books.",
"errorBookDetails": "Error fetching book details.",
"errorUnknown": "An unknown error occurred."
"errorUnknown": "An unknown error occurred.",
"seriesSettings": "Series settings",
"emptySeries": "Empty series"
},
"bookCard": {
"noCoverAlt": "No cover",
@@ -200,6 +202,11 @@
"title": "Lyrics Generator",
"description": "Create song lyrics in a few clicks.",
"badge": "Lyrics"
},
"addSeries": {
"title": "Create a series",
"description": "Create a series to group multiple books.",
"badge": "SERIES"
}
}
},
@@ -350,6 +357,8 @@
}
},
"worldSetting": {
"exportSuccess": "World exported to series successfully.",
"exportToSeries": "Export to series",
"getWorldsError": "Error while fetching worlds.",
"unknownError": "Unknown error.",
"newWorldNameError": "Please enter a name for the new world.",
@@ -358,11 +367,19 @@
"createWorldLabel": "Create world",
"selectWorldPlaceholder": "Select a world",
"noWorldAvailable": "No world available.",
"noWorldDescription": "Create your first world to develop your story's universe.",
"newWorldPlaceholder": "New world name...",
"search": "Search for a world...",
"newWorld": "New world",
"deleteTitle": "Delete world",
"deleteMessage": "You are about to permanently delete the world \"{name}\".",
"worldName": "World name",
"worldNamePlaceholder": "Enter the world name",
"worldHistory": "World history",
"worldHistoryPlaceholder": "Describe the history of your world",
"basicInfo": "Basic information",
"politicsEconomy": "Politics and economy",
"cultureLanguages": "Culture and languages",
"politics": "Political description",
"politicsPlaceholder": "The political description of this world...",
"economy": "Rules and economic status",
@@ -380,8 +397,16 @@
"toolDisabled": "World management disabled."
},
"locationComponent": {
"exportSuccess": "Location exported to series successfully.",
"exportToSeries": "Export to series",
"newSectionPlaceholder": "New section name",
"addSectionLabel": "Add section",
"search": "Search for a section...",
"noSectionDescription": "Create your first section to organize your story's locations.",
"newSection": "New section",
"deleteTitle": "Delete section",
"deleteMessage": "You are about to permanently delete the section \"{name}\".",
"elementName": "Element name",
"elementNamePlaceholder": "Element name",
"elementDescriptionPlaceholder": "Element description",
"subElementsHeading": "Sub-elements",
@@ -392,6 +417,10 @@
"newElementPlaceholder": "New element",
"noSectionAvailable": "No section available.",
"createSectionLabel": "Create section",
"elementsCount": "{count} elements",
"element": "Element",
"addElement": "Add an element",
"addSubElement": "Add a sub-element",
"errorSectionNameEmpty": "Section name cannot be empty.",
"errorElementNameEmpty": "Element name cannot be empty.",
"errorSubElementNameEmpty": "Sub-element name cannot be empty.",
@@ -416,7 +445,19 @@
"toolEnabled": "Location management enabled.",
"toolDisabled": "Location management disabled."
},
"characterCategories": {
"none": "Select role",
"main": "Main",
"secondary": "Secondary",
"recurring": "Recurring"
},
"characterStatus": {
"alive": "Alive",
"dead": "Deceased",
"unknown": "Unknown"
},
"characterComponent": {
"exportSuccess": "Character exported to series successfully.",
"errorNameRequired": "Character name is required.",
"errorCategoryRequired": "Character role is required.",
"successAdd": "Character added successfully.",
@@ -435,51 +476,53 @@
"characterDetail": {
"back": "Back",
"newCharacter": "New character",
"exportToSeries": "Export to series",
"deleteTitle": "Delete character",
"deleteMessage": "You are about to permanently delete the character \"{name}\".",
"basicInfo": "Basic information",
"name": "First name",
"namePlaceholder": "Enter a first name",
"name": "Name",
"namePlaceholder": "Enter a name",
"lastName": "Last name",
"lastNamePlaceholder": "Example: Smith",
"nickname": "Nickname",
"nicknamePlaceholder": "Nickname or alias",
"nicknamePlaceholder": "Alias or nickname",
"role": "Role",
"title": "Title",
"titlePlaceholder": "Example: King, Captain, Doctor...",
"titlePlaceholder": "Ex: King, Captain, Doctor...",
"gender": "Gender",
"genderPlaceholder": "Character's gender",
"genderPlaceholder": "Ex: Male, Female, Non-binary",
"age": "Age",
"agePlaceholder": "Character's age",
"agePlaceholder": "Ex: 25",
"yearsOld": "years old",
"species": "Species",
"speciesPlaceholder": "Ex: Human, Elf, Vampire",
"nationality": "Nationality/Origin",
"nationalityPlaceholder": "Ex: French, Elven",
"status": "Status",
"residence": "Place of residence",
"residencePlaceholder": "Where the character lives",
"speechPattern": "Speech pattern",
"speechPatternPlaceholder": "Verbal tics, accent, vocabulary...",
"catchphrase": "Catchphrase",
"catchphrasePlaceholder": "Character's recurring quote",
"notes": "Author notes",
"notesPlaceholder": "Personal notes, reminders...",
"colorLabel": "Associated color",
"colorPlaceholder": "Ex: #51AE84 or green",
"advancedMode": "Advanced mode",
"showAdvanced": "Show",
"hideAdvanced": "Hide",
"identitySection": "Extended identity",
"voiceSection": "Character voice",
"authorSection": "Author notes",
"historySection": "Background",
"biography": "Biography",
"biographyPlaceholder": "Character biography.",
"history": "History",
"historyPlaceholder": "Character history...",
"roleFull": "Role in the story",
"roleFull": "Role",
"roleFullPlaceholder": "Role of the character in the story",
"advancedMode": "Advanced mode",
"showAdvanced": "Show",
"hideAdvanced": "Hide",
"identitySection": "Extended identity",
"species": "Species",
"speciesPlaceholder": "Human, Elf, Vampire...",
"nationality": "Nationality",
"nationalityPlaceholder": "Country or region of origin",
"status": "Status",
"residence": "Residence",
"residencePlaceholder": "Current place of residence",
"voiceSection": "Character voice",
"speechPattern": "Speech pattern",
"speechPatternPlaceholder": "How does this character speak? Accent, speech quirks...",
"catchphrase": "Catchphrase",
"catchphrasePlaceholder": "A signature phrase of the character",
"authorSection": "Author notes",
"notes": "Notes",
"notesPlaceholder": "Personal notes about this character...",
"colorLabel": "Color",
"colorPlaceholder": "Color associated with the character",
"fetchAttributesError": "Error fetching attributes.",
"deleteTitle": "Delete character",
"deleteMessage": "Are you sure you want to delete {name}? This action cannot be undone."
"fetchAttributesError": "Error fetching attributes."
},
"characterList": {
"search": "Search for a character...",
@@ -488,12 +531,15 @@
"unknown": "Unknown",
"noLastName": "No last name",
"noTitle": "No title",
"noRole": "No role"
"noRole": "No role",
"noCharacters": "No characters",
"noCharactersDescription": "Add your first character to get started."
},
"characterSectionElement": {
"newItem": "New {item}"
},
"spellComponent": {
"exportSuccess": "Spell exported to series successfully.",
"enableTool": "Enable spell book",
"enableToolDescription": "Manage the spells and magic of your universe.",
"errorNameRequired": "Spell name is required.",
@@ -520,6 +566,7 @@
"spellDetail": {
"back": "Back",
"newSpell": "New spell",
"exportToSeries": "Export to series",
"save": "Save",
"delete": "Delete",
"deleteTitle": "Delete spell",
@@ -561,9 +608,13 @@
},
"spellPowerLevels": {
"none": "None",
"minor": "Minor",
"moderate": "Moderate",
"major": "Major",
"cantrip": "Cantrip",
"novice": "Novice",
"apprentice": "Apprentice",
"journeyman": "Journeyman",
"expert": "Expert",
"master": "Master",
"grandmaster": "Grandmaster",
"legendary": "Legendary",
"divine": "Divine"
},
@@ -763,6 +814,26 @@
"tip": "💡 Tip: Start with a short story to master the basics, then move to longer formats as you gain experience."
}
},
"addNewSeriesForm": {
"title": "Create a new series",
"name": "Series name",
"namePlaceholder": "E.g.: The Chronicles of...",
"description": "Description",
"descriptionPlaceholder": "Describe your series...",
"optional": "optional",
"selectBooks": "Books to include",
"selected": "selected",
"noBooks": "No books available",
"add": "Create",
"adding": "Creating...",
"success": "Series created successfully.",
"error": {
"nameMissing": "Series name is required.",
"nameTooShort": "Name is too short. Minimum 2 characters required.",
"nameTooLong": "Name is too long. Maximum 100 characters allowed.",
"addingSeries": "An error occurred while creating the series."
}
},
"searchBook": {
"placeholder": "Search for a book..."
},
@@ -893,6 +964,13 @@
"chapbook": "Chapbook",
"novel": "Novel"
},
"bookType": {
"short": "Short Story",
"novelette": "Novelette",
"novella": "Novella",
"chapbook": "Chapbook",
"novel": "Novel"
},
"chapterVersions": {
"prompt": "Prompt",
"draft": "Draft",
@@ -907,10 +985,90 @@
"world": "Worlds",
"locations": "Locations",
"characters": "Characters",
"spells": "Spells",
"spells": "Spell Book",
"quillsense": "QuillSense (AI)",
"objects": "Objects",
"goals": "Goals",
"quillsense": "QuillSense"
"goals": "Goals"
},
"seriesSetting": {
"basicInformation": "Information",
"books": "Books",
"characters": "Characters",
"worlds": "Worlds",
"locations": "Locations",
"spells": "Spell Book",
"backToLibrary": "Back to library",
"errorLoading": "Error loading series",
"deleteSeries": "Delete series",
"deleteConfirmMessage": "This will permanently delete the series and all its elements (characters, worlds, locations, spells). Continue?",
"deleteSuccess": "Series deleted successfully",
"deleteError": "Error deleting series"
},
"seriesSettingOption": {
"basicInformation": "Basic Information",
"books": "Series Books",
"characters": "Global Characters",
"worlds": "Global Worlds",
"locations": "Global Locations",
"spells": "Global Spell Book",
"notAvailable": "This option is not yet available."
},
"seriesBasicInformation": {
"error": {
"noFileSelected": "No file selected.",
"removeCover": "Error removing cover.",
"nameRequired": "Series name is required.",
"update": "Error updating series information.",
"unknown": "An unknown error occurred."
},
"success": {
"update": "Series updated successfully."
},
"fields": {
"name": "Series Name",
"namePlaceholder": "E.g.: The Chronicles of...",
"description": "Description",
"descriptionPlaceholder": "Describe your series...",
"coverImage": "Cover Image",
"coverImageAlt": "Current cover",
"generateWithQuillSense": "Generate with QuillSense"
}
},
"seriesBooks": {
"addBook": "Add a book",
"add": "Add",
"selectBookPlaceholder": "Select a book...",
"booksInSeries": "Books in the series",
"noBooks": "No books in this series",
"moveUp": "Move up",
"moveDown": "Move down",
"removeBook": "Remove from series",
"error": {
"selectBook": "Please select a book.",
"unknown": "An unknown error occurred."
},
"success": {
"saved": "Changes saved."
}
},
"seriesCharacter": {
"noCharacters": "No global characters in this series."
},
"seriesCard": {
"book": "book",
"books": "books",
"series": "Series",
"settings": "Series settings",
"synced": "Synced",
"localOnly": "Local only",
"serverOnly": "Server only",
"toSyncFromServer": "Download from server",
"toSyncToServer": "Upload to server",
"uploadError": "Error uploading series.",
"downloadError": "Error downloading series.",
"syncFromServerError": "Error syncing from server.",
"syncToServerError": "Error syncing to server.",
"refreshError": "Error refreshing series."
},
"basicInformationSetting": {
"error": {
@@ -969,12 +1127,28 @@
"insert": "Insert"
},
"common": {
"back": "Back",
"cancel": "Cancel",
"confirm": "Confirm",
"create": "Create",
"delete": "Delete",
"deleting": "Deleting...",
"edit": "Edit",
"exportToSeries": "Export to series",
"save": "Save",
"unknownError": "An unknown error occurred",
"loading": "Loading..."
},
"syncField": {
"uploadSuccess": "{count} element(s) updated successfully.",
"uploadTooltip": "Push to series",
"downloadTooltip": "Pull from series"
},
"seriesImport": {
"importButton": "Import",
"importFromSeries": "Import from series",
"selectElement": "Select an element"
},
"editor": {
"error": {
"savedFailed": "Save failed",
@@ -1026,7 +1200,9 @@
"offlineInitError": "Error initializing offline mode",
"syncError": "Error syncing data",
"dbInitError": "Error initializing local database",
"offlineError": "Error checking offline mode"
"offlineError": "Error checking offline mode",
"fetchBooksError": "Error fetching books",
"fetchSeriesError": "Error fetching series"
}
},
"shortStoryGenerator": {