Exams Added

main
Pedram Keshavarzi 3 years ago
parent 534b0946cd
commit 4dab1fe765
  1. 10
      src/App.js
  2. BIN
      src/assets/azmoon-list/Group893.png
  3. BIN
      src/assets/azmoon-list/Group895.png
  4. BIN
      src/assets/azmoon-list/clock.png
  5. BIN
      src/assets/azmoon-list/exam/Group 115.png
  6. BIN
      src/assets/azmoon-list/exam/Group 116.png
  7. BIN
      src/assets/azmoon-list/exam/amanda-jones-oHVdj31R3F4-unsplash.jpg
  8. BIN
      src/assets/azmoon-list/message-minus.png
  9. BIN
      src/assets/azmoon-list/message-text-2.png
  10. BIN
      src/assets/azmoon-list/message-text.png
  11. BIN
      src/assets/azmoon-list/people.png
  12. BIN
      src/assets/azmoon-list/profile-2user.png
  13. BIN
      src/assets/azmoon-list/stickynote.png
  14. BIN
      src/assets/azmoon-list/teacher.png
  15. BIN
      src/assets/azmoon-list/test.png
  16. BIN
      src/assets/azmoon-list/tushar-khandagale-dvtAuBHBAVQ-unsplash.jpg
  17. 15
      src/assets/azmoon-list/vuesax-linear-calendar.svg
  18. 11
      src/assets/azmoon-list/vuesax-linear-profile-2user.svg
  19. 9
      src/assets/azmoon-list/vuesax-linear-profile.svg
  20. 10
      src/assets/azmoon-list/vuesax-linear-teacher.svg
  21. 10
      src/assets/azmoon-list/vuesax-linear-teacher2.svg
  22. BIN
      src/assets/azmoon-list/لیست.png
  23. BIN
      src/assets/azmoon-list/کارنامه.png
  24. 2
      src/components/exam/Carousel/index.js
  25. 201
      src/view/Exam/EnterExam/desktop/index.css
  26. 398
      src/view/Exam/EnterExam/desktop/index.js
  27. 16
      src/view/Exam/EnterExam/index.js
  28. 483
      src/view/Exam/index.css
  29. 1043
      src/view/Exam/index.js
  30. 278
      src/view/services/index.js

@ -1,6 +1,6 @@
import logo from './logo.svg'; import logo from './logo.svg';
import './App.css'; import './App.css';
import { BrowserRouter, Routes, Route } from "react-router-dom"; import { HashRouter as Router, Routes, Route } from "react-router-dom";
import Dashboard2 from './view/dashboard2/Dashboard2'; import Dashboard2 from './view/dashboard2/Dashboard2';
import Header from './components/header/Header'; import Header from './components/header/Header';
import Nav from './components/nav/Nav'; import Nav from './components/nav/Nav';
@ -25,6 +25,8 @@ import Services from './view/services';
import {Provider, provider} from 'react-redux'; import {Provider, provider} from 'react-redux';
import store from './redux/store'; import store from './redux/store';
import ContactUs from './view/contact'; import ContactUs from './view/contact';
import ENTER_EXAM from './view/Exam/EnterExam/index'
import EXAM from './view/Exam'
let data = [ let data = [
@ -647,7 +649,7 @@ function App() {
return ( return (
<Provider store={store}> <Provider store={store}>
<BrowserRouter> <Router>
<div className="App"> <div className="App">
{LOGIN && <Header />} {LOGIN && <Header />}
{LOGIN && <Nav logOut={logOut} />} {LOGIN && <Nav logOut={logOut} />}
@ -688,9 +690,11 @@ function App() {
hideUserFullInfo={hideUserFullInfo} hideUserFullInfo={hideUserFullInfo}
/>} /> */} />} /> */}
<Route path='/contacts' element={<ContactUs />} /> <Route path='/contacts' element={<ContactUs />} />
<Route exact path="/azmoon_list/enter_exam/:id" element={<ENTER_EXAM />}/>
<Route exact path="/dashboard/azmoon_list/exam/:id" element={<EXAM />} />
</Routes> </Routes>
</div> </div>
</BrowserRouter> </Router>
</Provider> </Provider>
); );
} }

Binary file not shown.

After

Width:  |  Height:  |  Size: 655 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 41 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 999 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 653 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 529 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 542 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 631 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 525 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 908 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 967 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 49 KiB

@ -0,0 +1,15 @@
<svg id="vuesax_linear_calendar" data-name="vuesax/linear/calendar" xmlns="http://www.w3.org/2000/svg" width="26.182" height="26.182" viewBox="0 0 26.182 26.182">
<g id="calendar">
<path id="Vector" d="M0,0V3.273" transform="translate(8.727 2.182)" fill="none" stroke="#a2b4cb" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
<path id="Vector-2" data-name="Vector" d="M0,0V3.273" transform="translate(17.455 2.182)" fill="none" stroke="#a2b4cb" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
<path id="Vector-3" data-name="Vector" d="M0,0H18.545" transform="translate(3.818 9.916)" fill="none" stroke="#a2b4cb" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
<path id="Vector-4" data-name="Vector" d="M19.636,5.455v9.273c0,3.273-1.636,5.455-5.455,5.455H5.455C1.636,20.182,0,18,0,14.727V5.455C0,2.182,1.636,0,5.455,0h8.727C18,0,19.636,2.182,19.636,5.455Z" transform="translate(3.273 3.818)" fill="none" stroke="#a2b4cb" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
<path id="Vector-5" data-name="Vector" d="M0,0H26.182V26.182H0Z" fill="none" opacity="0"/>
<path id="Vector-6" data-name="Vector" d="M.495.5H.5" transform="translate(16.627 14.445)" fill="none" stroke="#a2b4cb" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
<path id="Vector-7" data-name="Vector" d="M.495.5H.5" transform="translate(16.627 17.718)" fill="none" stroke="#a2b4cb" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
<path id="Vector-8" data-name="Vector" d="M.495.5H.5" transform="translate(12.591 14.445)" fill="none" stroke="#a2b4cb" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
<path id="Vector-9" data-name="Vector" d="M.495.5H.5" transform="translate(12.591 17.718)" fill="none" stroke="#a2b4cb" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
<path id="Vector-10" data-name="Vector" d="M.495.5H.5" transform="translate(8.554 14.445)" fill="none" stroke="#a2b4cb" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
<path id="Vector-11" data-name="Vector" d="M.495.5H.5" transform="translate(8.554 17.718)" fill="none" stroke="#a2b4cb" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.3 KiB

