64 lines
1.3 KiB
TypeScript
64 lines
1.3 KiB
TypeScript
export type CVTabId =
|
|
| "accroche"
|
|
| "etatCivil"
|
|
| "formations"
|
|
| "softSkills"
|
|
| "centresInteret";
|
|
|
|
export const CV_TAB_ORDER: CVTabId[] = [
|
|
"accroche",
|
|
"etatCivil",
|
|
"formations",
|
|
"softSkills",
|
|
"centresInteret",
|
|
];
|
|
|
|
export interface CVTabMeta {
|
|
id: CVTabId;
|
|
numero: 1 | 2 | 3 | 4 | 5;
|
|
label: string;
|
|
}
|
|
|
|
export const CV_TABS: Record<CVTabId, CVTabMeta> = {
|
|
accroche: { id: "accroche", numero: 1, label: "Accroche" },
|
|
etatCivil: { id: "etatCivil", numero: 2, label: "État civil" },
|
|
formations: { id: "formations", numero: 3, label: "Formations" },
|
|
softSkills: { id: "softSkills", numero: 4, label: "Soft skills" },
|
|
centresInteret: {
|
|
id: "centresInteret",
|
|
numero: 5,
|
|
label: "Centres d'intérêt",
|
|
},
|
|
};
|
|
|
|
export interface Experience {
|
|
id: string;
|
|
titre: string;
|
|
contenu: string;
|
|
createdAt: number;
|
|
updatedAt: number;
|
|
}
|
|
|
|
export interface CVCareerData {
|
|
version: 1;
|
|
accroche: string;
|
|
etatCivil: string;
|
|
formations: string;
|
|
softSkills: string;
|
|
centresInteret: string;
|
|
experiences: Experience[];
|
|
}
|
|
|
|
export type CVStorage = CVCareerData;
|
|
|
|
export function createDefaultCVData(): CVCareerData {
|
|
return {
|
|
version: 1,
|
|
accroche: "",
|
|
etatCivil: "",
|
|
formations: "",
|
|
softSkills: "",
|
|
centresInteret: "",
|
|
experiences: [],
|
|
};
|
|
} |