Bläddra i källkod

final interview page styling completed

develop
Ajay_S 4 år sedan
förälder
incheckning
7149ec6130
11 ändrade filer med 379 tillägg och 13 borttagningar
  1. +4
    -0
      src/App.tsx
  2. +6
    -0
      src/assets/icons/location.svg
  3. +3
    -1
      src/components/stepsHeader/StepHeader.module.scss
  4. +3
    -3
      src/components/stepsHeader/StepHeader.tsx
  5. +137
    -0
      src/pages/FinalInterview/FInalInterview.module.scss
  6. +103
    -5
      src/pages/FinalInterview/FinalInterview.tsx
  7. +75
    -0
      src/pages/FinalInterview/FinalInterviewResult.module.scss
  8. +42
    -0
      src/pages/FinalInterview/FinalInterviewResult.tsx
  9. +2
    -1
      src/pages/interviewRounds/InterviewRounds.tsx
  10. +1
    -1
      src/pages/interviewRounds/StepDescreption.tsx
  11. +3
    -2
      src/pages/interviewRounds/Steps.tsx

+ 4
- 0
src/App.tsx Visa fil

@@ -32,6 +32,7 @@ import SubmitAssignment from './pages/assignment/SubmitAssignment';
import ReviewAssignment from './pages/assignment/ReviewAssignment'; import ReviewAssignment from './pages/assignment/ReviewAssignment';
import AssignmentCompleted from './pages/assignment/AssignmentCompleted'; import AssignmentCompleted from './pages/assignment/AssignmentCompleted';
import FinalInterview from './pages/FinalInterview/FinalInterview'; import FinalInterview from './pages/FinalInterview/FinalInterview';
import FinalInterviewResult from './pages/FinalInterview/FinalInterviewResult';






@@ -77,6 +78,9 @@ const App: React.FC = () => (
<Route exact path="/finalInterview"> <Route exact path="/finalInterview">
<FinalInterview /> <FinalInterview />
</Route> </Route>
<Route exact path="/finalInterview/results">
<FinalInterviewResult />
</Route>
<Route exact path="/"> <Route exact path="/">
<Redirect to="/interviewRounds" /> <Redirect to="/interviewRounds" />
</Route> </Route>


+ 6
- 0
src/assets/icons/location.svg Visa fil

@@ -0,0 +1,6 @@
<svg xmlns="http://www.w3.org/2000/svg" width="16.5" height="23.099" viewBox="0 0 16.5 23.099">
<g id="location" transform="translate(-6.75 -2.25)">
<path id="Path_4397" data-name="Path 4397" d="M20.25,13.5A2.25,2.25,0,1,1,18,11.25,2.25,2.25,0,0,1,20.25,13.5Z" transform="translate(-3 -2.8)" fill="#fff"/>
<path id="Path_4398" data-name="Path 4398" d="M15,2.25a8.085,8.085,0,0,0-8.25,7.889c0,2.071.944,4.826,2.806,8.187a60.509,60.509,0,0,0,4.125,6.354,1.637,1.637,0,0,0,2.641,0,60.748,60.748,0,0,0,4.125-6.354c1.86-3.36,2.8-6.115,2.8-8.187A8.085,8.085,0,0,0,15,2.25ZM15,13.8a3.3,3.3,0,1,1,3.3-3.3A3.3,3.3,0,0,1,15,13.8Z" fill="#fff"/>
</g>
</svg>

+ 3
- 1
src/components/stepsHeader/StepHeader.module.scss Visa fil

@@ -25,7 +25,9 @@
opacity: 0.8; opacity: 0.8;
} }
} }

a {
text-decoration: none;
}
ion-icon { ion-icon {
width: 3.5rem; width: 3.5rem;
height: 4rem; height: 4rem;


+ 3
- 3
src/components/stepsHeader/StepHeader.tsx Visa fil

@@ -16,9 +16,9 @@ const StepHeader: React.FC<Props> = (props) => {
<div className={styles.step}>Step {props.stepNumber}</div> <div className={styles.step}>Step {props.stepNumber}</div>
<h3 className={styles.roundName}>{props.roundName}</h3> <h3 className={styles.roundName}>{props.roundName}</h3>
</div> </div>
{/* <Link to="/interviewRounds"> */}
<IonIcon icon={closeOutline}></IonIcon>
{/* </Link> */}
<Link to="/interviewRounds">
<IonIcon icon={closeOutline}></IonIcon>
</Link>
</header> </header>
) )
} }


+ 137
- 0
src/pages/FinalInterview/FInalInterview.module.scss Visa fil

@@ -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);

}
}
}
}

+ 103
- 5
src/pages/FinalInterview/FinalInterview.tsx Visa fil