@ -0,0 +1,11 @@
<svg xmlns="http://www.w3.org/2000/svg" width="29.819" height="29.819" viewBox="0 0 29.819 29.819">
<g id="vuesax_linear_profile-2user" data-name="vuesax/linear/profile-2user" transform="translate(0 0)">
<g id="profile-2user">
<path id="Vector" d="M5.715,11.021a2.258,2.258,0,0,0-.41,0,5.523,5.523,0,1,1,.41,0Z" transform="translate(5.666 2.485)" fill="none" stroke="#a2b4cb" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
<path id="Vector-2" data-name="Vector" d="M.162,0A4.345,4.345,0,0,1,4.51,4.349,4.355,4.355,0,0,1,.323,8.7,1.4,1.4,0,0,0,0,8.7" transform="translate(20.227 4.97)" fill="none" stroke="#a2b4cb" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
<path id="Vector-3" data-name="Vector" d="M2.255,1.705C-.752,3.718-.752,7,2.255,9A12.134,12.134,0,0,0,14.692,9c3.007-2.013,3.007-5.293,0-7.293A12.191,12.191,0,0,0,2.255,1.705Z" transform="translate(2.914 16.385)" fill="none" stroke="#a2b4cb" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
<path id="Vector-4" data-name="Vector" d="M0,7.455A6.01,6.01,0,0,0,2.435,6.374a3.147,3.147,0,0,0,0-5.305A6.179,6.179,0,0,0,.037,0" transform="translate(22.787 17.395)" fill="none" stroke="#a2b4cb" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
<path id="Vector-5" data-name="Vector" d="M0,0H29.819V29.819H0Z" transform="translate(29.819 29.819) rotate(180)" fill="none" opacity="0"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.4 KiB

@ -0,0 +1,9 @@
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
<g id="vuesax_linear_profile" data-name="vuesax/linear/profile" transform="translate(-108 -252)">
<g id="profile">
<path id="Vector" d="M4.6,8.87a1.818,1.818,0,0,0-.33,0,4.445,4.445,0,1,1,.33,0Z" transform="translate(115.56 254)" fill="none" stroke="#a2b4cb" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"/>
<path id="Vector-2" data-name="Vector" d="M1.815,1.373c-2.42,1.62-2.42,4.26,0,5.87a9.766,9.766,0,0,0,10.01,0c2.42-1.62,2.42-4.26,0-5.87A9.812,9.812,0,0,0,1.815,1.373Z" transform="translate(113.345 265.188)" fill="none" stroke="#a2b4cb" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"/>
<path id="Vector-3" data-name="Vector" d="M0,0H24V24H0Z" transform="translate(132 276) rotate(180)" fill="none" opacity="0"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 888 B

@ -0,0 +1,10 @@
<svg xmlns="http://www.w3.org/2000/svg" width="29.85" height="29.85" viewBox="0 0 29.85 29.85">
<g id="vuesax_linear_teacher" data-name="vuesax/linear/teacher" transform="translate(0 0)">
<g id="teacher">
<path id="Vector" d="M9.288.661,1.8,5.549a3.963,3.963,0,0,0,0,6.642l7.487,4.888a4.863,4.863,0,0,0,4.9,0l7.45-4.888a3.963,3.963,0,0,0,0-6.629L14.188.673A4.834,4.834,0,0,0,9.288.661Z" transform="translate(3.212 2.486)" fill="none" stroke="#a2b4cb" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
<path id="Vector-2" data-name="Vector" d="M.012,0,0,5.833A4.243,4.243,0,0,0,2.711,9.6L6.679,10.92a4.783,4.783,0,0,0,2.512,0L13.159,9.6A4.243,4.243,0,0,0,15.87,5.833V.062" transform="translate(6.99 16.268)" fill="none" stroke="#a2b4cb" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
<path id="Vector-3" data-name="Vector" d="M0,7.463V0" transform="translate(26.616 11.194)" fill="none" stroke="#a2b4cb" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
<path id="Vector-4" data-name="Vector" d="M0,0H29.85V29.85H0Z" transform="translate(29.85 29.85) rotate(180)" fill="none" opacity="0"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.2 KiB

@ -0,0 +1,10 @@
<svg xmlns="http://www.w3.org/2000/svg" width="32.268" height="32.268" viewBox="0 0 32.268 32.268">
<g id="vuesax_linear_teacher2" data-name="vuesax/linear/teacher2" transform="translate(0 0)">
<g id="teacher" transform="translate(0 0)">
<path id="Vector" d="M10.04.714,1.946,6a4.284,4.284,0,0,0,0,7.18l8.094,5.284a5.257,5.257,0,0,0,5.3,0l8.054-5.284a4.284,4.284,0,0,0,0-7.166L15.338.728A5.226,5.226,0,0,0,10.04.714Z" transform="translate(3.472 2.687)" fill="none" stroke="#a2b4cb" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
<path id="Vector-2" data-name="Vector" d="M.013,0,0,6.306A4.587,4.587,0,0,0,2.931,10.38L7.22,11.8a5.17,5.17,0,0,0,2.716,0l4.289-1.425a4.587,4.587,0,0,0,2.931-4.074V.067" transform="translate(7.556 17.586)" fill="none" stroke="#a2b4cb" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
<path id="Vector-3" data-name="Vector" d="M0,8.067V0" transform="translate(28.773 12.101)" fill="none" stroke="#a2b4cb" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
<path id="Vector-4" data-name="Vector" d="M0,0H32.268V32.268H0Z" transform="translate(32.268 32.268) rotate(180)" fill="none" opacity="0"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 822 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 895 B

