init commit
This commit is contained in:
168
src/data/formOptions.ts
Normal file
168
src/data/formOptions.ts
Normal file
@@ -0,0 +1,168 @@
|
||||
/**
|
||||
* Form Options and Configuration Data
|
||||
* Professional Resume Builder
|
||||
*
|
||||
* @author David Valera Melendez <david@valera-melendez.de>
|
||||
* @created 2025-08-07
|
||||
* @location Made in Germany 🇩🇪
|
||||
*/
|
||||
|
||||
/**
|
||||
* Common option interface for select fields
|
||||
*/
|
||||
export interface SelectOption {
|
||||
value: string;
|
||||
label: string;
|
||||
}
|
||||
|
||||
/**
|
||||
* Nationality options for European CV format
|
||||
* Ordered by relevance for German job market
|
||||
*/
|
||||
export const nationalityOptions: SelectOption[] = [
|
||||
{ value: 'German', label: 'German' },
|
||||
{ value: 'EU Citizen', label: 'EU Citizen' },
|
||||
{ value: 'Austrian', label: 'Austrian' },
|
||||
{ value: 'Swiss', label: 'Swiss' },
|
||||
{ value: 'French', label: 'French' },
|
||||
{ value: 'Italian', label: 'Italian' },
|
||||
{ value: 'Spanish', label: 'Spanish' },
|
||||
{ value: 'Dutch', label: 'Dutch' },
|
||||
{ value: 'Belgian', label: 'Belgian' },
|
||||
{ value: 'Polish', label: 'Polish' },
|
||||
{ value: 'Czech', label: 'Czech' },
|
||||
{ value: 'Hungarian', label: 'Hungarian' },
|
||||
{ value: 'Romanian', label: 'Romanian' },
|
||||
{ value: 'Bulgarian', label: 'Bulgarian' },
|
||||
{ value: 'Croatian', label: 'Croatian' },
|
||||
{ value: 'Non-EU', label: 'Non-EU' },
|
||||
{ value: 'American', label: 'American' },
|
||||
{ value: 'Canadian', label: 'Canadian' },
|
||||
{ value: 'British', label: 'British' },
|
||||
{ value: 'Australian', label: 'Australian' },
|
||||
{ value: 'Other', label: 'Other' },
|
||||
];
|
||||
|
||||
/**
|
||||
* Marital status options according to European CV standards
|
||||
*/
|
||||
export const maritalStatusOptions: SelectOption[] = [
|
||||
{ value: 'Single', label: 'Single' },
|
||||
{ value: 'Married', label: 'Married' },
|
||||
{ value: 'Divorced', label: 'Divorced' },
|
||||
{ value: 'Widowed', label: 'Widowed' },
|
||||
{ value: 'Civil Partnership', label: 'Civil Partnership' },
|
||||
{ value: 'Other', label: 'Other' },
|
||||
];
|
||||
|
||||
/**
|
||||
* Visa status options for German/European employment
|
||||
*/
|
||||
export const visaStatusOptions: SelectOption[] = [
|
||||
{ value: 'German Citizen', label: 'German Citizen' },
|
||||
{ value: 'EU Citizen', label: 'EU Citizen' },
|
||||
{ value: 'Blue Card', label: 'EU Blue Card' },
|
||||
{ value: 'Work Permit', label: 'Work Permit' },
|
||||
{ value: 'Student Visa', label: 'Student Visa (Working Rights)' },
|
||||
{ value: 'Visa Required', label: 'Visa Required' },
|
||||
{ value: 'Other', label: 'Other' },
|
||||
];
|
||||
|
||||
/**
|
||||
* Skill categories for professional development
|
||||
* Organized by modern tech industry standards
|
||||
*/
|
||||
export const skillCategories: string[] = [
|
||||
'Programming Languages',
|
||||
'Frontend Development',
|
||||
'Backend Development',
|
||||
'Full Stack Development',
|
||||
'Mobile Development',
|
||||
'DevOps & Cloud',
|
||||
'Database Technologies',
|
||||
'Frameworks & Libraries',
|
||||
'Tools & Technologies',
|
||||
'Design & UI/UX',
|
||||
'Data Science & Analytics',
|
||||
'Machine Learning & AI',
|
||||
'Quality Assurance',
|
||||
'Project Management',
|
||||
'Soft Skills',
|
||||
'Communication',
|
||||
'Languages',
|
||||
'Certifications',
|
||||
'Other',
|
||||
];
|
||||
|
||||
/**
|
||||
* Proficiency levels with European framework alignment
|
||||
*/
|
||||
export const proficiencyLevels: SelectOption[] = [
|
||||
{ value: 'Beginner', label: 'Beginner (A1-A2)' },
|
||||
{ value: 'Intermediate', label: 'Intermediate (B1-B2)' },
|
||||
{ value: 'Advanced', label: 'Advanced (C1)' },
|
||||
{ value: 'Expert', label: 'Expert/Native (C2)' },
|
||||
];
|
||||
|
||||
/**
|
||||
* Language proficiency levels following CEFR standards
|
||||
*/
|
||||
export const languageProficiencyLevels: SelectOption[] = [
|
||||
{ value: 'A1', label: 'A1 - Beginner' },
|
||||
{ value: 'A2', label: 'A2 - Elementary' },
|
||||
{ value: 'B1', label: 'B1 - Intermediate' },
|
||||
{ value: 'B2', label: 'B2 - Upper Intermediate' },
|
||||
{ value: 'C1', label: 'C1 - Advanced' },
|
||||
{ value: 'C2', label: 'C2 - Proficient' },
|
||||
{ value: 'Native', label: 'Native Speaker' },
|
||||
];
|
||||
|
||||
/**
|
||||
* Common European countries for location/experience fields
|
||||
*/
|
||||
export const europeanCountries: SelectOption[] = [
|
||||
{ value: 'Germany', label: 'Germany' },
|
||||
{ value: 'Austria', label: 'Austria' },
|
||||
{ value: 'Switzerland', label: 'Switzerland' },
|
||||
{ value: 'Netherlands', label: 'Netherlands' },
|
||||
{ value: 'Belgium', label: 'Belgium' },
|
||||
{ value: 'France', label: 'France' },
|
||||
{ value: 'Italy', label: 'Italy' },
|
||||
{ value: 'Spain', label: 'Spain' },
|
||||
{ value: 'Portugal', label: 'Portugal' },
|
||||
{ value: 'United Kingdom', label: 'United Kingdom' },
|
||||
{ value: 'Ireland', label: 'Ireland' },
|
||||
{ value: 'Denmark', label: 'Denmark' },
|
||||
{ value: 'Sweden', label: 'Sweden' },
|
||||
{ value: 'Norway', label: 'Norway' },
|
||||
{ value: 'Finland', label: 'Finland' },
|
||||
{ value: 'Poland', label: 'Poland' },
|
||||
{ value: 'Czech Republic', label: 'Czech Republic' },
|
||||
{ value: 'Hungary', label: 'Hungary' },
|
||||
{ value: 'Romania', label: 'Romania' },
|
||||
{ value: 'Bulgaria', label: 'Bulgaria' },
|
||||
{ value: 'Croatia', label: 'Croatia' },
|
||||
{ value: 'Other', label: 'Other' },
|
||||
];
|
||||
|
||||
/**
|
||||
* German major cities for location fields
|
||||
*/
|
||||
export const germanCities: SelectOption[] = [
|
||||
{ value: 'Berlin', label: 'Berlin' },
|
||||
{ value: 'Munich', label: 'Munich (München)' },
|
||||
{ value: 'Hamburg', label: 'Hamburg' },
|
||||
{ value: 'Frankfurt am Main', label: 'Frankfurt am Main' },
|
||||
{ value: 'Cologne', label: 'Cologne (Köln)' },
|
||||
{ value: 'Stuttgart', label: 'Stuttgart' },
|
||||
{ value: 'Düsseldorf', label: 'Düsseldorf' },
|
||||
{ value: 'Leipzig', label: 'Leipzig' },
|
||||
{ value: 'Dortmund', label: 'Dortmund' },
|
||||
{ value: 'Essen', label: 'Essen' },
|
||||
{ value: 'Dresden', label: 'Dresden' },
|
||||
{ value: 'Bremen', label: 'Bremen' },
|
||||
{ value: 'Hannover', label: 'Hannover' },
|
||||
{ value: 'Nuremberg', label: 'Nuremberg (Nürnberg)' },
|
||||
{ value: 'Duisburg', label: 'Duisburg' },
|
||||
{ value: 'Other', label: 'Other' },
|
||||
];
|
||||
Reference in New Issue
Block a user