Files
peakskills/lib/types.ts
2025-08-27 14:31:05 +02:00

78 lines
1.4 KiB
TypeScript

export type SkillLevel =
| "never"
| "not-autonomous"
| "autonomous"
| "expert"
| null;
export const SKILL_LEVELS: Record<Exclude<SkillLevel, null>, string> = {
never: "Jamais pratiqué",
"not-autonomous": "Pas autonome",
autonomous: "Autonome",
expert: "Maîtrise",
};
export const SKILL_LEVEL_VALUES: Record<Exclude<SkillLevel, null>, number> = {
never: 0,
"not-autonomous": 1,
autonomous: 2,
expert: 3,
};
export type SkillImportance = "incontournable" | "majeure" | "standard";
export interface Skill {
id: string;
name: string;
description: string;
icon?: string;
links: string[];
importance: SkillImportance;
}
export interface SkillCategory {
category: string;
icon: string;
id: string;
name: string;
skills: Skill[];
}
export interface Team {
id: string;
name: string;
direction: string;
}
export interface UserProfile {
firstName: string;
lastName: string;
teamId: string;
uuid?: string;
}
export interface SkillEvaluation {
skillId: string;
level: SkillLevel;
canMentor?: boolean;
wantsToLearn?: boolean;
}
export interface CategoryEvaluation {
category: string;
skills: SkillEvaluation[];
selectedSkillIds: string[]; // List of skill IDs the user wants to evaluate
}
export interface UserEvaluation {
profile: UserProfile;
evaluations: CategoryEvaluation[];
lastUpdated: string;
}
export interface RadarChartData {
category: string;
score: number;
maxScore: number;
}