index.js 2.63 KB
import React, { Component } from 'react';

import SolutionHeader from './components/SolutionHeader'
import UspSlider from './components/UspSlider'
import NewSolution from './components/NewSolution'
import UspSolution from './components/UspSolution'
import SolutionAccordion from './components/SolutionAccordion'
import StickyFooter from './components/StickyFooter'
import StickyHeader from './components/StickyHeader'
import SolutionNav from './components/SolutionNav'
import Fade from 'react-reveal/Fade';
import PropTypes from 'prop-types'

import * as SelectActionCreators from '../actions/profilationSelect'
import { connect } from 'react-redux';

import Sticky from 'react-sticky-el';


class Solution extends Component {

	constructor(props) {
	    super(props);
	    this.state = {buttonTop:0};
	  }

	componentDidMount() {
	    var el = document.querySelector(".sliderItemAction")
	    var buttonTop=el.getBoundingClientRect().top;
	    
	    this.setState({
	    	buttonTop: buttonTop
	    })
	  }


	render(){

		return(
			<div className='SolutionApp offerta-page'>
			<SolutionNav />
				<Sticky className='stickyMobile' mode='top' boundaryElement='.SolutionApp' topOffset={this.state.buttonTop}>
				    	<StickyHeader  />
				</Sticky>
				<SolutionHeader />
				
				<Fade bottom duration={100} fraction={0.2} delay={1000} >
					<NewSolution />
				</Fade>
				
					<div className="offerta-ct">
				      	<Fade bottom duration={200} fraction={0.1}>
				      		<UspSolution />
				      	</Fade>
				      	<div className='sticky-container'>
				      	
				      	<Fade bottom duration={200} fraction={0.1}>
				      		<UspSlider/>
				      	</Fade>
				      	<Fade bottom duration={200} fraction={0.1}>
				      		<SolutionAccordion />	
				      	</Fade>
				      	   
				      	<Sticky mode='bottom' boundaryElement='.sticky-container'>
				    			<StickyFooter />
				    		</Sticky>   
			    	
				    	</div>
				    	
				    	
			    	</div>
			    	
			    	
			</div>
			)
	}
}

Solution.propTypes = {
  steps: PropTypes.array.isRequired,
  updatePropValue: PropTypes.func.isRequired,
     
}

const mapStateToProps = state => {
  return {
  steps:state.ProfilationSelectReducer.steps,
  solutions:state.ProfilationSelectReducer.solutions
}};

const mapDispatchToProps = dispatch => ({
  updatePropValue: (prop,value,index,complete) => 
    dispatch(SelectActionCreators.changeValue(prop,value,index,complete)),
  changeSolution: () => 
    dispatch(SelectActionCreators.changeSolution())
});

export default connect(mapStateToProps, mapDispatchToProps)(Solution);