parent
26b833b88b
commit
0b13faa5e1
@ -0,0 +1,120 @@
|
||||
// TODO: use enums
|
||||
export const titleOptions = [
|
||||
{
|
||||
label: 'Software engineer',
|
||||
value: 'Software engineer',
|
||||
},
|
||||
{
|
||||
label: 'Frontend engineer',
|
||||
value: 'Frontend engineer',
|
||||
},
|
||||
{
|
||||
label: 'Backend engineer',
|
||||
value: 'Backend engineer',
|
||||
},
|
||||
{
|
||||
label: 'Full-stack engineer',
|
||||
value: 'Full-stack engineer',
|
||||
},
|
||||
];
|
||||
|
||||
export const currencyOptions = [
|
||||
{
|
||||
label: 'USD',
|
||||
value: 'USD',
|
||||
},
|
||||
{
|
||||
label: 'SGD',
|
||||
value: 'SGD',
|
||||
},
|
||||
{
|
||||
label: 'EUR',
|
||||
value: 'EUR',
|
||||
},
|
||||
];
|
||||
|
||||
export const companyOptions = [
|
||||
{
|
||||
label: 'Shopee',
|
||||
value: 'id-abc123',
|
||||
},
|
||||
];
|
||||
|
||||
export const locationOptions = [
|
||||
{
|
||||
label: 'Singapore, Singapore',
|
||||
value: 'Singapore, Singapore',
|
||||
},
|
||||
];
|
||||
|
||||
export const internshipCycleOptions = [
|
||||
{
|
||||
label: 'Summer',
|
||||
value: 'Summer',
|
||||
},
|
||||
{
|
||||
label: 'Winter',
|
||||
value: 'Winter',
|
||||
},
|
||||
{
|
||||
label: 'Spring',
|
||||
value: 'Spring',
|
||||
},
|
||||
{
|
||||
label: 'Fall',
|
||||
value: 'Fall',
|
||||
},
|
||||
{
|
||||
label: 'Full-year',
|
||||
value: 'Full-year',
|
||||
},
|
||||
];
|
||||
|
||||
export const yearOptions = [
|
||||
{
|
||||
label: '2021',
|
||||
value: '2021',
|
||||
},
|
||||
{
|
||||
label: '2022',
|
||||
value: '2022',
|
||||
},
|
||||
{
|
||||
label: '2023',
|
||||
value: '2023',
|
||||
},
|
||||
{
|
||||
label: '2024',
|
||||
value: '2024',
|
||||
},
|
||||
];
|
||||
|
||||
export const educationLevelOptions = [
|
||||
{
|
||||
label: 'Bachelor',
|
||||
value: 'Bachelor',
|
||||
},
|
||||
{
|
||||
label: 'Masters',
|
||||
value: 'Masters',
|
||||
},
|
||||
{
|
||||
label: 'Doctorate',
|
||||
value: 'Doctorate',
|
||||
},
|
||||
];
|
||||
|
||||
export const educationFieldOptions = [
|
||||
{
|
||||
label: 'Computer Science',
|
||||
value: 'Computer Science',
|
||||
},
|
||||
{
|
||||
label: 'Information Security',
|
||||
value: 'Information Security',
|
||||
},
|
||||
{
|
||||
label: 'Business Analytics',
|
||||
value: 'Business Analytics',
|
||||
},
|
||||
];
|
@ -0,0 +1,100 @@
|
||||
/*
|
||||
* Offer Profile Submission
|
||||
*/
|
||||
|
||||
// eslint-disable-next-line no-shadow
|
||||
export enum JobType {
|
||||
FullTime = 'FULLTIME',
|
||||
Internship = 'INTERNSHIP',
|
||||
}
|
||||
|
||||
type Money = {
|
||||
currency: string;
|
||||
value: number;
|
||||
};
|
||||
|
||||
type FullTimeJobData = {
|
||||
base: Money;
|
||||
bonus: Money;
|
||||
level: string;
|
||||
specialization: string;
|
||||
stocks: Money;
|
||||
title: string;
|
||||
totalCompensation: Money;
|
||||
};
|
||||
|
||||
export type FullTimeOfferFormData = {
|
||||
comments: string;
|
||||
companyId: string;
|
||||
job: FullTimeJobData;
|
||||
jobType: string;
|
||||
location: string;
|
||||
monthYearReceived: string;
|
||||
negotiationStrategy: string;
|
||||
};
|
||||
|
||||
type InternshipJobData = {
|
||||
internshipCycle: string;
|
||||
monthlySalary: Money;
|
||||
specialization: string;
|
||||
startYear: number;
|
||||
title: string;
|
||||
};
|
||||
|
||||
export type InternshipOfferFormData = {
|
||||
comments: string;
|
||||
companyId: string;
|
||||
job: InternshipJobData;
|
||||
jobType: string;
|
||||
location: string;
|
||||
monthYearReceived: string;
|
||||
negotiationStrategy: string;
|
||||
};
|
||||
|
||||
type OfferDetailsFormData = FullTimeOfferFormData | InternshipOfferFormData;
|
||||
|
||||
type SpecificYoe = {
|
||||
domain: string;
|
||||
yoe: number;
|
||||
};
|
||||
|
||||
type FullTimeExperience = {
|
||||
level: string;
|
||||
totalCompensation: Money;
|
||||
};
|
||||
|
||||
type InternshipExperience = {
|
||||
monthlySalary: Money;
|
||||
};
|
||||
|
||||
type GeneralExperience = {
|
||||
companyId: string;
|
||||
durationInMonths: number;
|
||||
jobType: string;
|
||||
specialization: string;
|
||||
title: string;
|
||||
};
|
||||
|
||||
type Experience =
|
||||
| (FullTimeExperience & GeneralExperience)
|
||||
| (GeneralExperience & InternshipExperience);
|
||||
|
||||
type Education = {
|
||||
endDate: Date;
|
||||
field: string;
|
||||
school: string;
|
||||
startDate: Date;
|
||||
type: string;
|
||||
};
|
||||
|
||||
type BackgroundFormData = {
|
||||
education: Education;
|
||||
experience: Experience;
|
||||
specificYoes: Array<SpecificYoe>;
|
||||
totalYoe: number;
|
||||
};
|
||||
|
||||
export type SubmitOfferFormData = {
|
||||
background: BackgroundFormData;
|
||||
offers: Array<OfferDetailsFormData>;
|
||||
};
|
Loading…
Reference in new issue