@@ -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 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 FinalInterview: React.FC = () => {

const [isDateSet, setDate] = useState<boolean>(false);
const [isTimeSlot, setTimeSlot] = useState<boolean>(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 ( return (
<IonPage> <IonPage>
<IonPage>
<StepHeader roundName="Final Interview" stepNumber={5} />
</IonPage>
<StepHeader roundName="Final Interview" stepNumber={5} />
<IonContent>
<div className={styles.description}>
<IonIcon src={finalInterview} />
{
!isDateSet ?
<div className={styles.meet}>
<h4>We're Impressed! Let's meet once again</h4>
<p>
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt.
</p>
</div>
:
<div className={styles.countdown}>

<h4>Let's Meet in:</h4>
<div className={styles.timeLeft}>
<h4 className={styles.time}>02 : 04 : 25 : 53</h4>
<div className={styles.days}>
<div>Days</div>
<div>Hrs</div>
<div>Mins</div>
<div>Secs</div>
</div>
</div>
<h4>Join us on Google Meet</h4>
<div className={styles.icon}>
<IonIcon src={locationIcon} />
</div>
</div>
}
</div>
{
!isDateSet ?
<div className={styles.techinicalInterviewBtn} onClick={() => setTimeSlot(true)}>
<IonButton shape="round" expand='block'>Find a slot</IonButton>
</div>
:
<div className={styles.buttonHolder}>
<Link to="/interviewRounds" className={styles.dashboardButton}>
<IonButton shape="round">Goto Dashboard</IonButton>
</Link>
<Link to="/finalInterview/results" className={styles.nextStepButton}>
<IonButton shape="round">Goto Next Step</IonButton>
</Link>
</div>
}

{
isTimeSlot &&
<TimeSlot
month="April-May"
dates={dates}
timeSlots={timeSlots}
getDate={getDate} />
}

</IonContent>
</IonPage> </IonPage>
)
);
} }


export default FinalInterview; export default FinalInterview;

+ 75
- 0
src/pages/FinalInterview/FinalInterviewResult.module.scss Visa fil

@@ -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);

}
}
}
}

+ 42
- 0
src/pages/FinalInterview/FinalInterviewResult.tsx Visa fil

@@ -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 (
<IonPage className={styles.finalInterviewResults}>
<StepHeader roundName="Final Interview" stepNumber={5} />

<IonContent>

<div className={styles.description}>
<div className={styles.icon}>
<IonIcon src={finalInterviewImg} />
</div>

<div className={styles.stepDescription}>
<h4>You seem promising Employee!</h4>
<p>
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
</p>
</div>
</div>

<div className={styles.buttonHolder}>
<Link to="/interviewRounds" className={styles.dashboardButton}>
<IonButton shape="round">Goto Dashboard</IonButton>
</Link>
<Link to="/closingDocs" className={styles.nextStepButton}>
<IonButton shape="round">Goto Next Step</IonButton>
</Link>
</div>
</IonContent>
</IonPage>
)
}

export default FinalInterviewResult;

+ 2
- 1
src/pages/interviewRounds/InterviewRounds.tsx Visa fil

@@ -108,7 +108,8 @@ const InterviewRounds: React.FC = () => {
buttonText={step.buttonText} buttonText={step.buttonText}
setDescription={setDescription} setDescription={setDescription}
showDescription={(stepNo === step.stepNumber) ? true : false} showDescription={(stepNo === step.stepNumber) ? true : false}
link={step.link} />
link={step.link}
/>
); );
}); });




+ 1
- 1
src/pages/interviewRounds/StepDescreption.tsx Visa fil

@@ -44,7 +44,7 @@ const StepsDescription: React.FC<Props> = (props) => {
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
</p> </p>


<Link to={props.link} className={styles.button}>
<Link to="/" className={styles.button}>
<IonButton shape="round" expand='block'>{props.buttonText}</IonButton> <IonButton shape="round" expand='block'>{props.buttonText}</IonButton>
</Link> </Link>




+ 3
- 2
src/pages/interviewRounds/Steps.tsx Visa fil

@@ -19,14 +19,15 @@ const Steps: React.FC<Props> = (props) => {


return ( return (
<IonItem lines='none' onClick={() => props.setDescription(props.stepNumber)}> <IonItem lines='none' onClick={() => props.setDescription(props.stepNumber)}>
{/* single step so use singular name */}
{props.showDescription ? <StepDescription {props.showDescription ? <StepDescription
stepNumber={props.stepNumber} stepNumber={props.stepNumber}
roundName={props.roundName} roundName={props.roundName}
isUnlocked={props.isUnlocked} isUnlocked={props.isUnlocked}
buttonText={props.buttonText} buttonText={props.buttonText}
descriptionImage={props.descriptionImage} descriptionImage={props.descriptionImage}
link={props.link} /> :
link={props.link}
/> :
<div className={styles.stepHolder}> <div className={styles.stepHolder}>
<IonIcon icon={props.isUnlocked ? lockOpen : lockClosed} color={props.isUnlocked ? '' : "dark"} ></IonIcon> <IonIcon icon={props.isUnlocked ? lockOpen : lockClosed} color={props.isUnlocked ? '' : "dark"} ></IonIcon>




Laddar…
Avbryt
Spara