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,8 +6,10 @@
"sortText": "Ordenar",
"statusText": "Status",
"phaseText": "Fase",
"memberText": "Membros",
"assigneesText": "Atribuídos",
"priorityText": "Prioridade",
"labelsText": "Rótulos",
"labelsText": "Etiquetas",
"membersText": "Membros",
"groupByText": "Agrupar por",
"showArchivedText": "Mostrar arquivados",
@@ -16,41 +18,42 @@
"taskText": "Tarefa",
"descriptionText": "Descrição",
"phasesText": "Fases",
"listText": "Lista",
"progressText": "Progresso",
"timeTrackingText": "Rastreamento de Tempo",
"timeTrackingText": "Rastreamento de tempo",
"timetrackingText": "Rastreamento de tempo",
"estimationText": "Estimativa",
"startDateText": "Data de Início",
"endDateText": "Data de Fim",
"dueDateText": "Data de Vencimento",
"completedDateText": "Data de Conclusão",
"createdDateText": "Data de Criação",
"lastUpdatedText": "Última Atualização",
"startDateText": "Data de início",
"startdateText": "Data de início",
"endDateText": "Data de fim",
"dueDateText": "Data de vencimento",
"duedateText": "Data de vencimento",
"completedDateText": "Data de conclusão",
"completeddateText": "Data de conclusão",
"createdDateText": "Data de criação",
"createddateText": "Data de criação",
"lastUpdatedText": "Última atualização",
"lastupdatedText": "Última atualização",
"reporterText": "Relator",
"dueTimeText": "Hora de Vencimento",
"assigneesText": "Atribuições",
"timetrackingText": "Rastreamento de Tempo",
"startdateText": "Data de Início",
"duedateText": "Data de Vencimento",
"completeddateText": "Data de Conclusão",
"createddateText": "Data de Criação",
"lastupdatedText": "Última Atualização",
"dueTimeText": "Hora de vencimento",
"duetimeText": "Hora de vencimento",
"lowText": "Baixa",
"mediumText": "Média",
"highText": "Alta",
"createStatusButtonTooltip": "Configurações de Status",
"configPhaseButtonTooltip": "Configurações de Fase",
"noLabelsFound": "Nenhum rótulo encontrado",
"createStatusButtonTooltip": "Configurações de status",
"configPhaseButtonTooltip": "Configurações de fase",
"noLabelsFound": "Nenhuma etiqueta encontrada",
"addStatusButton": "Adicionar Status",
"addPhaseButton": "Adicionar Fase",
"addStatusButton": "Adicionar status",
"addPhaseButton": "Adicionar fase",
"createStatus": "Criar Status",
"createStatus": "Criar status",
"name": "Nome",
"category": "Categoria",
"selectCategory": "Selecionar uma categoria",
"pleaseEnterAName": "Por favor, insira um nome",
"pleaseEnterAName": "Por favor, digite um nome",
"pleaseSelectACategory": "Por favor, selecione uma categoria",
"create": "Criar",
@@ -66,17 +69,19 @@
"cancel": "Cancelar",
"search": "Pesquisar",
"groupedBy": "Agrupado por",
"manageStatuses": "Gerenciar Status",
"managePhases": "Gerenciar Fases",
"dragToReorderStatuses": "Arraste os status para reordená-los. Cada status pode ter uma categoria diferente.",
"enterNewStatusName": "Digite o novo nome do status...",
"addStatus": "Adicionar Status",
"noStatusesFound": "Nenhum status encontrado. Crie seu primeiro status acima.",
"deleteStatus": "Excluir Status",
"manageStatuses": "Gerenciar status",
"managePhases": "Gerenciar fases",
"dragToReorderStatuses": "Os status estão organizados por categorias. Arraste para reordenar dentro das categorias. Clique em 'Adicionar status' para criar novos status em cada categoria.",
"enterNewStatusName": "Digite o nome do novo status...",
"addStatus": "Adicionar status",
"noStatusesFound": "Nenhum status nesta categoria",
"deleteStatus": "Excluir status",
"deleteStatusConfirm": "Tem certeza de que deseja excluir este status? Esta ação não pode ser desfeita.",
"rename": "Renomear",
"delete": "Excluir",
"enterStatusName": "Digite o nome do status",
"selectCategory": "Selecionar categoria",
"close": "Fechar"
"close": "Fechar",
"cannotMoveStatus": "Não é possível mover o status",
"cannotMoveStatusMessage": "Não é possível mover este status porque deixaria a categoria '{{categoryName}}' vazia. Cada categoria deve ter pelo menos um status.",
"ok": "OK"
}