|
|
@ -1,3 +1,5 @@ |
|
|
|
|
|
|
|
import React from 'react'; |
|
|
|
|
|
|
|
import { useLocation } from 'react-router-dom'; |
|
|
|
import './Header.scss'; |
|
|
|
import './Header.scss'; |
|
|
|
import searchIcon from "../../assets/img/Group 1148.svg"; |
|
|
|
import searchIcon from "../../assets/img/Group 1148.svg"; |
|
|
|
import moment from "jalali-moment"; |
|
|
|
import moment from "jalali-moment"; |
|
|
@ -11,7 +13,7 @@ import arrowIcon from './MobileSideMenu/arrow-down.svg' |
|
|
|
import exitIcon from '../../assets/img/group-9.svg' |
|
|
|
import exitIcon from '../../assets/img/group-9.svg' |
|
|
|
|
|
|
|
|
|
|
|
const Header = ({ |
|
|
|
const Header = ({ |
|
|
|
isMobile |
|
|
|
isMobile, cart |
|
|
|
}) => { |
|
|
|
}) => { |
|
|
|
let today = moment().locale("fa").format("YYYY/M/D"); |
|
|
|
let today = moment().locale("fa").format("YYYY/M/D"); |
|
|
|
console.log("today:"); |
|
|
|
console.log("today:"); |
|
|
@ -22,7 +24,7 @@ const Header = ({ |
|
|
|
console.log(weekday); |
|
|
|
console.log(weekday); |
|
|
|
const [menuPopup, setMenuPopup] = useState(false); |
|
|
|
const [menuPopup, setMenuPopup] = useState(false); |
|
|
|
const [subMenu, setSubMenu] = useState(false); |
|
|
|
const [subMenu, setSubMenu] = useState(false); |
|
|
|
|
|
|
|
const location = useLocation(); |
|
|
|
|
|
|
|
|
|
|
|
return ( |
|
|
|
return ( |
|
|
|
<> |
|
|
|
<> |
|
|
@ -32,13 +34,13 @@ const Header = ({ |
|
|
|
subMenu && <div className={`w-1/6 p-4 flex flex-col text-right bg-white shadow-xl absolute top-[108.5%] rounded-lg left-5 transition duration-700 ease-in-out ${subMenu && 'subMenu'}`} |
|
|
|
subMenu && <div className={`w-1/6 p-4 flex flex-col text-right bg-white shadow-xl absolute top-[108.5%] rounded-lg left-5 transition duration-700 ease-in-out ${subMenu && 'subMenu'}`} |
|
|
|
|
|
|
|
|
|
|
|
> |
|
|
|
> |
|
|
|
<Link to='/adminpanel' className='w-full text-right border-b border-gray-200 py-2'> |
|
|
|
<Link to='/adminpanel' onClick={() => setSubMenu(false)} className='w-full text-right border-b border-gray-200 py-2'> |
|
|
|
ورود به پنل ادمین |
|
|
|
ورود به پنل ادمین |
|
|
|
</Link> |
|
|
|
</Link> |
|
|
|
<Link to='/adminpanel/add-exam' className='w-full text-right border-b border-gray-200 py-2'> |
|
|
|
<Link to='/adminpanel/add-exam' onClick={() => setSubMenu(false)} className='w-full text-right border-b border-gray-200 py-2'> |
|
|
|
ورود به صفحه افزودن آزمون |
|
|
|
ورود به صفحه افزودن آزمون |
|
|
|
</Link> |
|
|
|
</Link> |
|
|
|
<Link to='/adminpanel/add-product' className='w-full text-right border-b border-gray-200 py-2'> |
|
|
|
<Link to='/adminpanel/add-product' onClick={() => setSubMenu(false)} className='w-full text-right border-b border-gray-200 py-2'> |
|
|
|
ورود به صفحه افزودن محصول |
|
|
|
ورود به صفحه افزودن محصول |
|
|
|
</Link> |
|
|
|
</Link> |
|
|
|
</div> |
|
|
|
</div> |
|
|
@ -54,24 +56,25 @@ const Header = ({ |
|
|
|
<path d="M3 20H21" stroke="#df1452" strokeWidth="1.5" strokeLinecap="round" /> |
|
|
|
<path d="M3 20H21" stroke="#df1452" strokeWidth="1.5" strokeLinecap="round" /> |
|
|
|
</svg> |
|
|
|
</svg> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
<Link to='/'> <img src={logoIcon} className="h-10"/> </Link> |
|
|
|
<Link to='/'> <img src={logoIcon} className="h-10" /> </Link> |
|
|
|
<Link to='/shoppingCart'> |
|
|
|
<Link to='/shoppingCart'> |
|
|
|
<div> |
|
|
|
<div className='flex flex-col'> |
|
|
|
|
|
|
|
<div className='absolute left-8 top-3 bg-red52 w-4 h-4 rounded-full text-xs flex items-center justify-center text-white'>{cart?.length}</div> |
|
|
|
<svg width="35" height="35" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> |
|
|
|
<svg width="35" height="35" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> |
|
|
|
<path d="M7.5 7.67001V6.70001C7.5 4.45001 9.31 2.24001 11.56 2.03001C14.24 1.77001 16.5 3.88001 16.5 6.51001V7.89001" stroke="#df1452" strokeWidth="1.5" strokeMiterlimit="10" strokeLinecap="round" strokeLinejoin="round"/> |
|
|
|
<path d="M7.5 7.67001V6.70001C7.5 4.45001 9.31 2.24001 11.56 2.03001C14.24 1.77001 16.5 3.88001 16.5 6.51001V7.89001" stroke="#df1452" strokeWidth="1.5" strokeMiterlimit="10" strokeLinecap="round" strokeLinejoin="round" /> |
|
|
|
<path d="M8.99999 22H15C19.02 22 19.74 20.39 19.95 18.43L20.7 12.43C20.97 9.99 20.27 8 16 8H7.99999C3.72999 8 3.02999 9.99 3.29999 12.43L4.04999 18.43C4.25999 20.39 4.97999 22 8.99999 22Z" stroke="#df1452" strokeWidth="1.5" strokeMiterlimit="10" strokeLinecap="round" strokeLinejoin="round"/> |
|
|
|
<path d="M8.99999 22H15C19.02 22 19.74 20.39 19.95 18.43L20.7 12.43C20.97 9.99 20.27 8 16 8H7.99999C3.72999 8 3.02999 9.99 3.29999 12.43L4.04999 18.43C4.25999 20.39 4.97999 22 8.99999 22Z" stroke="#df1452" strokeWidth="1.5" strokeMiterlimit="10" strokeLinecap="round" strokeLinejoin="round" /> |
|
|
|
<path d="M15.4955 12H15.5045" stroke="#df1452" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round"/> |
|
|
|
<path d="M15.4955 12H15.5045" stroke="#df1452" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round" /> |
|
|
|
<path d="M8.49451 12H8.50349" stroke="#df1452" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round"/> |
|
|
|
<path d="M8.49451 12H8.50349" stroke="#df1452" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round" /> |
|
|
|
</svg> |
|
|
|
</svg> |
|
|
|
|
|
|
|
|
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</Link> |
|
|
|
</Link> |
|
|
|
</div> : |
|
|
|
</div> : |
|
|
|
<> |
|
|
|
<> |
|
|
|
{window.location.pathname.includes('adminpanel') ? <div></div> : |
|
|
|
{location.pathname.includes('adminpanel') ? <div></div> : |
|
|
|
<> |
|
|
|
<> |
|
|
|
<div className="header-profile h-full flex items-center"> |
|
|
|
<div className="header-profile h-full flex items-center"> |
|
|
|
<img src={arrowIcon} className=" ml-4 w-6" onClick={() => setSubMenu(!subMenu)}/> |
|
|
|
<img src={arrowIcon} className=" ml-4 w-6" onClick={() => setSubMenu(!subMenu)} /> |
|
|
|
<div className="header-profile-img-container w-10 h-10 bg-color2 ml-2 rounded-full overflow-hidden"> |
|
|
|
<div className="header-profile-img-container w-10 h-10 bg-color2 ml-2 rounded-full overflow-hidden"> |
|
|
|
<img src={avatar1} alt="avatar1" className='w-full' /> |
|
|
|
<img src={avatar1} alt="avatar1" className='w-full' /> |
|
|
|
</div> |
|
|
|
</div> |
|
|
@ -143,7 +146,7 @@ const Header = ({ |
|
|
|
onClick={() => setMenuPopup(false)} |
|
|
|
onClick={() => setMenuPopup(false)} |
|
|
|
|
|
|
|
|
|
|
|
> |
|
|
|
> |
|
|
|
<img src={exitIcon} className="w-full"/> |
|
|
|
<img src={exitIcon} className="w-full" /> |
|
|
|
|
|
|
|
|
|
|
|
</button> |
|
|
|
</button> |
|
|
|
</div> |
|
|
|
</div> |
|
|
@ -155,6 +158,7 @@ const Header = ({ |
|
|
|
|
|
|
|
|
|
|
|
const mapStateToProps = (state) => ({ |
|
|
|
const mapStateToProps = (state) => ({ |
|
|
|
isMobile: state.publicApi.isMobile, |
|
|
|
isMobile: state.publicApi.isMobile, |
|
|
|
|
|
|
|
cart: state.userProduct.list |
|
|
|
}); |
|
|
|
}); |
|
|
|
const mapDispatchToProps = { |
|
|
|
const mapDispatchToProps = { |
|
|
|
}; |
|
|
|
}; |
|
|
|