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.
 
 
 
 

195 lines
10 KiB

import React, { useState, useEffect } from "react";
import "./index.scss";
import Navbar from "../../components/Navbar/index";
import HomeSearchBox from "../../components/HomeSearchBox/index";
import Courses from "./Courses/index";
import GradeFilter from "../../components/GradeFilter/index";
import Books from "./Books/index";
import Blogs from "./Blogs/index";
import Footer from "./Footer/index";
import Header from "./Header/index";
import AppDownload from "./AppDownload/index";
import Vocal from "../../components/Vocal/Vocal";
import scroll from "../../util/scroll";
import { connect } from "react-redux";
import { book } from "../../redux/actions";
import olum7 from "../../assets/images/olum7.jpg";
import olum8 from "../../assets/images/olum8.jpg";
import olum9 from "../../assets/images/olum9.jpg";
import header from "../../assets/images/header.png";
import blog1 from "../../assets/images/blog1.png";
import blog2 from "../../assets/images/blog2.png";
import blog3 from "../../assets/images/blog3.png";
function Home({
courseList,
getCourseList,
grades,
headerData,
blogs,
gradeFilterBooks,
sortFilterCourse,
selectedSort,
sortFilter
}: any) {
const [grade, setGrade] = useState(null);
const [vocal, setVocal] = useState(false);
const [inputValue, setInputValue] = useState("");
useEffect(() => {
if (inputValue) {
sortFilter({search : inputValue, sort : selectedSort});
setVocal(false);
}
}, [inputValue]);
useEffect(() => {
getCourseList();
scroll.goToTop();
}, []);
return (
<>
<div
className="home main d-flex flex-column"
style={{ filter: vocal ? "blur(8px)" : "" }}
>
<Navbar />
<div className="desktop">
<Header headerData={headerData} />
</div>
<HomeSearchBox
setVocal={setVocal}
inputValue={inputValue}
setInputValue={setInputValue}
/>
<Courses courses={sortFilterCourse ? sortFilterCourse : courseList} />
<GradeFilter grades={grades} grade={grade} setGrade={setGrade} />
<Books list={gradeFilterBooks ? gradeFilterBooks : courseList} />
<Blogs blogs={blogs} />
<AppDownload />
<Footer />
</div>
{vocal ? (
<Vocal setVocal={setVocal} setInputValue={setInputValue} />
) : null}
</>
);
}
export default connect(
(state: any) => ({
courseList: state.book.list,
gradeFilterBooks: state.book.gradeFilterBooks,
sortFilterCourse: state.book.sortFilterCourse,
selectedSort: state.book.selectedSort,
}),
{ getCourseList: book.list, sortFilter: book.sortFilter }
)(Home);
Home.defaultProps = {
grades: [
{
name: "اول",
value: 1,
},
{
name: "دوم",
value: 2,
},
{
name: "سوم",
value: 3,
},
{
name: "چهارم",
value: 4,
},
{
name: "پنجم",
value: 5,
},
{
name: "ششم",
value: 6,
},
{
name: "هفتم",
value: 7,
},
{
name: "هشتم",
value: 8,
},
{
name: "نهم",
value: 9,
},
{
name: "دهم",
value: 10,
},
{
name: "یازدهم",
value: 11,
},
{
name: "دوازدهم",
value: 12,
},
],
headerData: [
{
id: 0,
name: "آیا هیجان زندگی همچنان باقی است؟",
subTitle: "سوالاتی که پاسخی برای آنها نیست!",
text: "آیا ذهن نویسنده به این سمت رفته که شما این متن را بخوانید؟ نویسنده درست حدس زده شما در حال خواندن هستید. لطفا خواندن را تمام کنید ",
author: "جورج جونیور",
imageUrl: header,
},
{
id: 1,
name: "آیا هیجان زندگی همچنان باقی است؟",
subTitle: "سوالاتی که پاسخی برای آنها نیست!",
text: "آیا ذهن نویسنده به این سمت رفته که شما این متن را بخوانید؟ نویسنده درست حدس زده شما در حال خواندن هستید. لطفا خواندن را تمام کنید ",
author: "جورج جونیور",
imageUrl: header,
},
{
id: 2,
name: "آیا هیجان زندگی همچنان باقی است؟",
subTitle: "سوالاتی که پاسخی برای آنها نیست!",
text: "آیا ذهن نویسنده به این سمت رفته که شما این متن را بخوانید؟ نویسنده درست حدس زده شما در حال خواندن هستید. لطفا خواندن را تمام کنید ",
author: "جورج جونیور",
imageUrl: header,
},
],
blogs: [
{
id: 0,
name: "فیزیک کوانتوم و موارد مشابه",
text: "لورم ایپسوم متن ساختگی با تولید سادگی نامفهوم از صنعت چاپ، و با استفاده از طراحان گرافیک است، چاپگرها و متون بلکه روزنامه و مجله در ستون و سطرآنچنان که لازم است، و برای شرایط فعلی تکنولوژی مورد نیاز، و کاربردهای متنوع با هدف بهبود ابزارهای کاربردی می باشد، کتابهای زیادی در شصت و سه درصد گذشته حال و آینده، شناخت فراوان جامعه و متخصصان را می طلبد، تا با نرم افزارها شناخت بیشتری را برای طراحان رایانه ای علی الخصوص طراحان خلاقی، و فرهنگ پیشرو در زبان فارسی ایجاد کرد، در این صورت می توان امید داشت که تمام و دشواری موجود در ارائه راهکارها، و شرایط سخت تایپ به پایان رسد و زمان مورد نیاز شامل حروفچینی دستاوردهای اصلی، و جوابگوی سوالات پیوسته اهل دنیای موجود طراحی اساسا مورد استفاده قرار گیرد.",
imageUrl: blog1,
tags: ["دوره جدید", "تخفیفهای هفتگی", "پایه هفتم"],
},
{
id: 1,
name: "فیزیک کوانتوم و موارد مشابه",
text: "لورم ایپسوم متن ساختگی با تولید سادگی نامفهوم از صنعت چاپ، و با استفاده از طراحان گرافیک است، چاپگرها و متون بلکه روزنامه و مجله در ستون و سطرآنچنان که لازم است، و برای شرایط فعلی تکنولوژی مورد نیاز، و کاربردهای متنوع با هدف بهبود ابزارهای کاربردی می باشد، کتابهای زیادی در شصت و سه درصد گذشته حال و آینده، شناخت فراوان جامعه و متخصصان را می طلبد، تا با نرم افزارها شناخت بیشتری را برای طراحان رایانه ای علی الخصوص طراحان خلاقی، و فرهنگ پیشرو در زبان فارسی ایجاد کرد، در این صورت می توان امید داشت که تمام و دشواری موجود در ارائه راهکارها، و شرایط سخت تایپ به پایان رسد و زمان مورد نیاز شامل حروفچینی دستاوردهای اصلی، و جوابگوی سوالات پیوسته اهل دنیای موجود طراحی اساسا مورد استفاده قرار گیرد.",
imageUrl: blog2,
tags: ["دوره جدید", "تخفیفهای هفتگی", "پایه هفتم"],
},
{
id: 2,
name: "فیزیک کوانتوم و موارد مشابه",
text: "لورم ایپسوم متن ساختگی با تولید سادگی نامفهوم از صنعت چاپ، و با استفاده از طراحان گرافیک است، چاپگرها و متون بلکه روزنامه و مجله در ستون و سطرآنچنان که لازم است، و برای شرایط فعلی تکنولوژی مورد نیاز، و کاربردهای متنوع با هدف بهبود ابزارهای کاربردی می باشد، کتابهای زیادی در شصت و سه درصد گذشته حال و آینده، شناخت فراوان جامعه و متخصصان را می طلبد، تا با نرم افزارها شناخت بیشتری را برای طراحان رایانه ای علی الخصوص طراحان خلاقی، و فرهنگ پیشرو در زبان فارسی ایجاد کرد، در این صورت می توان امید داشت که تمام و دشواری موجود در ارائه راهکارها، و شرایط سخت تایپ به پایان رسد و زمان مورد نیاز شامل حروفچینی دستاوردهای اصلی، و جوابگوی سوالات پیوسته اهل دنیای موجود طراحی اساسا مورد استفاده قرار گیرد.",
imageUrl: blog3,
tags: ["دوره جدید", "تخفیفهای هفتگی", "پایه هفتم"],
},
{
id: 3,
name: "فیزیک کوانتوم و موارد مشابه",
text: "لورم ایپسوم متن ساختگی با تولید سادگی نامفهوم از صنعت چاپ، و با استفاده از طراحان گرافیک است، چاپگرها و متون بلکه روزنامه و مجله در ستون و سطرآنچنان که لازم است، و برای شرایط فعلی تکنولوژی مورد نیاز، و کاربردهای متنوع با هدف بهبود ابزارهای کاربردی می باشد، کتابهای زیادی در شصت و سه درصد گذشته حال و آینده، شناخت فراوان جامعه و متخصصان را می طلبد، تا با نرم افزارها شناخت بیشتری را برای طراحان رایانه ای علی الخصوص طراحان خلاقی، و فرهنگ پیشرو در زبان فارسی ایجاد کرد، در این صورت می توان امید داشت که تمام و دشواری موجود در ارائه راهکارها، و شرایط سخت تایپ به پایان رسد و زمان مورد نیاز شامل حروفچینی دستاوردهای اصلی، و جوابگوی سوالات پیوسته اهل دنیای موجود طراحی اساسا مورد استفاده قرار گیرد.",
imageUrl: blog1,
tags: ["دوره جدید", "تخفیفهای هفتگی", "پایه هفتم"],
},
],
};