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

import StickyHeader from '../Solution/components/StickyHeader'

import idIcon from '../../img/id.svg'
import cfIcon from '../../img/codice_fiscale_icon.svg'
import billIcon from '../../img/bolletta_icon.svg'
import ibanIcon from '../../img/iban_icon.svg'

import RightBox from './components/RightBox'
import {NavLink} from 'react-router-dom';
import * as SelectActionCreators from '../actions/profilationSelect'
import {connect} from 'react-redux';

import Sticky from 'react-sticky-el';

import data from './data.json'

class Activation extends Component {

    componentDidMount() {

        document.body.classList.add("no-close");
        window.scrollTo(0, 0);
    }

    render() {
        const saved = (this.props.activationSteps[2].isComplete || this.props.sessionSaved)
        return (<div className='Activation-App attivazione-landing'>
            <Sticky className='stickyMobile' mode='top' boundaryElement='.attivazione-landing' topOffset={80}>
                <StickyHeader  />
            </Sticky>

            <div className="attivazione-landing-flex">
                <div className="attivazione-left-col">

                    <div className="attivazione-heading">
                        <h1>{data.activationStrings.activationSteps[0].title}</h1>
                        <p>{data.activationStrings.activationSteps[0].subTitle}</p>
                    </div>


                    <div className="attivazione-body">
                        <ul className="attivazione-doc-listing">

                            <li>
                                <figure>
                                    <img
                                        src={idIcon}
                                        alt="carta identita"/>
                                </figure>
                                <div className="doc-listing-caption">
                                    <h2>{data.activationStrings.activationSteps[0].docs[0].name}</h2>
                                    <p>{data.activationStrings.activationSteps[0].docs[0].description}</p>
                                </div>
                            </li>

                            <li>
                                <figure>
                                    <img
                                        src={cfIcon}
                                        alt="codice fiscale"/>
                                </figure>
                                <div className="doc-listing-caption">
                                    <h2>{data.activationStrings.activationSteps[0].docs[1].name}</h2>
                                    <p>{data.activationStrings.activationSteps[0].docs[1].description}</p>
                                </div>
                            </li>

                            <li>
                                <figure>
                                    <img
                                        src={billIcon}
                                        alt="bolletta"/>
                                </figure>
                                <div className="doc-listing-caption">
                                    <h2>{data.activationStrings.activationSteps[0].docs[2].name}</h2>
                                    {this.props.steps[0].service === 'both' &&
                                    <p>{data.activationStrings.activationSteps[0].docs[2].description_both}</p>
                                    }
                                    {this.props.steps[0].service === 'light' &&
                                    <p>{data.activationStrings.activationSteps[0].docs[2].description_light}</p>
                                    }
                                    {this.props.steps[0].service === 'gas' &&
                                    <p>{data.activationStrings.activationSteps[0].docs[2].description_gas}</p>
                                    }
                                </div>
                            </li>

                            <li>
                                <figure>
                                    <img
                                        src={ibanIcon}
                                        alt="iban"/>
                                </figure>
                                <div className="doc-listing-caption">
                                    <h2>{data.activationStrings.activationSteps[0].docs[3].name}</h2>
                                    <p>{data.activationStrings.activationSteps[0].docs[3].description}</p>
                                </div>
                            </li>

                        </ul>

                        {this.props.privacyAccepted &&
                        <NavLink to={`/activation-steps`} activeClassName="active">
                            <button className="btn btn__red"
                                    onClick={() => this.props.updateStoreValue('progressBar', 7)}>Ok, inizia subito
                            </button>
                        </NavLink>}

                        {!this.props.privacyAccepted &&
                        <button className="btn btn__red" onClick={() => this.props.showModal('ACCEPT_PRIVACY')}>Ok,
                            inizia subito</button>
                        }

                    </div>


                </div>
                {saved && 
                    <div className="attivazione-right-col right-col_transparent">
                    </div>
                }
                {!saved &&
                <RightBox openModal={true}/>
                }
            </div>
        </div>)
    }
}

const mapStateToProps = state => {
    return {
        sessionSaved: state.ProfilationSelectReducer.sessionSaved,
        modalContacts: state.ProfilationSelectReducer.modalContacts,
        steps: state.ProfilationSelectReducer.steps,
        activeStep: state.ProfilationSelectReducer.activeStep || 0,
        activationSteps: state.ProfilationSelectReducer.activationSteps,
        privacyAccepted: state.ProfilationSelectReducer.privacyAccepted,
    }
};

const mapDispatchToProps = dispatch => ({
    updatePropValue: (steps, activeStep) => dispatch(SelectActionCreators.changeValue(steps, activeStep)),
    updateStoreValue: (prop, value) =>
        dispatch(SelectActionCreators.changeProp(prop, value)),
    showModal: (modalName) =>
        dispatch(SelectActionCreators.showModal(modalName)),

});

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