Files
peakskills/lib/types.ts
Julien Froidefond 328a1b68a1 Add mentor and learning status updates to skill evaluation
- Introduced `updateSkillMentorStatus` and `updateSkillLearningStatus` functions to manage mentor and learning preferences for skills.
- Updated `SkillEvaluationCard` to include buttons for toggling mentor and learning statuses with corresponding icons.
- Enhanced `SkillEvaluationGrid` and `SkillEvaluation` components to pass new status update handlers.
- Modified `SkillEvaluation` type to accommodate new properties for mentor and learning status.
2025-08-20 17:04:19 +02:00

72 lines
1.3 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 interface Skill {
id: string;
name: string;
description: string;
icon?: string;
links: string[];
}
export interface SkillCategory {
category: string;
icon: string;
skills: Skill[];
}
export interface Team {
id: string;
name: string;
direction: string;
}
export interface UserProfile {
firstName: string;
lastName: string;
teamId: 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;
}