Angular job portal app
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

90 lines
3.7 KiB

  1. import styles from "./TechnicalInterview.module.scss";
  2. import { IonButton, IonContent, IonIcon, IonPage } from "@ionic/react";
  3. import StepHeader from "../../components/stepsHeader/StepHeader";
  4. import techinicalInterview from "../../assets/icons/Technical_Interview.svg";
  5. import linkIcon from "../../assets/icons/link.svg";
  6. import { Link } from "react-router-dom";
  7. import { useState } from "react";
  8. import TimeSlot from "../../components/timeSlot/TimeSlot";
  9. import { useCountdown } from "../../components/CountDownTimer/useCountdown";
  10. import CountdownTimer from "../../components/CountDownTimer/CountdownTimer";
  11. const TechnicalInterview: React.FC = () => {
  12. const [isDateSet, setDate] = useState<boolean>(false);
  13. const [isTimeSlot, setTimeSlot] = useState<boolean>(false);
  14. const [days, hours, minutes, seconds] = useCountdown(new Date('may 7, 2022 07:00:00'));
  15. const getDate = () => {
  16. setTimeSlot(false);
  17. setDate(true);
  18. }
  19. const HideTimeSlot = () => {
  20. setTimeSlot(false);
  21. }
  22. return (
  23. <IonPage>
  24. <StepHeader stepNumber={3} roundName="Technical Interview" />
  25. <IonContent className={styles.techinicalInterviewContent}>
  26. <div className={styles.description}>
  27. <IonIcon src={techinicalInterview} />
  28. {
  29. !isDateSet ?
  30. <div className={styles.meet}>
  31. <h4>You seem interesting! Let's meet.</h4>
  32. <p>
  33. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt.
  34. </p>
  35. </div>
  36. :
  37. <div className={styles.countdown}>
  38. <h4>Let's Meet in:</h4>
  39. <div className={styles.timeLeft}>
  40. <CountdownTimer
  41. days={days}
  42. hours={hours}
  43. minutes={minutes}
  44. seconds={seconds} />
  45. </div>
  46. <h4>Join us on Google Meet</h4>
  47. <div className={styles.icon}>
  48. <IonIcon src={linkIcon} />
  49. </div>
  50. </div>
  51. }
  52. </div>
  53. {
  54. !isDateSet ?
  55. <div className={styles.techinicalInterviewBtn} onClick={() => setTimeSlot(true)}>
  56. <IonButton shape="round" expand='block'>Find a slot</IonButton>
  57. </div>
  58. :
  59. <div className={styles.buttonHolder}>
  60. <Link to="/interviewRounds" className={styles.dashboardButton}>
  61. <IonButton shape="round">Goto Dashboard</IonButton>
  62. </Link>
  63. <Link to="/technicalInterview/techinicalInterviewResults" className={styles.nextStepButton}>
  64. <IonButton shape="round">Goto Next Step</IonButton>
  65. </Link>
  66. </div>
  67. }
  68. {
  69. isTimeSlot &&
  70. <TimeSlot
  71. month="April-May"
  72. getDate={getDate}
  73. HideTimeSlot={HideTimeSlot} />
  74. }
  75. </IonContent>
  76. </IonPage >
  77. );
  78. }
  79. export default TechnicalInterview;