diff --git a/src/App.tsx b/src/App.tsx index a4ab31a..44aa46f 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -32,6 +32,7 @@ import SubmitAssignment from './pages/assignment/SubmitAssignment'; import ReviewAssignment from './pages/assignment/ReviewAssignment'; import AssignmentCompleted from './pages/assignment/AssignmentCompleted'; import FinalInterview from './pages/FinalInterview/FinalInterview'; +import FinalInterviewResult from './pages/FinalInterview/FinalInterviewResult'; @@ -77,6 +78,9 @@ const App: React.FC = () => ( + + + diff --git a/src/assets/icons/location.svg b/src/assets/icons/location.svg new file mode 100644 index 0000000..1f644d9 --- /dev/null +++ b/src/assets/icons/location.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/src/components/stepsHeader/StepHeader.module.scss b/src/components/stepsHeader/StepHeader.module.scss index 22f9e8b..863fbb2 100644 --- a/src/components/stepsHeader/StepHeader.module.scss +++ b/src/components/stepsHeader/StepHeader.module.scss @@ -25,7 +25,9 @@ opacity: 0.8; } } - + a { + text-decoration: none; + } ion-icon { width: 3.5rem; height: 4rem; diff --git a/src/components/stepsHeader/StepHeader.tsx b/src/components/stepsHeader/StepHeader.tsx index 8b2cb09..fd83ce9 100644 --- a/src/components/stepsHeader/StepHeader.tsx +++ b/src/components/stepsHeader/StepHeader.tsx @@ -16,9 +16,9 @@ const StepHeader: React.FC = (props) => {
Step {props.stepNumber}

{props.roundName}

- {/* */} - - {/* */} + + + ) } diff --git a/src/pages/FinalInterview/FInalInterview.module.scss b/src/pages/FinalInterview/FInalInterview.module.scss index e69de29..5c88ccd 100644 --- a/src/pages/FinalInterview/FInalInterview.module.scss +++ b/src/pages/FinalInterview/FInalInterview.module.scss @@ -0,0 +1,137 @@ +ion-content { + display: fixed; + height: 100vh; + width: 100vw; + .description { + ion-icon { + width: 15rem; + height: 10rem; + width: 95%; + margin: 0 auto; + margin-top: 4rem; + } + + .meet { + h4 { + color: #363636; + text-align: center; + font-size: 2.4rem; + font-weight: 300; + letter-spacing: 0.024rem; + margin-top: 3rem; + } + p { + color: #868686; + font-size: 1.4rem; + text-align: center; + width: 90%; + margin: 0 auto; + margin-top: 2rem; + line-height: 1.8; + } + } + + .countdown { + display: flex; + flex-direction: column; + align-items: center; + height: 45vh; + justify-content: space-around; + h4 { + color: #363636; + text-align: center; + font-size: 2.4rem; + font-weight: 300; + letter-spacing: 0.024rem; + } + .timeLeft { + .time { + font-size: 3.6rem; + font-weight: 600; + color: #363636; + letter-spacing: 0.036rem; + } + .days { + font-size: 1.3rem; + color: #9F9F9F; + display: flex; + justify-content: space-between; + align-items: center; + width: 95%; + margin: 0 auto; + text-align: center; + } + } + .icon { + width: 6rem; + height: 6rem; + background-color: #33CE93; + border-radius: 50%; + display: flex; + align-items: center; + justify-content: center; + + ion-icon { + width: 2rem; + height: 2rem; + margin: 0; + } + } + + } + + } + + .techinicalInterviewBtn { + text-decoration: none; + + ion-button { + width: 95%; + margin: 0 auto; + margin-top: 38vh; + margin-bottom: 0; + --background: var(--primary-button-color); + } + } + + .buttonHolder { + display: flex; + justify-content: space-around; + align-items: center; + width: 95%; + margin: 0 auto; + margin-top: 7rem; + a { + text-decoration: none; + } + + .dashboardButton { + width: 18rem; + + ion-button { + margin: 0; + --border-style: solid; + --border-width: 0.1rem; + --border-color: var(--primary-button-color); + --background: transparent; + --color: var(--primary-button-color); + font-size: 1.6rem; + font-weight: 600; + } + } + + .nextStepButton { + width: 18rem; + + margin-left: 1rem; + ion-button { + + font-size: 1.6rem; + font-weight: 600; + --background: var(--primary-button-color); + + } + } + + } +} \ No newline at end of file diff --git a/src/pages/FinalInterview/FinalInterview.tsx b/src/pages/FinalInterview/FinalInterview.tsx index fed4c73..44d8b4d 100644 --- a/src/pages/FinalInterview/FinalInterview.tsx +++ b/src/pages/FinalInterview/FinalInterview.tsx @@ -1,14 +1,112 @@ -import { IonPage } from "@ionic/react"; +import styles from "./FInalInterview.module.scss"; + +import { IonButton, IonContent, IonIcon, IonPage } from "@ionic/react"; import StepHeader from "../../components/stepsHeader/StepHeader"; +import finalInterview from "../../assets/icons/Final_Interview.svg"; +import locationIcon from "../../assets/icons/location.svg"; +import { Link } from "react-router-dom"; +import { useState } from "react"; +import TimeSlot from "../../components/timeSlot/TimeSlot"; + +interface dates { + date: string; + day: string; +} const FinalInterview: React.FC = () => { + + const [isDateSet, setDate] = useState(false); + const [isTimeSlot, setTimeSlot] = useState(false); + + const timeSlots = ["11:00 AM - 1:00 pm", "1:00 PM - 3:00 pm", "3:00 PM - 5:00 pm"]; + + const dates: dates[] = [ + { + date: "27", + day: "Tue" + }, + { + date: "29", + day: "Sat" + }, + { + date: "01", + day: "Mon" + }, + { + date: "03", + day: "Wed" + }, + ]; + + const getDate = (date: string) => { + console.log(date); + setTimeSlot(false); + setDate(true); + } + return ( - - - + + +
+ + { + !isDateSet ? +
+

We're Impressed! Let's meet once again

+

+ Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt. +

+
+ : +
+ +

Let's Meet in:

+
+

02 : 04 : 25 : 53

+
+
Days
+
Hrs
+
Mins
+
Secs
+
+
+

Join us on Google Meet

+
+ +
+
+ } +
+ { + !isDateSet ? +
setTimeSlot(true)}> + Find a slot +
+ : +
+ + Goto Dashboard + + + Goto Next Step + +
+ } + + { + isTimeSlot && + + } + +
- ) + ); } export default FinalInterview; \ No newline at end of file diff --git a/src/pages/FinalInterview/FinalInterviewResult.module.scss b/src/pages/FinalInterview/FinalInterviewResult.module.scss new file mode 100644 index 0000000..a50855f --- /dev/null +++ b/src/pages/FinalInterview/FinalInterviewResult.module.scss @@ -0,0 +1,75 @@ +.finalInterviewResults { + + .description { + .icon { + margin-top: 4rem; + display: flex; + justify-content: center; + ion-icon { + width: 10rem; + height: 10rem; + } + } + + .stepDescription { + h4 { + color: #363636; + text-align: center; + font-size: 2.4rem; + font-weight: 300; + letter-spacing: 0.024rem; + margin-top: 3rem; + } + p { + color: #868686; + font-size: 1.4rem; + text-align: center; + width: 90%; + margin: 0 auto; + margin-top: 2rem; + line-height: 1.8; + } + } + } + + .buttonHolder { + display: flex; + justify-content: space-around; + align-items: center; + width: 95%; + margin: 0 auto; + margin-top: 22rem; + a { + text-decoration: none; + } + + .dashboardButton { + width: 18rem; + + ion-button { + margin: 0; + --border-style: solid; + --border-width: 0.1rem; + --border-color: var(--primary-button-color); + --background: transparent; + --color: var(--primary-button-color); + font-size: 1.6rem; + font-weight: 600; + } + } + + .nextStepButton { + width: 18rem; + + margin-left: 1rem; + ion-button { + + font-size: 1.6rem; + font-weight: 600; + --background: var(--primary-button-color); + + } + } + + } +} \ No newline at end of file diff --git a/src/pages/FinalInterview/FinalInterviewResult.tsx b/src/pages/FinalInterview/FinalInterviewResult.tsx new file mode 100644 index 0000000..a717c43 --- /dev/null +++ b/src/pages/FinalInterview/FinalInterviewResult.tsx @@ -0,0 +1,42 @@ +import styles from "./FinalInterviewResult.module.scss"; + +import { IonButton, IonContent, IonIcon, IonPage } from "@ionic/react" +import StepHeader from "../../components/stepsHeader/StepHeader" +import { Link } from "react-router-dom"; +import finalInterviewImg from "../../assets/icons/Final_Interview.svg"; + + +const FinalInterviewResult: React.FC = () => { + return ( + + + + + +
+
+ +
+ +
+

You seem promising Employee!

+

+ Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. +

+
+
+ +
+ + Goto Dashboard + + + Goto Next Step + +
+
+
+ ) +} + +export default FinalInterviewResult; \ No newline at end of file diff --git a/src/pages/interviewRounds/InterviewRounds.tsx b/src/pages/interviewRounds/InterviewRounds.tsx index af38d97..429bcef 100644 --- a/src/pages/interviewRounds/InterviewRounds.tsx +++ b/src/pages/interviewRounds/InterviewRounds.tsx @@ -108,7 +108,8 @@ const InterviewRounds: React.FC = () => { buttonText={step.buttonText} setDescription={setDescription} showDescription={(stepNo === step.stepNumber) ? true : false} - link={step.link} /> + link={step.link} + /> ); }); diff --git a/src/pages/interviewRounds/StepDescreption.tsx b/src/pages/interviewRounds/StepDescreption.tsx index 796e77e..6039403 100644 --- a/src/pages/interviewRounds/StepDescreption.tsx +++ b/src/pages/interviewRounds/StepDescreption.tsx @@ -44,7 +44,7 @@ const StepsDescription: React.FC = (props) => { Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.

- + {props.buttonText} diff --git a/src/pages/interviewRounds/Steps.tsx b/src/pages/interviewRounds/Steps.tsx index 5fc7c8f..4460dd5 100644 --- a/src/pages/interviewRounds/Steps.tsx +++ b/src/pages/interviewRounds/Steps.tsx @@ -19,14 +19,15 @@ const Steps: React.FC = (props) => { return ( props.setDescription(props.stepNumber)}> - {/* single step so use singular name */} + {props.showDescription ? : + link={props.link} + /> :