| 
						
						
						
					 | 
					 | 
					@ -1,6 +1,5 @@ | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					import React, { Component } from "react"; | 
					 | 
					 | 
					 | 
					import React, { Component } from "react"; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					import FilterListIcon from "@material-ui/icons/FilterList"; | 
					 | 
					 | 
					 | 
					import FilterListIcon from "@material-ui/icons/FilterList"; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					import Loader from "~/components/Loader/index"; | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					import { connect } from "react-redux"; | 
					 | 
					 | 
					 | 
					import { connect } from "react-redux"; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					import { book } from "~/Redux/actions"; | 
					 | 
					 | 
					 | 
					import { book } from "~/Redux/actions"; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
					 | 
					@ -27,11 +26,11 @@ const fontSize = { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					class Products extends Component { | 
					 | 
					 | 
					 | 
					class Products extends Component { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  state = { | 
					 | 
					 | 
					 | 
					  state = { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    selectedSort: null, | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    search: null, | 
					 | 
					 | 
					 | 
					    search: null, | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    selectedFilters: { | 
					 | 
					 | 
					 | 
					    selectedFilters: { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      level: [], | 
					 | 
					 | 
					 | 
					      level: [], | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      subject: [], | 
					 | 
					 | 
					 | 
					      subject: [], | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					      sort: null, | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    }, | 
					 | 
					 | 
					 | 
					    }, | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    firstFilters: [ | 
					 | 
					 | 
					 | 
					    firstFilters: [ | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      { id: 0, value: "محبوب ترین" }, | 
					 | 
					 | 
					 | 
					      { id: 0, value: "محبوب ترین" }, | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					 | 
					@ -53,10 +52,6 @@ class Products extends Component { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    degree: "", | 
					 | 
					 | 
					 | 
					    degree: "", | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  }; | 
					 | 
					 | 
					 | 
					  }; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  componentDidMount() { | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    this.props.getList(); | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  } | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  handleProductSearch = (val) => { | 
					 | 
					 | 
					 | 
					  handleProductSearch = (val) => { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    this.setState({ | 
					 | 
					 | 
					 | 
					    this.setState({ | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      search: val, | 
					 | 
					 | 
					 | 
					      search: val, | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					 | 
					@ -64,13 +59,22 @@ class Products extends Component { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    this.props.searchBook(val); | 
					 | 
					 | 
					 | 
					    this.props.searchBook(val); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  }; | 
					 | 
					 | 
					 | 
					  }; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					  componentDidUpdate(prevProps, prevState) { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    if (prevState.selectedFilters !== this.state.selectedFilters) { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					      this.props.filterBook(this.state.selectedFilters); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    } | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					  } | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					  componentDidMount() { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    localStorage.removeItem("filter"); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					  } | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  render() { | 
					 | 
					 | 
					 | 
					  render() { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    const { dateFilters, degreeFilters, firstFilters } = this.state; | 
					 | 
					 | 
					 | 
					    const { dateFilters, degreeFilters, firstFilters } = this.state; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    const { loading, list, page } = this.props; | 
					 | 
					 | 
					 | 
					    const { loading, list, page } = this.props; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    return ( | 
					 | 
					 | 
					 | 
					    return ( | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      <> | 
					 | 
					 | 
					 | 
					      <> | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        {window.innerWidth > 1000 ? ( | 
					 | 
					 | 
					 | 
					        {window.innerWidth > 1000 ? ( | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					          list ? ( | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					          <> | 
					 | 
					 | 
					 | 
					          <> | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            <div className="products d-flex flex-column"> | 
					 | 
					 | 
					 | 
					            <div className="products d-flex flex-column"> | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					              <Navbar page={"products"} /> | 
					 | 
					 | 
					 | 
					              <Navbar page={"products"} /> | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					 | 
					@ -80,25 +84,16 @@ class Products extends Component { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                <div className="products__body--left d-flex flex-column"> | 
					 | 
					 | 
					 | 
					                <div className="products__body--left d-flex flex-column"> | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                  <Sort | 
					 | 
					 | 
					 | 
					                  <Sort | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                    parent={this} | 
					 | 
					 | 
					 | 
					                    parent={this} | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                      selectedSort={this.state.selectedSort} | 
					 | 
					 | 
					 | 
					                    selectedSort={this.state.selectedFilters.sort} | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                  /> | 
					 | 
					 | 
					 | 
					                  /> | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                    <List parent={this} /> | 
					 | 
					 | 
					 | 
					                  <List /> | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                </div> | 
					 | 
					 | 
					 | 
					                </div> | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					              </div> | 
					 | 
					 | 
					 | 
					              </div> | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            </div> | 
					 | 
					 | 
					 | 
					            </div> | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            <Footer /> | 
					 | 
					 | 
					 | 
					            <Footer /> | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					          </> | 
					 | 
					 | 
					 | 
					          </> | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					          ) : ( | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            <div | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					              className="d-flex justify-content-center align-items-center" | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					              style={{ height: "100vh", width: "100vw" }} | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            > | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					              <Loader /> | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            </div> | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					          ) | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        ) : null} | 
					 | 
					 | 
					 | 
					        ) : null} | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        {window.innerWidth < 1000 ? ( | 
					 | 
					 | 
					 | 
					        {window.innerWidth < 1000 ? ( | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					          list ? ( | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					          <> | 
					 | 
					 | 
					 | 
					          <> | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            <div className="mobile-products d-flex flex-column"> | 
					 | 
					 | 
					 | 
					            <div className="mobile-products d-flex flex-column"> | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					              <Navbar page={"products"} /> | 
					 | 
					 | 
					 | 
					              <Navbar page={"products"} /> | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					 | 
					@ -115,48 +110,23 @@ class Products extends Component { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                <div className="d-flex"> | 
					 | 
					 | 
					 | 
					                <div className="d-flex"> | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                  <Select name="first" options={firstFilters} parent={this} /> | 
					 | 
					 | 
					 | 
					                  <Select name="first" options={firstFilters} parent={this} /> | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                  <Select name="date" options={dateFilters} parent={this} /> | 
					 | 
					 | 
					 | 
					                  <Select name="date" options={dateFilters} parent={this} /> | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                    <Select | 
					 | 
					 | 
					 | 
					                  <Select name="degree" options={degreeFilters} parent={this} /> | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                      name="degree" | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                      options={degreeFilters} | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                      parent={this} | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                    /> | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                </div> | 
					 | 
					 | 
					 | 
					                </div> | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                <FilterListIcon style={{ fontSize: 40, color: "#a5a5a5" }} /> | 
					 | 
					 | 
					 | 
					                <FilterListIcon style={{ fontSize: 40, color: "#a5a5a5" }} /> | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					              </div> | 
					 | 
					 | 
					 | 
					              </div> | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                <div className="mobile-products__list d-flex flex-wrap"> | 
					 | 
					 | 
					 | 
					              <List search={this.state.search} /> | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                  {this.state.search | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                    ? this.props.searchResult.map((item, i) => ( | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                        <Product product={item} key={i} id={i} /> | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                      )) | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                    : list.map((item, i) => ( | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                        <Product product={item} key={i} id={i} /> | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                      ))} | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                </div> | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            </div> | 
					 | 
					 | 
					 | 
					            </div> | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					          </> | 
					 | 
					 | 
					 | 
					          </> | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					          ) : ( | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            <div | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					              className="d-flex justify-content-center align-items-center" | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					              style={{ height: "100vh", width: "100vw" }} | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            > | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					              <Loader /> | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            </div> | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					          ) | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        ) : null} | 
					 | 
					 | 
					 | 
					        ) : null} | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      </> | 
					 | 
					 | 
					 | 
					      </> | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    ); | 
					 | 
					 | 
					 | 
					    ); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  } | 
					 | 
					 | 
					 | 
					  } | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					} | 
					 | 
					 | 
					 | 
					} | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					export default connect( | 
					 | 
					 | 
					 | 
					export default connect((state) => ({}), { | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  (state) => ({ | 
					 | 
					 | 
					 | 
					  searchBook: book.searchBook, | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    list: state.book.list, | 
					 | 
					 | 
					 | 
					  filterBook: book.filterBook, | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    searchResult: state.book.searchResult, | 
					 | 
					 | 
					 | 
					})(Products); | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    loading: state.book.loading, | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    // status: state.user.status,
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  }), | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  { getList: book.list, searchBook: book.searchBook } | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					)(Products); | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					Products.defaultProps = { | 
					 | 
					 | 
					 | 
					Products.defaultProps = { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  sortItems: [ | 
					 | 
					 | 
					 | 
					  sortItems: [ | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
						
					 | 
					 | 
					
  |