Some checks failed
Deploy Development / deploy (push) Failing after 22s
Test Suite / pytest-backend (push) Successful in 35s
Test Suite / lint-backend (push) Successful in 0s
Test Suite / build-frontend (push) Failing after 3s
Test Suite / k6 /health Baseline (push) Successful in 33s
Test Suite / playwright-tests (push) Successful in 1m14s
- Added capabilities for weighted skill profiles, allowing trainers to compare training modules, frameworks, and regression paths based on skill contributions. - Updated the skill scoring specification to include peer context separation and list filtering, ensuring accurate comparisons among visible artifacts of the same type. - Enhanced the API to support batch summaries for skill profiles and discovery suggestions, improving data retrieval efficiency. - Refactored frontend components to display skill metrics, including scores and peer percentages, with improved filtering options for better user experience. - Updated documentation to reflect the latest changes and enhancements in the skill scoring system.
22 lines
743 B
JavaScript
22 lines
743 B
JavaScript
/** Kanonische Intensität Übung ↔ Fähigkeit (Scoring + Formular). */
|
|
|
|
export const EXERCISE_SKILL_INTENSITY_DEFAULT = 'mittel'
|
|
|
|
export const EXERCISE_SKILL_INTENSITY_OPTIONS = [
|
|
{ value: 'niedrig', label: 'niedrig' },
|
|
{ value: 'mittel', label: 'mittel' },
|
|
{ value: 'hoch', label: 'hoch' },
|
|
]
|
|
|
|
export function normalizeExerciseSkillIntensity(value) {
|
|
const key = String(value ?? '').trim().toLowerCase()
|
|
if (key === 'niedrig' || key === 'low') return 'niedrig'
|
|
if (key === 'hoch' || key === 'high') return 'hoch'
|
|
return 'mittel'
|
|
}
|
|
|
|
export function formatExerciseSkillIntensityLabel(value) {
|
|
const n = normalizeExerciseSkillIntensity(value)
|
|
return EXERCISE_SKILL_INTENSITY_OPTIONS.find((o) => o.value === n)?.label || n
|
|
}
|