|
|
@ -3,7 +3,7 @@ import { book, publicApi, userProduct } from "../../redux/actions"; |
|
|
|
import { connect } from "react-redux"; |
|
|
|
import { connect } from "react-redux"; |
|
|
|
import { Link } from "react-router-dom"; |
|
|
|
import { Link } from "react-router-dom"; |
|
|
|
import Product from "../../components/Product"; |
|
|
|
import Product from "../../components/Product"; |
|
|
|
import ScrollContainer from 'react-indiana-drag-scroll' |
|
|
|
// import ScrollContainer from 'react-indiana-drag-scroll'
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
import img1 from "../../assets/img/Group 1344.svg"; |
|
|
|
import img1 from "../../assets/img/Group 1344.svg"; |
|
|
@ -15,7 +15,7 @@ import img6 from "../../assets/img/Group 1362.svg"; |
|
|
|
import ShoppingCart from "../../components/ShoppingCart"; |
|
|
|
import ShoppingCart from "../../components/ShoppingCart"; |
|
|
|
import ServicePopUp from "./service"; |
|
|
|
import ServicePopUp from "./service"; |
|
|
|
import Games from "../dashboard2/Games"; |
|
|
|
import Games from "../dashboard2/Games"; |
|
|
|
import Packages from "../dashboard2/Packages"; |
|
|
|
// import Packages from "../dashboard2/Packages";
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -34,14 +34,7 @@ const Services = ({ |
|
|
|
videos, |
|
|
|
videos, |
|
|
|
pushToCart, |
|
|
|
pushToCart, |
|
|
|
}) => { |
|
|
|
}) => { |
|
|
|
const [checked, setChecked] = useState([ |
|
|
|
|
|
|
|
false, |
|
|
|
|
|
|
|
false, |
|
|
|
|
|
|
|
false, |
|
|
|
|
|
|
|
false, |
|
|
|
|
|
|
|
false, |
|
|
|
|
|
|
|
false, |
|
|
|
|
|
|
|
]); |
|
|
|
|
|
|
|
const [filterCheck, setFilterCheck] = useState([false, false, false, false]); |
|
|
|
const [filterCheck, setFilterCheck] = useState([false, false, false, false]); |
|
|
|
const [filter, setFilter] = useState({ |
|
|
|
const [filter, setFilter] = useState({ |
|
|
|
search: "", |
|
|
|
search: "", |
|
|
@ -61,9 +54,9 @@ const Services = ({ |
|
|
|
classMinute: "", |
|
|
|
classMinute: "", |
|
|
|
}); |
|
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
const onChange = (name, value) => { |
|
|
|
// const onChange = (name, value) => {
|
|
|
|
setFilter({ ...filter, [name]: value }); |
|
|
|
// setFilter({ ...filter, [name]: value });
|
|
|
|
}; |
|
|
|
// };
|
|
|
|
|
|
|
|
|
|
|
|
useEffect(() => { |
|
|
|
useEffect(() => { |
|
|
|
getList(); |
|
|
|
getList(); |
|
|
@ -439,144 +432,146 @@ if (!isMobile){ |
|
|
|
/> |
|
|
|
/> |
|
|
|
<div className="w-11/12 border-b border-gray-200"></div> |
|
|
|
<div className="w-11/12 border-b border-gray-200"></div> |
|
|
|
|
|
|
|
|
|
|
|
<div className="flex items-center mx-4 my-4"> |
|
|
|
{ |
|
|
|
<svg |
|
|
|
gameId !== 6 && <div className="flex items-center mx-4 my-4"> |
|
|
|
xmlns="http://www.w3.org/2000/svg" |
|
|
|
<svg |
|
|
|
width="40" |
|
|
|
xmlns="http://www.w3.org/2000/svg" |
|
|
|
height="40" |
|
|
|
width="40" |
|
|
|
viewBox="0 0 14.378 14.378" |
|
|
|
height="40" |
|
|
|
> |
|
|
|
viewBox="0 0 14.378 14.378" |
|
|
|
<g |
|
|
|
|
|
|
|
id="vuesax_linear_filter-tick" |
|
|
|
|
|
|
|
data-name="vuesax/linear/filter-tick" |
|
|
|
|
|
|
|
transform="translate(-620 -700)" |
|
|
|
|
|
|
|
> |
|
|
|
> |
|
|
|
<g id="filter-tick" transform="translate(620 700)"> |
|
|
|
<g |
|
|
|
<path |
|
|
|
id="vuesax_linear_filter-tick" |
|
|
|
id="Vector" |
|
|
|
data-name="vuesax/linear/filter-tick" |
|
|
|
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(-620 -700)" |
|
|
|
transform="translate(7.267 5.991)" |
|
|
|
> |
|
|
|
fill="none" |
|
|
|
<g id="filter-tick" transform="translate(620 700)"> |
|
|
|
stroke="#696969" |
|
|
|
<path |
|
|
|
strokeLinecap="round" |
|
|
|
id="Vector" |
|
|
|
strokeLinejoin="round" |
|
|
|
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" |
|
|
|
strokeWidth="0.6" |
|
|
|
transform="translate(7.267 5.991)" |
|
|
|
/> |
|
|
|
fill="none" |
|
|
|
<path |
|
|
|
stroke="#696969" |
|
|
|
id="Vector-2" |
|
|
|
strokeLinecap="round" |
|
|
|
data-name="Vector" |
|
|
|
strokeLinejoin="round" |
|
|
|
d="M0,.7l.7.7L2.217,0" |
|
|
|
strokeWidth="0.6" |
|
|
|
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 |
|
|
|
<path |
|
|
|
id="Vector-4" |
|
|
|
id="Vector-2" |
|
|
|
data-name="Vector" |
|
|
|
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" |
|
|
|
d="M0,.7l.7.7L2.217,0" |
|
|
|
|
|
|
|
transform="translate(9.004 8.136)" |
|
|
|
fill="none" |
|
|
|
fill="none" |
|
|
|
stroke="#696969" |
|
|
|
stroke="#696969" |
|
|
|
strokeLinecap="round" |
|
|
|
strokeLinecap="round" |
|
|
|
strokeLinejoin="round" |
|
|
|
strokeLinejoin="round" |
|
|
|
strokeWidth="0.6" |
|
|
|
strokeWidth="0.6" |
|
|
|
/> |
|
|
|
/> |
|
|
|
</g> |
|
|
|
<path |
|
|
|
</g> |
|
|
|
id="Vector-3" |
|
|
|
</g> |
|
|
|
data-name="Vector" |
|
|
|
</svg> |
|
|
|
d="M0,0H14.378V14.378H0Z" |
|
|
|
<div |
|
|
|
transform="translate(14.378 14.378) rotate(180)" |
|
|
|
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" |
|
|
|
fill="none" |
|
|
|
xmlns="http://www.w3.org/2000/svg" |
|
|
|
opacity="0" |
|
|
|
> |
|
|
|
/> |
|
|
|
|
|
|
|
<g id="Group" transform="translate(1.983 1.198)"> |
|
|
|
<path |
|
|
|
<path |
|
|
|
d="M7.75 12L10.58 14.83L16.25 9.17004" |
|
|
|
id="Vector-4" |
|
|
|
stroke="#fff" |
|
|
|
data-name="Vector" |
|
|
|
strokeWidth="1.5" |
|
|
|
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" |
|
|
|
strokeLinecap="round" |
|
|
|
strokeLinejoin="round" |
|
|
|
strokeLinejoin="round" |
|
|
|
|
|
|
|
strokeWidth="0.6" |
|
|
|
/> |
|
|
|
/> |
|
|
|
</svg> |
|
|
|
</g> |
|
|
|
|
|
|
|
</g> |
|
|
|
|
|
|
|
</g> |
|
|
|
|
|
|
|
</svg> |
|
|
|
|
|
|
|
<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 |
|
|
|
<div |
|
|
|
className={`flex w-32 border-2 p-2 mx-2 justify-center items-center rounded-md cursor-pointer
|
|
|
|
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
|
|
|
|
hover:border-red52 hover:text-red52 hover:bg-pinkF5
|
|
|
|
${ |
|
|
|
${ |
|
|
|
filterCheck[1] |
|
|
|
filterCheck[1] |
|
|
|
? "border-red52 text-red52 bg-pinkF5" |
|
|
|
? "border-red52 text-red52 bg-pinkF5" |
|
|
|
: "border-gray200 text-gray-400" |
|
|
|
: "border-gray200 text-gray-400" |
|
|
|
}`}
|
|
|
|
}`}
|
|
|
|
onClick={(prevState) => |
|
|
|
onClick={(prevState) => |
|
|
|
setFilterCheck([ |
|
|
|
setFilterCheck([ |
|
|
|
...prevState, |
|
|
|
...prevState, |
|
|
|
(filterCheck[0] = !filterCheck[0]), |
|
|
|
(filterCheck[0] = !filterCheck[0]), |
|
|
|
]) |
|
|
|
]) |
|
|
|
} |
|
|
|
} |
|
|
|
> |
|
|
|
> |
|
|
|
<h3>حضوری</h3> |
|
|
|
<h3>حضوری</h3> |
|
|
|
{filterCheck[0] && ( |
|
|
|
{filterCheck[0] && ( |
|
|
|
<div className="flex w-full" style={{ direction: "ltr" }}> |
|
|
|
<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"> |
|
|
|
<div className="w-4 h-4 text-white text-sm rounded-full flex justify-center items-center bg-red52"> |
|
|
|
<svg |
|
|
|
<svg |
|
|
|
width="37" |
|
|
|
width="37" |
|
|
|
height="37" |
|
|
|
height="37" |
|
|
|
viewBox="0 0 24 24" |
|
|
|
viewBox="0 0 24 24" |
|
|
|
fill="none" |
|
|
|
fill="none" |
|
|
|
xmlns="http://www.w3.org/2000/svg" |
|
|
|
xmlns="http://www.w3.org/2000/svg" |
|
|
|
> |
|
|
|
> |
|
|
|
<path |
|
|
|
<path |
|
|
|
d="M7.75 12L10.58 14.83L16.25 9.17004" |
|
|
|
d="M7.75 12L10.58 14.83L16.25 9.17004" |
|
|
|
stroke="#fff" |
|
|
|
stroke="#fff" |
|
|
|
strokeWidth="1.5" |
|
|
|
strokeWidth="1.5" |
|
|
|
strokeLinecap="round" |
|
|
|
strokeLinecap="round" |
|
|
|
strokeLinejoin="round" |
|
|
|
strokeLinejoin="round" |
|
|
|
/> |
|
|
|
/> |
|
|
|
</svg> |
|
|
|
</svg> |
|
|
|
|
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
)} |
|
|
|
)} |
|
|
|
|
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
} |
|
|
|
<div className="w-11/12 border-b border-gray-200"></div> |
|
|
|
<div className="w-11/12 border-b border-gray-200"></div> |
|
|
|
|
|
|
|
|
|
|
|
<div |
|
|
|
<div |
|
|
@ -652,6 +647,34 @@ if (!isMobile){ |
|
|
|
/> |
|
|
|
/> |
|
|
|
</Link> |
|
|
|
</Link> |
|
|
|
))} |
|
|
|
))} |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
gameId == 6 &&
|
|
|
|
|
|
|
|
<div className="w-full p-8 py-10 flex flex-col justify-between items-center " > |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<div className="w-full text-right mb-4"> |
|
|
|
|
|
|
|
<h1 className="text-red26 font-bold">افزایش مبلغ دلخواه</h1> |
|
|
|
|
|
|
|
<p className="text-red26 text-sm">لطفا مبلغ دلخواه خود را در کادر روبرو وارد کنید</p> |
|
|
|
|
|
|
|
</div> |
|
|
|
|
|
|
|
<div className="flex w-full mb-4"> |
|
|
|
|
|
|
|
<input
|
|
|
|
|
|
|
|
placeholder="12,000,000" |
|
|
|
|
|
|
|
className="border border-red5B rounded-lg h-14 w-3/4 text-center rounded-l-none border-l-0 px-4 outline-none" |
|
|
|
|
|
|
|
/><p className="border flex justify-center items-center border-red5B rounded-lg h-14 w-1/4 text-center rounded-r-none border-r-0 px-4">ریال</p> |
|
|
|
|
|
|
|
</div> |
|
|
|
|
|
|
|
<div className="flex w-full mb-4"> |
|
|
|
|
|
|
|
<p className="border flex justify-center items-center border-red52 rounded-lg h-14 w-1/5 text-center rounded-l-none border-l-0 px-10">بابت</p> |
|
|
|
|
|
|
|
<input
|
|
|
|
|
|
|
|
placeholder="شارژ حساب" |
|
|
|
|
|
|
|
className="border border-red52 rounded-lg h-14 w-4/5 text-center rounded-r-none border-r-0 px-4 outline-none" |
|
|
|
|
|
|
|
/> |
|
|
|
|
|
|
|
</div> |
|
|
|
|
|
|
|
<button className="cursor-pointer text-blue52 border border-blueDF w-full rounded-lg font-bold text-sm px-6 h-14" |
|
|
|
|
|
|
|
style={{background: 'rgba(211, 246, 255, 0.44)'}}> |
|
|
|
|
|
|
|
افزودن به سبد خرید |
|
|
|
|
|
|
|
</button> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</div> |
|
|
|
|
|
|
|
} |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
) |
|
|
|
) |
|
|
|