@@ -13,85 +13,100 @@ import closingDocs from '../../assets/icons/Closing_Docs.svg'; | |||
import joiningLetter from '../../assets/icons/Joining_Letter.svg'; | |||
import Celebrations from '../../assets/icons/Celebrations.svg'; | |||
interface stepDetail { | |||
stepNumber: number; | |||
stepName: string; | |||
descriptionImage: string; | |||
buttonText: string; | |||
isUnlocked: boolean; | |||
} | |||
const InterviewRounds: React.FC = () => { | |||
const [step, setStep] = useState(1); | |||
let steps: stepDetail[] = [ | |||
{ | |||
stepNumber: 1, | |||
stepName: "Skill Information", | |||
descriptionImage: skillInfo, | |||
buttonText: "Let's start now", | |||
isUnlocked: true | |||
}, | |||
{ | |||
stepNumber: 2, | |||
stepName: "Preliminary Round", | |||
descriptionImage: preliminaryRound, | |||
buttonText: "Let's do this", | |||
isUnlocked: false | |||
}, | |||
{ | |||
stepNumber: 3, | |||
stepName: "Technical Interview", | |||
descriptionImage: technicalInterview, | |||
buttonText: "Schedule meeting", | |||
isUnlocked: false | |||
}, | |||
{ | |||
stepNumber: 4, | |||
stepName: "Assignment", | |||
descriptionImage: assignment, | |||
buttonText: "Show details", | |||
isUnlocked: false | |||
}, | |||
{ | |||
stepNumber: 5, | |||
stepName: "Final Interview", | |||
descriptionImage: finalInterview, | |||
buttonText: "Schedule meeting", | |||
isUnlocked: false | |||
}, | |||
{ | |||
stepNumber: 6, | |||
stepName: "Closing Docs", | |||
descriptionImage: closingDocs, | |||
buttonText: "Upload docs", | |||
isUnlocked: false | |||
}, | |||
{ | |||
stepNumber: 7, | |||
stepName: "Joining Letter", | |||
descriptionImage: joiningLetter, | |||
buttonText: "Show details", | |||
isUnlocked: false | |||
}, | |||
{ | |||
stepNumber: 8, | |||
stepName: "Celebrations", | |||
descriptionImage: Celebrations, | |||
buttonText: "Join Workex", | |||
isUnlocked: false | |||
}, | |||
]; | |||
const [stepNo, setStep] = useState(1); | |||
const setDescription = (stepNumbera: number) => { | |||
setStep(stepNumbera); | |||
} | |||
const stepsList = steps.map((step, key) => { | |||
return ( | |||
<Steps | |||
key={key} | |||
stepNumber={step.stepNumber} | |||
roundName={step.stepName} | |||
isUnlocked={step.isUnlocked} | |||
descriptionImage={step.descriptionImage} | |||
buttonText={step.buttonText} | |||
setDescription={setDescription} | |||
showDescription={(stepNo === step.stepNumber) ? true : false} /> | |||
); | |||
}); | |||
return ( | |||
<IonPage> | |||
<Header /> | |||
<IonContent> | |||
<Steps | |||
// descriptionimage stepnumber round name and button text and isUnlocked store in an array of obj use map and render it | |||
stepNumber={1} | |||
roundName="Skill Information" | |||
isUnlocked={true} | |||
descriptionImage={skillInfo} | |||
buttonText="Let's start now!" | |||
setDescription={setDescription} | |||
showDescription={(step === 1) ? true : false} /> | |||
<Steps | |||
stepNumber={2} | |||
roundName="Preliminary Round" | |||
isUnlocked={false} | |||
descriptionImage={preliminaryRound} | |||
buttonText="Let's do this" | |||
setDescription={setDescription} | |||
showDescription={(step === 2) ? true : false} /> | |||
<Steps | |||
stepNumber={3} | |||
roundName="Technical Interview" | |||
isUnlocked={false} | |||
descriptionImage={technicalInterview} | |||
buttonText="Schedule meeting" | |||
setDescription={setDescription} | |||
showDescription={(step === 3) ? true : false} /> | |||
<Steps | |||
stepNumber={4} | |||
roundName="Assignment" | |||
isUnlocked={false} | |||
descriptionImage={assignment} | |||
buttonText="Show details" | |||
setDescription={setDescription} | |||
showDescription={(step === 4) ? true : false} /> | |||
<Steps | |||
stepNumber={5} | |||
roundName="Final Interview" | |||
isUnlocked={false} | |||
descriptionImage={finalInterview} | |||
buttonText="Schedule meeting" | |||
setDescription={setDescription} | |||
showDescription={(step === 5) ? true : false} /> | |||
<Steps | |||
stepNumber={6} | |||
roundName="Closing Docs" | |||
isUnlocked={false} | |||
descriptionImage={closingDocs} | |||
buttonText="Upload docs" | |||
setDescription={setDescription} | |||
showDescription={(step === 6) ? true : false} /> | |||
<Steps | |||
stepNumber={7} | |||
roundName="Joining Letter" | |||
isUnlocked={false} | |||
descriptionImage={joiningLetter} | |||
buttonText="Show details" | |||
setDescription={setDescription} | |||
showDescription={(step === 7) ? true : false} /> | |||
<Steps | |||
stepNumber={8} | |||
roundName="Celebrations" | |||
isUnlocked={false} | |||
descriptionImage={Celebrations} | |||
buttonText="Join workex" | |||
setDescription={setDescription} | |||
showDescription={(step === 8) ? true : false} /> | |||
{stepsList} | |||
</IonContent> | |||
</IonPage> | |||
) | |||
@@ -6,7 +6,7 @@ import SkillsCard from './SkillsCard'; | |||
import reactIcon from '../../assets/images/React.png'; | |||
import angularIcon from '../../assets/images/Angular.png'; | |||
import ionicIcon from '../../assets/images/IonicFramework.png'; | |||
import reactNative from '../../assets/images/ReactNative.png'; | |||
import reactNativeIcon from '../../assets/images/ReactNative.png'; | |||
import vueIcon from '../../assets/images/VueJS.png'; | |||
import nodeJSIcon from '../../assets/images/NodeJS.png'; | |||
import ExpressJSICon from '../../assets/images/ExpressJS.png'; | |||
@@ -19,6 +19,10 @@ import DevOpsIcon from '../../assets/images/DevOps.png'; | |||
import { useState } from 'react'; | |||
import { Link } from 'react-router-dom'; | |||
interface skill { | |||
name: string; | |||
icon: string; | |||
} | |||
const SkillInformationStep: React.FC = () => { | |||
@@ -34,9 +38,85 @@ const SkillInformationStep: React.FC = () => { | |||
setSkills(newSkills); | |||
} | |||
const skillsArr = [ | |||
{ | |||
frontEnd: [ | |||
{ | |||
name: "React JS/TS", | |||
icon: reactIcon, | |||
}, | |||
{ | |||
name: "Angular8+", | |||
icon: angularIcon, | |||
}, { | |||
name: "Ionic FrameWork", | |||
icon: ionicIcon, | |||
}, { | |||
name: "React Native", | |||
icon: reactNativeIcon, | |||
}, { | |||
name: "VueJS", | |||
icon: vueIcon, | |||
} | |||
], | |||
backEnd: [ | |||
{ | |||
name: "NodeJS", | |||
icon: nodeJSIcon, | |||
}, | |||
{ | |||
name: "ExpressJS", | |||
icon: ExpressJSICon, | |||
}, | |||
{ | |||
name: "Django FrameWork", | |||
icon: DjangoIcon, | |||
} | |||
], | |||
Database: [ | |||
{ | |||
name: "MySql", | |||
icon: MySqlIcon, | |||
}, | |||
{ | |||
name: "MongoDB", | |||
icon: MongoDBIcon, | |||
}, | |||
{ | |||
name: "PostgreSQL", | |||
icon: postgreSqlIcon, | |||
}, | |||
], | |||
Beneficial: [ | |||
{ | |||
name: "Firebase", | |||
icon: FirebaseIcon, | |||
}, | |||
{ | |||
name: "DevOps (Docker / Kubernetes)", | |||
icon: DevOpsIcon, | |||
} | |||
] | |||
} | |||
]; | |||
const frontEndSkills: skill[] = []; | |||
const backendSkills: skill[] = []; | |||
const database: skill[] = []; | |||
const beneficial: skill[] = []; | |||
skillsArr.forEach(skill => { | |||
frontEndSkills.push(...skill.frontEnd); | |||
backendSkills.push(...skill.backEnd); | |||
database.push(...skill.Database); | |||
beneficial.push(...skill.Beneficial); | |||
}); | |||
return ( | |||
<IonPage> | |||
<StepHeader | |||
stepNumber={1} | |||
roundName="Skill Information" /> | |||
@@ -55,11 +135,18 @@ const SkillInformationStep: React.FC = () => { | |||
<h5 className={styles.heading}>Front-end:</h5> | |||
<div className={styles.skills}> | |||
<SkillsCard name='React JS/TS' icon={reactIcon} isHighlighted={skills.includes("React JS/TS")} toggleSkills={toggleSkill} /> | |||
<SkillsCard name='Angular8+' icon={angularIcon} isHighlighted={skills.includes("Angular8+")} toggleSkills={toggleSkill} /> | |||
<SkillsCard name='Ionic FrameWork' icon={ionicIcon} isHighlighted={skills.includes("Ionic FrameWork")} toggleSkills={toggleSkill} /> | |||
<SkillsCard name='React Native' icon={reactNative} isHighlighted={skills.includes("React Native")} toggleSkills={toggleSkill} /> | |||
<SkillsCard name='VueJS' icon={vueIcon} isHighlighted={skills.includes("VueJS")} toggleSkills={toggleSkill} /> | |||
{ | |||
frontEndSkills.map((skill, index) => { | |||
return ( | |||
<SkillsCard | |||
key={index} | |||
name={skill.name} | |||
icon={skill.icon} | |||
isHighlighted={skills.includes(skill.name)} | |||
toggleSkills={toggleSkill} /> | |||
); | |||
}) | |||
} | |||
</div> | |||
</div> | |||
@@ -69,9 +156,18 @@ const SkillInformationStep: React.FC = () => { | |||
<h5 className={styles.heading}>Back-end:</h5> | |||
<div className={styles.skills}> | |||
<SkillsCard name='NodeJS' icon={nodeJSIcon} isHighlighted={skills.includes("NodeJS")} toggleSkills={toggleSkill} /> | |||
<SkillsCard name='ExpressJS' icon={ExpressJSICon} isHighlighted={skills.includes("ExpressJS")} toggleSkills={toggleSkill} /> | |||
<SkillsCard name='Django FrameWork' icon={DjangoIcon} isHighlighted={skills.includes("Django FrameWork")} toggleSkills={toggleSkill} /> | |||
{ | |||
backendSkills.map((skill, index) => { | |||
return ( | |||
<SkillsCard | |||
key={index} | |||
name={skill.name} | |||
icon={skill.icon} | |||
isHighlighted={skills.includes(skill.name)} | |||
toggleSkills={toggleSkill} /> | |||
); | |||
}) | |||
} | |||
</div> | |||
</div> | |||
@@ -79,13 +175,22 @@ const SkillInformationStep: React.FC = () => { | |||
<div className={styles.skillsCard}> | |||
<h5 className={styles.heading}>Database:</h5> | |||
<div className={styles.skills}> | |||
<SkillsCard name='MySql' icon={MySqlIcon} isHighlighted={skills.includes("MySql")} toggleSkills={toggleSkill} /> | |||
<SkillsCard name='MongoDB' icon={MongoDBIcon} isHighlighted={skills.includes("MongoDB")} toggleSkills={toggleSkill} /> | |||
<SkillsCard name='PostgreSQL' icon={postgreSqlIcon} isHighlighted={skills.includes("PostgreSQL")} toggleSkills={toggleSkill} /> | |||
{ | |||
database.map((skill, index) => { | |||
return ( | |||
<SkillsCard | |||
key={index} | |||
name={skill.name} | |||
icon={skill.icon} | |||
isHighlighted={skills.includes(skill.name)} | |||
toggleSkills={toggleSkill} /> | |||
); | |||
}) | |||
} | |||
</div> | |||
</div> | |||
<div className={styles.skillsCard}> | |||
@@ -93,8 +198,18 @@ const SkillInformationStep: React.FC = () => { | |||
<h5 className={styles.heading}>Beneficial:</h5> | |||
<div className={styles.skills}> | |||
<SkillsCard name='Firebase' isHighlighted={skills.includes("Firebase")} icon={FirebaseIcon} toggleSkills={toggleSkill} /> | |||
<SkillsCard name='DevOps (Docker / Kubernetes)' isHighlighted={skills.includes("DevOps (Docker / Kubernetes)")} icon={DevOpsIcon} toggleSkills={toggleSkill} /> | |||
{ | |||
beneficial.map((skill, index) => { | |||
return ( | |||
<SkillsCard | |||
key={index} | |||
name={skill.name} | |||
icon={skill.icon} | |||
isHighlighted={skills.includes(skill.name)} | |||
toggleSkills={toggleSkill} /> | |||
); | |||
}) | |||
} | |||
</div> | |||
</div> | |||