@ -282,7 +282,7 @@ const MyExamList = () => {
<div className="melc-content-item"> <div className="melc-content-item">
{item.isActive && {item.isActive &&
item.tab_content.map((item) => ( item.tab_content.map((item) => (
<Link to={`/dashboard/azmoon_list/enter_exam/${item.id}`} <Link to={`/azmoon_list/enter_exam/${item.id}`}
key={item.id} key={item.id}
className="melc-content-i-item" className="melc-content-i-item"
onMouseEnter={() => onMouseEnter={() =>

@ -0,0 +1,201 @@
/* @font-face {
font-family: IRANSansX-Bold;
src: url(../../../assets/font/IRANSansX/Webfonts/fonts/woff2/IRANSansX-Bold.woff2) format("woff2"),
url(../../../assets/font/IRANSansX/Webfonts/fonts/woff/IRANSansX-Bold.woff) format("woff");
}
@font-face {
font-family: IRANSansX-Regular;
src: url(../../../assets/font/IRANSansX/Webfonts/fonts/woff2/IRANSansX-Regular.woff2) format("woff2"),
url(../../../assets/font/IRANSansX/Webfonts/fonts/woff/IRANSansX-Regular.woff) format("woff");
}
@font-face {
font-family: IRANSansXFaNum-Regular;
src: url(../../../assets/font/IRANSansX/Farsi-numerals/IRANSansXFaNum-Regular.ttf) format("woff2"),
url(../../../assets/font/IRANSansX/Farsi-numerals/Webfonts/Woff/IRANSansXFaNum-Regular.woff) format("woff");
}
:root{
--font1:IRANSansX-Regular;
--font2:IRANSansX-Bold;
--font3:IRANSansXFaNum-Regular;
} */
.enter-exam{
width: 98vw;
position: absolute;
top: 0;
left: 0;
display: flex;
align-items: center;
justify-content: center;
/* background-image: url(../../../assets/azmoon-list/Group895.png); */
background-size: 100% 100%;
}
.enter-exam-box{
/* width: 466px; */
/* height: 662px; */
height: 70vh;
aspect-ratio: 0.7/1;
margin-top: 110px;
padding: 25px;
border: 2px solid #EBEBEB;
border-radius: 8px;
background-color: white;
}
.eeb-title-box{
width: 100%;
display: flex;
align-items: center;
flex-direction: column;
direction: rtl;
}
.eeb-title-box-title{
font-size: 18px;
color: #df1452;
font-family: var(--font2);
margin-top: 5px;
}
.eeb-title-box-subtitle{
font-size: 18px;
color: #A2B4CB;
font-family: var(--font1);
margin-top: 3px;
}
.eeb-name-box,
.eeb-level-box,
.eeb-date-box,
.eeb-guide-box,
.eeb-created-box{
width: 100%;
display: flex;
align-items: center;
direction: rtl;
padding: 9px 0;
border-bottom: 1px solid #F5F5F5;
font-family: var(--font1);
font-size: 13px;
}
.eeb-name-box-label,
.eeb-level-box-label,
.eeb-date-box-label,
.eeb-np-box-label,
.eeb-qt-box-label,
.eeb-mu-box-label,
.eeb-et-box-label,
.eeb-guide-box-label,
.eeb-created-box-label{
color: #A2B4CB;
margin-right: 3px;
}
.eeb-name-box-name,
.eeb-level-box-level,
.eeb-date-box-date,
.eeb-np-box-have,
.eeb-qt-box-type,
.eeb-mu-box-number,
.eeb-et-box-type,
.eeb-guide-box-have,
.eeb-created-box-file{
margin-right: 3px;
color: #132F52;
}
.eeb-date-box-date{
font-family: var(--font3);
}
.eeb-date-box-time{
margin-right: 6px;
font-family: var(--font3);
}
.eeb-negetive-point-and-question-type-box,.eeb-max-user-and-exam-type-box{
width: 100%;
display: flex;
align-items: center;
justify-content: space-between;
direction: rtl;
border-bottom: 1px solid #F5F5F5;
}
.eeb-np-box,.eeb-qt-box,.eeb-mu-box,.eeb-et-box{
display: flex;
align-items: center;
direction: rtl;
padding: 9px 0;
font-family: var(--font1);
font-size: 13px;
}
.eeb-created-box-img-container{
width: 25px;
height: 25px;
overflow: hidden;
border-radius: 50%;
}
.eeb-created-box-img-container img{
width: 100%;
height: 100%;
}
.eeb-guide-box-link{
color: #df1452;
text-decoration: none;
margin-right: 5px;
cursor: pointer;
}
.eeb-btn{
width: 100%;
height: 50px;
display: flex;
align-items: center;
justify-content: center;
color: white;
background-color: #df1452;
font-size: 20px;
font-family: var(--font1);
border-radius: 8px;
transition: all 0.5s;
cursor: pointer;
margin-top: 8%;
text-decoration: none;
transition: all 0.2s;
}
.eeb-btn:hover{
background-color: #df1452;
box-shadow: 0px 0px 15px rgba(0,0,0, 0.3);
}
.eeb-timer{
width: 100%;
height: 50px;
display: flex;
align-items: center;
justify-content: center;
text-align: center;
color: white;
background-color: rgb(175, 175, 175);
font-size: 14px;
font-family: var(--font3);
border-radius: 8px;
margin-top: 8%;
text-decoration: none;
direction: rtl;
}
.eeb-timer div {
margin-left: 5px;
}

@ -0,0 +1,398 @@
import "./index.css";
import { useSelector } from "react-redux";
import { useState } from "react";
import img0 from "../../../../assets/azmoon-list/test.png";
import icon1 from "../../../../assets/azmoon-list/stickynote.png";
import icon2 from "../../../../assets/azmoon-list/teacher.png";
import icon3 from "../../../../assets/azmoon-list/clock.png";
import icon4 from "../../../../assets/azmoon-list/message-minus.png";
import icon5 from "../../../../assets/azmoon-list/Group893.png";
import icon6 from "../../../../assets/azmoon-list/people.png";
import icon7 from "../../../../assets/azmoon-list/profile-2user.png";
import icon8 from "../../../../assets/azmoon-list/message-text-2.png";
import avatar from "../../../../assets/azmoon-list/tushar-khandagale-dvtAuBHBAVQ-unsplash.jpg";
// import img1 from '../../assets/store/amazing-suggest/ella-olsson-KPDbRyFOTnE-unsplash.jpg';
// import img2 from '../../assets/store/amazing-suggest/antoine-dautry-_zsL306fDck-unsplash.jpg';
// import img3 from '../../assets/store/amazing-suggest/ahmed-almakhzanji-kshkB1i5_5o-unsplash.jpg';
import { Link } from "react-router-dom";
import moment from "jalali-moment";
import { useEffect } from "react";
import { state } from "../../../../components/exam/Carousel/state";
// let common_data = [
// {
// id:1,
// img:img1,
// title:"آزمون آشپزی شرق آسیا",
// // price:458.200,
// price:"450.200",
// discounted_price:"405.000",
// discount:"10%",
// date:"28 آبان 1400",
// level:"پایه 1 الی 12",
// type:"گروهی",
// filter: "discounted",
// exam_filter:"none",
// user_num:100,
// max_user:130,
// time:"9:30",
// negetive_point:"دارد",
// question_type:"تشریحی و تستی",
// guide_file:"دارد",
// guide_file_link:"#",
// creator:{
// avatar:avatar,
// name:"موسسه فرهنگی مصباح نور"
// },
// },
// {
// id:2,
// img:img3,
// title:"آزمون زیست شناسی دهم",
// // price:458.200,
// price:"350.000",
// discounted_price:"305.000",
// discount:"10%",
// date:"28 آبان 1400",
// level:"کارشناسی",
// type:"گروهی",
// filter: "discounted",
// exam_filter:"live",
// user_num:100,
// max_user:130,
// time:"12:30",
// negetive_point:"دارد",
// question_type:"تشریحی و تستی",
// guide_file:"دارد",
// guide_file_link:"#",
// creator:{
// avatar:avatar,
// name:"موسسه فرهنگی مصباح نور"
// },
// },
// {
// id:3,
// img:img1,
// title:"آزمون آشپزی شرق آسیا",
// // price:458.200,
// price:"350.200",
// discounted_price:"305.000",
// discount:"10%",
// date:"28 آبان 1400",
// level:"پایه 1 الی 12",
// type:"گروهی",
// filter: "discounted",
// exam_filter:"none",
// user_num:100,
// max_user:130,
// time:"12:30",
// negetive_point:"دارد",
// question_type:"تشریحی و تستی",
// guide_file:"دارد",
// guide_file_link:"#",
// creator:{
// avatar:avatar,
// name:"موسسه فرهنگی مصباح نور"
// },
// },
// {
// id:4,
// img:img3,
// title:"آزمون روان درمانی اگزیستانسیال",
// // price:458.200,
// price:"458.200",
// discounted_price:"",
// discount:"",
// date:"28 آبان 1400",
// level:"پایه 1 الی 12",
// type:"گروهی",
// filter: "none",
// exam_filter:"collegiate",
// user_num:100,
// max_user:130,
// time:"10:30",
// negetive_point:"دارد",
// question_type:"تشریحی و تستی",
// guide_file:"دارد",
// guide_file_link:"#",
// creator:{
// avatar:avatar,
// name:"موسسه فرهنگی مصباح نور"
// },
// },
// {
// id:5,
// img:img2,
// title:"آزمون آشپزی شرق آسیا",
// // price:458.200,
// price:"458.200",
// discounted_price:"",
// discount:"",
// date:"28 آبان 1400",
// level:"پایه 1 الی 12",
// type:"گروهی",
// filter: "none",
// exam_filter:"collegiate",
// user_num:90,
// max_user:100,
// time:"11:30",
// negetive_point:"دارد",
// question_type:"تشریحی و تستی",
// guide_file:"دارد",
// guide_file_link:"#",
// creator:{
// avatar:avatar,
// name:"موسسه فرهنگی مصباح نور"
// },
// },
// {
// id:6,
// img:img1,
// title:"آزمون آشپزی شرق آسیا",
// // price:458.200,
// price:"458.200",
// discounted_price:"",
// discount:"",
// date:"28 آبان 1400",
// level:"پایه 1 الی 12",
// type:"گروهی",
// filter: "none",
// exam_filter:"none",
// user_num:100,
// max_user:120,
// time:"12:30",
// negetive_point:"دارد",
// question_type:"تشریحی و تستی",
// guide_file:"دارد",
// guide_file_link:"#",
// creator:{
// avatar:avatar,
// name:"موسسه فرهنگی مصباح نور"
// },
// },
// {
// id:7,
// img:img1,
// title:"آزمون آشپزی شرق آسیا",
// // price:458.200,
// price:"350.000",
// discounted_price:"",
// discount:"",
// date:"28 آبان 1400",
// level:"پایه 1 الی 12",
// type:"گروهی",
// filter: "none",
// exam_filter:"collegiate",
// user_num:100,
// max_user:130,
// time:"12:30",
// negetive_point:"دارد",
// question_type:"تشریحی و تستی",
// guide_file:"دارد",
// guide_file_link:"#",
// creator:{
// avatar:avatar,
// name:"موسسه فرهنگی مصباح نور"
// },
// },
// {
// id:8,
// img:img2,
// title:"آزمون آشپزی شرق آسیا",
// // price:458.200,
// price:"458.200",
// discounted_price:"رایگان",
// discount:"100%",
// date:"28 آبان 1400",
// level:"پایه 1 الی 12",
// type:"گروهی",
// filter: "free",
// exam_filter:"none",
// user_num:100,
// max_user:130,
// time:"12:30",
// negetive_point:"دارد",
// question_type:"تشریحی و تستی",
// guide_file:"دارد",
// guide_file_link:"#",
// creator:{
// avatar:avatar,
// name:"موسسه فرهنگی مصباح نور"
// },
// }
// ]
const EnterExam = ({ ID }) => {
// const state = useSelector((state) => state.default);
const [common_data] = useState(state);
console.log(common_data);
let data;
for (let i = 0; i < common_data.length; i++) {
if (common_data[i].id === Number(ID)) {
data = common_data[i];
}
}
console.log("cc:"+data);
//--today date--and timer setting-----------------------------
let today = new Date();
let examDate = new Date(data.date)
console.log(today);
console.log(examDate);
let diff = (examDate-today)/1000;
let d = Math.floor(diff/86400);
console.log(d);
let h = Math.floor((diff-(86400*d))/3600);
console.log(h);
let m = Math.floor((diff-(86400*d)-(h*3600))/60);
console.log(m);
let s = Math.floor(diff-(86400*d)-(h*3600)-(m*60));
console.log(s);
const [timer,setTimer]=useState({
d,h,m,s
})
useEffect(() => {
// console.log(sec);
if (timer.s >= 0 && diff > 0) {
setTimeout(() => {
// console.log("okdkdokodkd");
setTimer({
d,
h,
m,
s:s-1
});
if (timer.s === 0) {
setTimer({
d,
h,
m:m-1,
s:59
});
}
if (timer.m === 0) {
setTimer({
d,
h:h-1,
m:59,
s:59
});
}
if (timer.h === 0) {
setTimer({
d:d-1,
h:23,
m:59,
s:59
});
}
}, 1000);
}
});
//-------------------------------------------
moment.locale("en");
return (
<div className="enter-exam">
<div className="enter-exam-box">
<div className="eeb-title-box">
<img className="eeb-title-box-img" src={img0} alt="title-box-img" />
<div className="eeb-title-box-title">به {data?.name}</div>
<div className="eeb-title-box-subtitle">خوش آمدید</div>
</div>
<div className="eeb-name-box">
<img className="eeb-name-box-icon" src={icon1} alt="name-icon" />
<div className="eeb-name-box-label">نام آزمون:</div>
<div className="eeb-name-box-name">{data?.name.substr(6)}</div>
</div>
<div className="eeb-level-box">
<img className="eeb-level-box-icon" src={icon2} alt="name-icon" />
<div className="eeb-level-box-label">پایه تحصیلی:</div>
<div className="eeb-level-box-level">{data?.level}</div>
</div>
<div className="eeb-date-box">
<img className="eeb-date-box-icon" src={icon3} alt="name-icon" />
<div className="eeb-date-box-label">زمان آزمون:</div>
<div className="eeb-date-box-date">
{moment(data?.date, 'YYYY/MM/DD').format('jYYYY/jM/jD')}
</div>
<div className="eeb-date-box-time">ساعت
{examDate.getHours()}:{examDate.getMinutes()}
</div>
</div>
<div className="eeb-negetive-point-and-question-type-box">
<div className="eeb-np-box">
<img className="eeb-np-box-icon" src={icon4} alt="name-icon" />
<div className="eeb-np-box-label">نمره منفی:</div>
<div className="eeb-np-box-have">
{data?.negattiveMode && "دارد"}
{!data?.negattiveMode && "ندارد"}
</div>
</div>
<div className="eeb-qt-box">
<img className="eeb-qt-box-icon" src={icon5} alt="name-icon" />
<div className="eeb-qt-box-label">نوع سوالات:</div>
<div className="eeb-qt-box-type">{data?.types}</div>
</div>
</div>
<div className="eeb-max-user-and-exam-type-box">
<div className="eeb-mu-box">
<img className="eeb-mu-box-icon" src={icon6} alt="name-icon" />
<div className="eeb-mu-box-label">حدنصاب شرکت کنندگان: </div>
<div className="eeb-mu-box-number">{data?.capacity} نفر</div>
</div>
<div className="eeb-et-box">
<img className="eeb-et-box-icon" src={icon7} alt="name-icon" />
<div className="eeb-et-box-label">نوع شرکت در آزمون:</div>
<div className="eeb-et-box-type">
{data?.type===1 && "انفرادی"}
{data?.type===2 && "گروهی"}
</div>
</div>
</div>
<div className="eeb-guide-box">
<img className="eeb-guide-box-icon" src={icon8} alt="name-icon" />
<div className="eeb-guide-box-label">فایل راهنما:</div>
<div className="eeb-guide-box-have">
{data?.guideFileId && "دارد"}
{!data?.guideFileId && "ندارد"} -</div>
<Link
to={data?.guideFileId || "#"}
className="eeb-guide-box-link"
>
دریافت فایل
</Link>
</div>
<div className="eeb-created-box">
<div className="eeb-created-box-img-container">
<img
className="eeb-created-box-icon"
src={avatar}
alt="name-icon"
/>
</div>
<div className="eeb-created-box-label">ایجاد شده توسط</div>
<div className="eeb-created-box-file">موسسه فرهنگی مصباح نور</div>
</div>
{(new Date(data.date)<today) &&<Link
to={`/dashboard/azmoon_list/exam/${data?.id}`}
className="eeb-btn"
>
شروع آزمون
</Link>}
{(new Date(data.date)>today) &&
<div className="eeb-timer">
<div>{timer.d} روز و </div>
<div>{timer.h} ساعت و </div>
<div>{timer.m} دقیقه و </div>
<div>{timer.s} ثانیه </div>
<div>تا شروع آزمون</div>
</div>
}
</div>
</div>
);
};
export default EnterExam;

@ -0,0 +1,16 @@
import EnterExam from "./desktop";
import { useParams } from "react-router-dom";
// import MobileEnterExam from "../../component/mobile/azmoon-list/M_EnterExam";
const ENTER_EXAM = () => {
const { id } = useParams();
return (
<div className="ENTER_EXAM">
{window.innerWidth > 1000 && <EnterExam ID={id} />}
{/* {window.innerWidth < 1000 && <MobileEnterExam ID={id} />} */}
</div>
);
};
export default ENTER_EXAM;

@ -0,0 +1,483 @@
.Exam{
/* width: 100%; */
width: 98vw;
position: absolute;
top: 0;
left: 0;
display: flex;
text-align: right;
}
.Exam-sidebar{
width: 18%;
margin-left: 20px;
margin-top: 110px;
}
.Es-exam-info{
width: 18%;
border-radius: 17px;
border: 1px solid #F1F1F1;
padding: 10px 20px;
direction: rtl;
box-shadow: 0 0 38px rgba(173, 173, 173, 0.2);
position: fixed;
top: 110px;
left: 20px;
}
.Es-exam-info-with-scroll{
top:10px;
}
.Es-exam-info-p1{
width: 100%;
display: flex;
justify-content: space-between;
}
.Es-exam-info-p1-text{
}
.Es-eip1t-title{
display: flex;
align-items: center;
}
.Es-eip1t-title-text{
font-size: 11px;
/* font-family: IRANSansBold; */
color: #df1452;
margin-right: 5px;
}
.Es-eip1t-subtitle{
display: flex;
align-items: center;
margin-right: 10px;
margin-top: 2px;
}
.Es-eip1t-subtitle-text{
font-size: 8px;
/* font-family: IRANSans; */
color: #132F52;
margin-right: 1px;
}
.Es-eip1t-subtitle-icon{
color: #CEFDFF;
}
.Es-exam-info-p1-time{
font-size: 8px;
/* font-family: IRANSans; */
display: flex;
align-items: center;
padding: 3px;
background-color: #C8D7EA;
color: #013273;
height: fit-content !important;
}
.Es-eip1-time-icon{
font-size: 11px;
}
.Es-exam-info-p2{
width: 100%;
display: flex;
align-items: center;
justify-content: center;
}
.Es-eip2-text{
font-size: 13px;
/* font-family: IRANSansBold; */
color: #df1452;
margin-right: 5px;
}
.Es-eip2-timer{
font-size: 15px;
font-weight: bold;
color: #df1452;
margin-right: 5px;
}
.Es-exam-info-line{
width: 100%;
height: 1px;
background-color: #F9F9F9;
margin-top: 2px;
margin-bottom: 2px;
}
/* --------Exam-main---------------------------- */
.Exam-main{
width: 72%;
margin-left: 20px;
margin-top: 110px;
direction: rtl;
}
/* .Em-cover-top{
width: 58.31vw;
height: 86px;
position: fixed;
top: 0;
background-color: violet;
z-index: 6;
} */
.Em-progress-bar-container{
/* width: 58.31vw; */
width: 100%;
height: 40px;
overflow-x: hidden;
/* position: fixed;
top: 86px; */
/* right: 311px; */
background-color: white;
scroll-behavior: smooth;
}
.Em-progress-bar-container::-webkit-scrollbar{
width: 0;
height: 2px;
}
.Em-progress-bar-container::-webkit-scrollbar-thumb{
background-color: rgb(129, 128, 128);
}
.Em-progress-bar-container::-webkit-scrollbar-track{
background-color: rgb(214, 213, 213);
}
.Em_pbc_scroll{
width: 58.31vw;
position: fixed;
top: 0px;
box-sizing: content-box;
padding: 10px 0;
}
.Em-progress-bar{
/* width: 100%; */
display: flex;
align-items: center;
/* transform: translateX(40px); */
/* position: fixed;
top: 0;
right: 0; */
}
.Em-progress-bar-item{
display: flex;
align-items: center;
}
.Em-pbi-circle{
width: 35px;
height: 35px;
display: flex;
align-items: center;
justify-content: center;
border-radius: 50%;
background-color: #F5F5F5;
color: #A2B4CB;
font-size: 20px;
}
.Em-pbi-line{
color: #E0E0E0;
padding-bottom: 7px;
font-size: 15.9px;
}
.Em-questions-container{
width: 100%;
margin-top: 40px;
}
.Em-qc-item{
width: 100%;
}
.Em-qc-item-number{
width: 80px;
height: 30px;
display: flex;
align-items: center;
justify-content: center;
font-size: 18px;
/* font-family: IRANSans; */
background-color: #E8FCFF;
color: #132F52;
}
.Em-qc-item-question{
width: 100%;
font-size: 20px;
/* font-family: IRANSans; */
color: #132F52;
margin-top: 15px;
}
.Em-qc-item-choices{
width: 100%;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
/* margin-bottom: 20px; */
}
.Em-qc-item-choices-item{
/* flex: 2; */
/* width: 49%; */
flex-shrink: 0;
/* flex-grow: 1; */
display: flex;
align-items: center;
/* height: 50px; */
box-sizing: content-box;
padding: 5px 0;
background-color: #F5F5F5;
margin-top: 20px;
border-radius: 11px;
/* overflow: hidden; */
}
.Em-qc-item-choices-item-badge{
width: 75px;
height: 100%;
background-color: #E7E7E7;
flex-shrink: 0;
display: flex;
align-items: center;
justify-content: center;
font-size: 20px;
/* font-family: IRANSansBold; */
color: #132F52;
border-radius: 0 11px 11px 0;
box-sizing: content-box;
padding: 5px 0;
}
.Em-qc-item-choices-item-text{
height: 100%;
display: flex;
align-items: center;
font-size: 20px;
font-family: IRANSans;
color: #132F52;
padding-right: 10px;
padding-left: 10px;
}
.Em-qc-item-line{
width: 100%;
height: 1px;
background-color: #D6E6F9;
margin-top: 40px;
margin-bottom: 20px;
}
.Em-qc-item-answer-box{
width: 100%;
height: 150px;
display: flex;
align-items: center;
margin-top: 20px;
}
.Em-qc-item-answer-box-bade{
height: 100%;
width: 75px;
background-color: #E7E7E7;
display: flex;
align-items: center;
justify-content: center;
font-size: 20px;
/* font-family: IRANSansBold; */
color: #132F52;
border-radius: 0 11px 11px 0;
text-align: center;
}
.Em-qc-item-answer-box-input{
width: 100% !important;
height: 100%;
background-color: #F5F5F5;
border: none !important;
outline: none !important;
border-radius: 11px 0 0 11px;
resize: none;
font-size: 20px;
/* font-family: IRANSans; */
padding: 10px 10px;
}
.Em-qc-item-answer-box-input::-webkit-scrollbar{
width: 4px
}
.Em-qc-item-answer-box-input::-webkit-scrollbar-thumb{
background-color: rgb(129, 128, 128);
border-radius: 10px;
}
.Em-qc-item-answer-box-input::-webkit-scrollbar-track{
background-color: rgb(214, 213, 213);
border-radius: 10px;
}
.Em-qc-item-question-box{
width: 100%;
padding: 10px 10px;
border-radius: 11px;
display: flex;
align-items: center;
justify-content: center;
background-color: #F5F5F5;
margin-top: 15px;
}
.Em-qc-item-question-box img{
border-radius: 11px;
}
.Em-btn-container{
width: 100%;
height: 63px;
display: flex;
align-items: center;
margin-top: 20px;
margin-bottom: 20px;
}
.Em-btn-line{
width: 28%;
height: 3px;
background-color: #df1452;
}
.Em-btn{
width: 44%;
height: 100%;
display: flex;
align-items: center;
justify-content: center;
font-size: 22px;
color: white;
/* font-family: IRANSans; */
background-color: #df1452;
border-radius: 15px;
transition: 0.6s;
cursor: pointer;
}
.Em-btn:hover{
background-color: white;
color: #df1452;
border: 3px solid #df1452;
}
.EndExamModal{
width: 100vw;
height: 100vh;
position: fixed;
z-index: 20;
top: 0;
left: 0;
background-color: rgba(119, 118, 118, 0.5);
backdrop-filter: blur(10px);
}
.EndExamModal-title{
width: 100%;
text-align: center;
font-size: 30px;
margin-top: 40px;
/* font-family: IRANSans; */
}
.EndExamModal-early-result{
width: 60%;
margin: 0 auto;
height: 70vh;
border-radius: 10px;
background-color: white;
margin-top: 30px;
padding: 5px 10px;
position: relative;
}
.EndExamModal-early-result-title{
width: 100%;
padding: 10px 10px;
margin-top: 10px;
text-align: center;
/* font-family: IRANSans; */
font-size: 20px;
background-color: #df1452;
border-radius: 10px;
color: white;
}
.EndExamModal-early-result-item{
width: 100%;
padding: 10px;
display: flex;
align-items: center;
justify-content: space-between;
border: 1px solid #E0E0E0;
border-radius: 10px;
margin-top: 10px;
direction: rtl;
/* font-family: IRANSans; */
font-size: 16px;
}
.EndExamModal-btn-box{
width: 100%;
height: 40px;
display: flex;
align-items: center;
justify-content: space-between;
position: absolute;
bottom: 10px;
}
.EndExamModal-btn-box-line{
width: 30%;
height: 2px;
background-color: #df1452;
}
.EndExamModal-btn-box-btn{
width: 40%;
height: 100%;
border-radius: 10px;
background-color: #df1452;
color: white;
/* font-family: IRANSans; */
font-size: 16px;
display: flex;
align-items: center;
justify-content: center;
transition: all 0.4s;
cursor: pointer;
text-decoration: none;
}
.EndExamModal-btn-box-btn:hover{
background-color: white;
color: #013273;
}
/* -------------------responsive-setting------------------------------ */

File diff suppressed because it is too large Load Diff

@ -129,7 +129,7 @@ if (!isMobile){
style={{ marginTop: "5.5%" }} style={{ marginTop: "5.5%" }}
> >
<div <div
className="relative h-48 w-full border-b border-red82OP px-10" className="relative h-48 w-full border-b border-red82OP my-4 px-10"
style={{ direction: "ltr" }} style={{ direction: "ltr" }}
> >
{/* { {/* {
@ -168,157 +168,157 @@ if (!isMobile){
/> />
</div> </div>
{/* filters */} {/* filters */}
<div className="flex mx-2 my-4 justify-center"> {gameId != 6 && <div className="flex mx-2 my-4 justify-center">
<div className="flex items-center "> <div className="flex items-center ">
<svg <svg
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
width="40" width="40"
height="40" height="40"
viewBox="0 0 14.378 14.378" viewBox="0 0 14.378 14.378"
> >
<g <g
id="vuesax_linear_filter-tick" id="vuesax_linear_filter-tick"
data-name="vuesax/linear/filter-tick" data-name="vuesax/linear/filter-tick"
transform="translate(-620 -700)" transform="translate(-620 -700)"
> >
<g id="filter-tick" transform="translate(620 700)"> <g id="filter-tick" transform="translate(620 700)">
<path
id="Vector"
d="M5.691,2.846a2.8,2.8,0,0,1-.407,1.468A2.836,2.836,0,0,1,2.846,5.691,2.768,2.768,0,0,1,1.312,5.23a2.685,2.685,0,0,1-.9-.917A2.807,2.807,0,0,1,0,2.846,2.848,2.848,0,0,1,2.846,0a2.648,2.648,0,0,1,.623.072A2.84,2.84,0,0,1,5.691,2.846Z"
transform="translate(7.267 5.991)"
fill="none"
stroke="#696969"
strokeLinecap="round"
strokeLinejoin="round"
strokeWidth="0.6"
/>
<path
id="Vector-2"
data-name="Vector"
d="M0,.7l.7.7L2.217,0"
transform="translate(9.004 8.136)"
fill="none"
stroke="#696969"
strokeLinecap="round"
strokeLinejoin="round"
strokeWidth="0.6"
/>
<path
id="Vector-3"
data-name="Vector"
d="M0,0H14.378V14.378H0Z"
transform="translate(14.378 14.378) rotate(180)"
fill="none"
opacity="0"
/>
<g id="Group" transform="translate(1.983 1.198)">
<path
id="Vector-4"
data-name="Vector"
d="M10.412,1.21V2.54a2.292,2.292,0,0,1-.605,1.4l-1.054.929a2.648,2.648,0,0,0-.623-.072A2.848,2.848,0,0,0,5.284,7.638,2.807,2.807,0,0,0,5.7,9.106a2.685,2.685,0,0,0,.9.917v.2a1.336,1.336,0,0,1-.545,1.03l-.845.545a1.233,1.233,0,0,1-1.875-1.03V7.567A2.342,2.342,0,0,0,2.846,6.3l-2.3-2.42A2.041,2.041,0,0,1,0,2.666V1.27A1.229,1.229,0,0,1,1.21,0H9.2A1.215,1.215,0,0,1,10.412,1.21Z"
fill="none"
stroke="#696969"
strokeLinecap="round"
strokeLinejoin="round"
strokeWidth="0.6"
/>
</g>
</g>
</g>
</svg>
</div>
<div className="flex items-center mx-4 pl-6 border-l-2 border-gray-300">
<div
className={`flex w-32 border-2 p-2 mx-2 justify-center items-center rounded-md cursor-pointer
hover:border-red52 hover:text-red52 hover:bg-pinkF5
${
filterCheck[0]
? "border-red52 text-red52 bg-pinkF5"
: "border-gray200 text-gray-400"
}`}
onClick={(prevState) =>
setFilterCheck([
...prevState,
(filterCheck[0] = !filterCheck[0]),
])
}
>
<h3>آنلاین</h3>
{filterCheck[0] && (
<div className="flex w-full" style={{ direction: "ltr" }}>
<div className="w-4 h-4 text-white text-sm rounded-full flex justify-center items-center bg-red52">
<svg
width="37"
height="37"
viewBox="0 0 24 24"
fill="none"
xmlns="http://www.w3.org/2000/svg"
>
<path <path
id="Vector" d="M7.75 12L10.58 14.83L16.25 9.17004"
d="M5.691,2.846a2.8,2.8,0,0,1-.407,1.468A2.836,2.836,0,0,1,2.846,5.691,2.768,2.768,0,0,1,1.312,5.23a2.685,2.685,0,0,1-.9-.917A2.807,2.807,0,0,1,0,2.846,2.848,2.848,0,0,1,2.846,0a2.648,2.648,0,0,1,.623.072A2.84,2.84,0,0,1,5.691,2.846Z" stroke="#fff"
transform="translate(7.267 5.991)" strokeWidth="1.5"
fill="none"
stroke="#696969"
strokeLinecap="round" strokeLinecap="round"
strokeLinejoin="round" strokeLinejoin="round"
strokeWidth="0.6"
/> />
</svg>
</div>
</div>
)}
</div>
<div
className={`flex w-32 border-2 p-2 mx-2 justify-center items-center rounded-md cursor-pointer
hover:border-red52 hover:text-red52 hover:bg-pinkF5
${
filterCheck[0]
? "border-red52 text-red52 bg-pinkF5"
: "border-gray200 text-gray-400"
}`}
onClick={(prevState) =>
setFilterCheck([
...prevState,
(filterCheck[0] = !filterCheck[0]),
])
}
>
<h3>حضوری</h3>
{filterCheck[0] && (
<div className="flex w-full" style={{ direction: "ltr" }}>
<div className="w-4 h-4 text-white text-sm rounded-full flex justify-center items-center bg-red52">
<svg
width="37"
height="37"
viewBox="0 0 24 24"
fill="none"
xmlns="http://www.w3.org/2000/svg"
>
<path <path
id="Vector-2" d="M7.75 12L10.58 14.83L16.25 9.17004"
data-name="Vector" stroke="#fff"
d="M0,.7l.7.7L2.217,0" strokeWidth="1.5"
transform="translate(9.004 8.136)"
fill="none"
stroke="#696969"
strokeLinecap="round" strokeLinecap="round"
strokeLinejoin="round" strokeLinejoin="round"
strokeWidth="0.6"
/> />
<path </svg>
id="Vector-3" </div>
data-name="Vector"
d="M0,0H14.378V14.378H0Z"
transform="translate(14.378 14.378) rotate(180)"
fill="none"
opacity="0"
/>
<g id="Group" transform="translate(1.983 1.198)">
<path
id="Vector-4"
data-name="Vector"
d="M10.412,1.21V2.54a2.292,2.292,0,0,1-.605,1.4l-1.054.929a2.648,2.648,0,0,0-.623-.072A2.848,2.848,0,0,0,5.284,7.638,2.807,2.807,0,0,0,5.7,9.106a2.685,2.685,0,0,0,.9.917v.2a1.336,1.336,0,0,1-.545,1.03l-.845.545a1.233,1.233,0,0,1-1.875-1.03V7.567A2.342,2.342,0,0,0,2.846,6.3l-2.3-2.42A2.041,2.041,0,0,1,0,2.666V1.27A1.229,1.229,0,0,1,1.21,0H9.2A1.215,1.215,0,0,1,10.412,1.21Z"
fill="none"
stroke="#696969"
strokeLinecap="round"
strokeLinejoin="round"
strokeWidth="0.6"
/>
</g>
</g>
</g>
</svg>
</div>
<div className="flex items-center mx-4 pl-6 border-l-2 border-gray-300">
<div
className={`flex w-32 border-2 p-2 mx-2 justify-center items-center rounded-md cursor-pointer
hover:border-red52 hover:text-red52 hover:bg-pinkF5
${
filterCheck[0]
? "border-red52 text-red52 bg-pinkF5"
: "border-gray200 text-gray-400"
}`}
onClick={(prevState) =>
setFilterCheck([
...prevState,
(filterCheck[0] = !filterCheck[0]),
])
}
>
<h3>آنلاین</h3>
{filterCheck[0] && (
<div className="flex w-full" style={{ direction: "ltr" }}>
<div className="w-4 h-4 text-white text-sm rounded-full flex justify-center items-center bg-red52">
<svg
width="37"
height="37"
viewBox="0 0 24 24"
fill="none"
xmlns="http://www.w3.org/2000/svg"
>
<path
d="M7.75 12L10.58 14.83L16.25 9.17004"
stroke="#fff"
strokeWidth="1.5"
strokeLinecap="round"
strokeLinejoin="round"
/>
</svg>
</div>
</div>
)}
</div> </div>
<div
className={`flex w-32 border-2 p-2 mx-2 justify-center items-center rounded-md cursor-pointer
hover:border-red52 hover:text-red52 hover:bg-pinkF5
${
filterCheck[0]
? "border-red52 text-red52 bg-pinkF5"
: "border-gray200 text-gray-400"
}`}
onClick={(prevState) =>
setFilterCheck([
...prevState,
(filterCheck[0] = !filterCheck[0]),
])
}
>
<h3>حضوری</h3>
{filterCheck[0] && (
<div className="flex w-full" style={{ direction: "ltr" }}>
<div className="w-4 h-4 text-white text-sm rounded-full flex justify-center items-center bg-red52">
<svg
width="37"
height="37"
viewBox="0 0 24 24"
fill="none"
xmlns="http://www.w3.org/2000/svg"
>
<path
d="M7.75 12L10.58 14.83L16.25 9.17004"
stroke="#fff"
strokeWidth="1.5"
strokeLinecap="round"
strokeLinejoin="round"
/>
</svg>
</div>
</div>
)} )}
</div> </div>
</div> </div>
<div className="flex items-center mx-4 pl-6"> <div className="flex items-center mx-4 pl-6">
<select className="bg-white border border-solid border-gray-300 w-72 p-3 rounded-lg text-gray-400 outline-red52"> <select className="bg-white border border-solid border-gray-300 w-72 p-3 rounded-lg text-gray-400 outline-red52">
{services.map((item, index) => ( {services.map((item, index) => (
<option key={`Grade__${index}`}>{item.title}</option> <option key={`Grade__${index}`}>{item.title}</option>
))} ))}
</select> </select>
</div> </div>
</div> </div>}
<div <div
className={`flex ${ className={`flex ${

Loading…
Cancel
Save