mirror of
https://github.com/prowler-cloud/prowler.git
synced 2026-07-23 12:31:54 +00:00
211b1b67f9
Co-authored-by: alejandrobailo <alejandrobailo94@gmail.com>
56 lines
1.6 KiB
TypeScript
56 lines
1.6 KiB
TypeScript
/**
|
|
* Score utility functions for ThreatScore visualization.
|
|
* Used by threatscore-breakdown-card and threatscore-badge components.
|
|
*/
|
|
|
|
export const SCORE_THRESHOLDS = {
|
|
SUCCESS: 80,
|
|
WARNING: 40,
|
|
} as const;
|
|
|
|
export const SCORE_COLORS = {
|
|
DANGER: "var(--bg-fail-primary)",
|
|
WARNING: "var(--bg-warning-primary)",
|
|
SUCCESS: "var(--bg-pass-primary)",
|
|
NEUTRAL: "var(--bg-neutral-tertiary)",
|
|
} as const;
|
|
|
|
export const SCORE_LEVELS = {
|
|
SUCCESS: "SUCCESS",
|
|
WARNING: "WARNING",
|
|
DANGER: "DANGER",
|
|
} as const;
|
|
export type ScoreLevel = (typeof SCORE_LEVELS)[keyof typeof SCORE_LEVELS];
|
|
|
|
export const SCORE_COLOR_VARIANTS = {
|
|
SUCCESS: "success",
|
|
WARNING: "warning",
|
|
DANGER: "danger",
|
|
} as const;
|
|
export type ScoreColorVariant =
|
|
(typeof SCORE_COLOR_VARIANTS)[keyof typeof SCORE_COLOR_VARIANTS];
|
|
|
|
export function getScoreLevel(score: number): ScoreLevel {
|
|
if (score >= SCORE_THRESHOLDS.SUCCESS) return "SUCCESS";
|
|
if (score >= SCORE_THRESHOLDS.WARNING) return "WARNING";
|
|
return "DANGER";
|
|
}
|
|
|
|
export function getScoreColor(score: number): ScoreColorVariant {
|
|
if (score >= SCORE_THRESHOLDS.SUCCESS) return "success";
|
|
if (score >= SCORE_THRESHOLDS.WARNING) return "warning";
|
|
return "danger";
|
|
}
|
|
|
|
export function getScoreTextClass(score: number): string {
|
|
if (score >= SCORE_THRESHOLDS.SUCCESS) return "text-success";
|
|
if (score >= SCORE_THRESHOLDS.WARNING) return "text-warning";
|
|
return "text-danger";
|
|
}
|
|
|
|
export function getScoreLabel(score: number): string {
|
|
if (score >= SCORE_THRESHOLDS.SUCCESS) return "Secure";
|
|
if (score >= SCORE_THRESHOLDS.WARNING) return "Moderate Risk";
|
|
return "Critical Risk";
|
|
}
|