index.js 2.78 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
        })
        document.body.classList.remove("stop-scrolling");
        document.body.classList.remove("no-close");

    }


    render(){

        return(
			<div className='SolutionApp offerta-page'>
				{<SolutionNav />}
				{this.props.hideStickyHeader!==true && <Sticky className='stickyMobile' mode='top' boundaryElement='.SolutionApp' topOffset={this.state.buttonTop}>
					<StickyHeader history={this.props.history} hideProgressbar={true} />
				</Sticky>}
				<SolutionHeader />

				<Fade bottom duration={100} fraction={0.2} delay={1000} >
					<NewSolution />
				</Fade>

				<div className="offerta-ct">
					<div className='sticky-container'>
						<Fade bottom duration={200} fraction={0.01}>
							<UspSolution />
						</Fade>


						<Fade bottom duration={200} fraction={0.01}>
							<UspSlider/>
						</Fade>
						<Fade bottom duration={200} fraction={0.01}>
							<SolutionAccordion />
						</Fade>


						<Sticky className='stickyBtm_nav' 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);