feat: enhance user input component with new styling and functionality

- Added informational styling to warning cards in user input component.
- Improved remaining days details and history display with new computed properties.
- Updated user input service to manage planning outcomes and traces more effectively.
- Enhanced leave planner service to classify remaining balances with detailed reasons.
- Expanded translation service to support new balance reasoning and suggestions.
- Updated translations for multiple languages to reflect new features and terminology.
This commit is contained in:
nessar committed 2026-10-07 21:49:33 +02:00
1 parent 9851edf906
commit 3dc601982a
15 files changed
+679 -141

No files matched your search

+26 -13
View File
@@ -25,8 +25,7 @@
"seconds": "s",
"minutes": "min"
},
"remainingDaysWarning": "{count} día{plural} de vacaciones no colocado{plural}:",
"remainingDaysManualPlace": "Por favor, colóquelos manualmente.",
"remainingDaysWarning": "{count} día{plural} de permiso restante{plural}:",
"deleteEntry": "Eliminar entrada",
"chooseDate": "Caduca el",
"availableDate": "Disponible desde",
@@ -35,15 +34,25 @@
"daySuffix": "día",
"daysSuffix": "días",
"expires": "exp.",
"remainingClassification": {
"unavoidableExpiry": "Vencimiento inevitable",
"atRisk": "En riesgo",
"deferred": "Aplazado"
"remainingWhy": "Ver por qué",
"remainingValidity": "Utilizable del {available} al {expiry}.",
"remainingHorizon": "Plan calculado del {start} al {end}.",
"remainingEarnedFrom": "Permiso obtenido gracias a la regla «{rule}».",
"remainingHistoryHelp": "Estas fechas se examinaron realmente durante el cálculo. Los valores comparan cada intento con su estado inicial; el plan final puede ser diferente.",
"remainingNoEvaluations": "No se registró ningún intento atribuible a este saldo. Su categoría de caducidad por sí sola no explica por qué sigue sin utilizarse.",
"remainingSuggestions": {
"available-after-horizon": "Puedes ampliar el período planificado más allá de su fecha de disponibilidad y volver a calcular.",
"no-working-date": "Comprueba el período planificado y las fechas de validez de este saldo.",
"all-dates-occupied": "Puedes ampliar el período si la validez lo permite, o ajustar los días ya reservados y tus reglas, y volver a calcular.",
"preserved": "No es necesario hacer nada. Para solicitar su uso, añade una regla dentro de su período de validez y vuelve a calcular.",
"calculation-incomplete": "Repite el cálculo si quieres que termine la planificación."
},
"remainingReason": {
"unavoidableExpiry": "caducó antes del horizonte",
"atRisk": "caduca dentro del horizonte",
"deferred": "disponible después del horizonte"
"remainingCandidateReasons": {
"quality-no-improvement": "Esta opción no se seleccionó en esta fase del cálculo.",
"quality-protected-objective": "Esta opción empeoraría una prioridad que debe conservarse.",
"quality-outperformed": "El cálculo encontró después una opción mejor clasificada.",
"earned-entitlement-order": "Esta opción no respeta las fechas de disponibilidad de los permisos obtenidos.",
"unknown": "El motivo preciso de este intento no está disponible."
}
},
"dayTypes": {
@@ -343,9 +352,13 @@
"auditHelp": "Valores, identificadores y contribuciones originales de este cálculo.",
"supporting": "Este día usa permisos que podrían guardarse más allá del período planificado para mejorar tus descansos.",
"remainingReasons": {
"at-risk": "Estos días sin usar vencen durante el período planificado.",
"deferred": "Estos días sin usar pueden guardarse más allá del período planificado.",
"unavoidable-expiry": "Estos días vencieron antes del inicio del período planificado."
"unavoidable-expiry": "Caducó el {expiry}, antes del inicio del plan el {start}. No puede colocarse en este período.",
"available-after-horizon": "Disponible solo a partir del {available}, después de la última fecha del plan, el {end}.",
"no-working-date": "Ningún día laborable está dentro del período planificado y entre sus fechas de disponibilidad y caducidad.",
"all-dates-occupied": "Todos los días laborables en los que puede utilizarse este saldo ya están ocupados por permisos planificados o días ya reservados.",
"preserved": "Guardado para más adelante: caduca después del período planificado y el cálculo no seleccionó ninguna colocación adicional según tus prioridades.",
"calculation-incomplete": "El cálculo se interrumpió antes de terminar la planificación. Su falta de uso no es una decisión definitiva.",
"not-established": "Este cálculo no determinó un motivo preciso para dejarlo sin utilizar."
}
},
"comparison": {