浏览代码

final interview page styling completed

develop
Ajay_S 3 年前
父节点
当前提交
7149ec6130
共有 11 个文件被更改,包括 379 次插入13 次删除
  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 查看文件

@@ -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 查看文件

@@ -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 查看文件

@@ -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 查看文件

@@ -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 查看文件

@@ -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 查看文件

@@ -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 查看文件

@@ -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 查看文件

@@ -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 查看文件

@@ -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 查看文件

@@ -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 查看文件

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




正在加载...
取消
保存