feat(task-management): enhance status management with drag-and-drop functionality

- Updated ManageStatusModal to support drag-and-drop for reordering statuses and moving them between categories.
- Introduced CategorySection component for better organization of statuses by category.
- Added validation to prevent moving the last status out of a category, ensuring each category retains at least one status.
- Enhanced localization for task management, updating translation keys across multiple languages for improved clarity and consistency.
This commit is contained in:
chamikaJ
2025-07-11 13:50:35 +05:30
parent 7def564950
commit 6b58709848
8 changed files with 829 additions and 310 deletions

View File

@@ -6,6 +6,8 @@
"sortText": "Ordenar",
"statusText": "Estado",
"phaseText": "Fase",
"memberText": "Miembros",
"assigneesText": "Asignados",
"priorityText": "Prioridad",
"labelsText": "Etiquetas",
"membersText": "Miembros",
@@ -16,30 +18,32 @@
"taskText": "Tarea",
"descriptionText": "Descripción",
"phasesText": "Fases",
"listText": "Lista",
"progressText": "Progreso",
"timeTrackingText": "Seguimiento de tiempo",
"timetrackingText": "Seguimiento de tiempo",
"estimationText": "Estimación",
"startDateText": "Fecha de inicio",
"startdateText": "Fecha de inicio",
"endDateText": "Fecha de fin",
"dueDateText": "Fecha de vencimiento",
"duedateText": "Fecha de vencimiento",
"completedDateText": "Fecha de finalización",
"completeddateText": "Fecha de finalización",
"createdDateText": "Fecha de creación",
"createddateText": "Fecha de creación",
"lastUpdatedText": "Última actualización",
"lastupdatedText": "Última actualización",
"reporterText": "Reportero",
"dueTimeText": "Hora de vencimiento",
"lowText": "Baja",
"mediumText": "Media",
"highText": "Alta",
"assigneesText": "Asignados",
"timetrackingText": "Seguimiento de tiempo",
"startdateText": "Fecha de inicio",
"duedateText": "Fecha de vencimiento",
"completeddateText": "Fecha de finalización",
"createddateText": "Fecha de creación",
"lastupdatedText": "Última actualización",
"duetimeText": "Hora de vencimiento",
"createStatusButtonTooltip": "Configuración de estados",
"configPhaseButtonTooltip": "Configuración de fases",
"lowText": "Bajo",
"mediumText": "Medio",
"highText": "Alto",
"createStatusButtonTooltip": "Configuración de estado",
"configPhaseButtonTooltip": "Configuración de fase",
"noLabelsFound": "No se encontraron etiquetas",
"addStatusButton": "Agregar estado",
@@ -49,8 +53,8 @@
"name": "Nombre",
"category": "Categoría",
"selectCategory": "Seleccionar una categoría",
"pleaseEnterAName": "Por favor, ingrese un nombre",
"pleaseSelectACategory": "Por favor, seleccione una categoría",
"pleaseEnterAName": "Por favor ingrese un nombre",
"pleaseSelectACategory": "Por favor seleccione una categoría",
"create": "Crear",
"searchTasks": "Buscar tareas...",
@@ -65,17 +69,19 @@
"cancel": "Cancelar",
"search": "Buscar",
"groupedBy": "Agrupado por",
"manageStatuses": "Gestionar Estados",
"managePhases": "Gestionar Fases",
"dragToReorderStatuses": "Arrastra los estados para reordenarlos. Cada estado puede tener una categoría diferente.",
"enterNewStatusName": "Introducir nuevo nombre de estado...",
"addStatus": "Añadir Estado",
"noStatusesFound": "No se encontraron estados. Crea tu primer estado arriba.",
"deleteStatus": "Eliminar Estado",
"deleteStatusConfirm": "¿Estás seguro de que quieres eliminar este estado? Esta acción no se puede deshacer.",
"manageStatuses": "Gestionar estados",
"managePhases": "Gestionar fases",
"dragToReorderStatuses": "Los estados están organizados por categorías. Arrastra para reordenar dentro de las categorías. Haz clic en 'Agregar estado' para crear nuevos estados en cada categoría.",
"enterNewStatusName": "Ingrese el nombre del nuevo estado...",
"addStatus": "Agregar estado",
"noStatusesFound": "No hay estados en esta categoría",
"deleteStatus": "Eliminar estado",
"deleteStatusConfirm": "¿Está seguro de que desea eliminar este estado? Esta acción no se puede deshacer.",
"rename": "Renombrar",
"delete": "Eliminar",
"enterStatusName": "Introducir nombre del estado",
"selectCategory": "Seleccionar categoría",
"close": "Cerrar"
"enterStatusName": "Ingrese el nombre del estado",
"close": "Cerrar",
"cannotMoveStatus": "No se puede mover el estado",
"cannotMoveStatusMessage": "No se puede mover este estado porque dejaría vacía la categoría '{{categoryName}}'. Cada categoría debe tener al menos un estado.",
"ok": "OK"
}