Files
gridpilot.gg/apps/website/lib/formatters/ActivityLevelFormatter.ts
2026-01-24 01:07:43 +01:00

34 lines
713 B
TypeScript

/**
* ActivityLevelDisplay
*
* Deterministic mapping of engagement rates to activity level labels.
*/
export class ActivityLevelFormatter {
/**
* Maps engagement rate to activity level label.
*/
static levelLabel(engagementRate: number): string {
if (engagementRate < 20) {
return 'Low';
} else if (engagementRate < 50) {
return 'Medium';
} else {
return 'High';
}
}
/**
* Maps engagement rate to activity level value.
*/
static levelValue(engagementRate: number): 'low' | 'medium' | 'high' {
if (engagementRate < 20) {
return 'low';
} else if (engagementRate < 50) {
return 'medium';
} else {
return 'high';
}
}
}