|
|
|
import React, { useState, useEffect, useCallback } from "react";
|
|
|
|
import ScrollContainer from "react-indiana-drag-scroll";
|
|
|
|
import { connect } from 'react-redux';
|
|
|
|
import { Link } from "react-router-dom";
|
|
|
|
import filterIcon from '../../../assets/images/vuesax-linear-filter-tick.svg';
|
|
|
|
import Banners from "../../../components/Banners";
|
|
|
|
import SalesContainer from "../../../components/SalesContainer";
|
|
|
|
|
|
|
|
import { book, publicApi } from "../../../redux/actions";
|
|
|
|
import Part2 from "./Part2";
|
|
|
|
import HomeImg from '../../../assets/images/HomeImg.svg';
|
|
|
|
import Part4 from "./Part4";
|
|
|
|
|
|
|
|
const DesktopHome = (
|
|
|
|
{
|
|
|
|
books,
|
|
|
|
grades
|
|
|
|
}
|
|
|
|
|
|
|
|
) =>{
|
|
|
|
|
|
|
|
|
|
|
|
return (
|
|
|
|
|
|
|
|
<div className="flex flex-col items-center w-4/5 justify-center my-10">
|
|
|
|
<Banners/>
|
|
|
|
<SalesContainer books={books} grades={grades}/>
|
|
|
|
<Part2 grades={grades}/>
|
|
|
|
<div>
|
|
|
|
<img src={HomeImg} />
|
|
|
|
</div>
|
|
|
|
<Part4 />
|
|
|
|
</div>
|
|
|
|
|
|
|
|
)
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
const mapStateToProps = (state) => ({
|
|
|
|
isDark: state.publicApi.isDark,
|
|
|
|
isMobile: state.publicApi.isMobile,
|
|
|
|
books: state.book.list,
|
|
|
|
grades: state.publicApi.grades,
|
|
|
|
gradeFilterBooks: state.book.gradeFilterBooks,
|
|
|
|
selectedGrade: state.book.selectedGrade,
|
|
|
|
});
|
|
|
|
|
|
|
|
const mapDispatchToProps = {
|
|
|
|
getList: book.list,
|
|
|
|
gradeFilter: book.gradeFilter,
|
|
|
|
setHeaderOptions: publicApi.setHeaderOptions,
|
|
|
|
};
|
|
|
|
|
|
|
|
export default connect(mapStateToProps, mapDispatchToProps)(DesktopHome);
|
|
|
|
|