WayoutModal.js 3.85 KB
import React, { Component } from 'react'
import ReactModal from 'react-modal';
import closeIcon from '../../img/closed_modal.svg'
import * as SelectActionCreators from '../actions/profilationSelect'
import { connect } from 'react-redux';
import wayoutIcon from '../../img/wayOut.svg'
import data from './data.json'
import LemaApi  from '../../service/service.js';


class WayoutModal extends Component {
  constructor(props){
    super(props)

    this.handleSubmit=this.handleSubmit.bind(this)
  }

  handleSubmit(){
    this.props.hideModal()
    this.props.showModal('SAVE_MODAL')
  }

    redirect() {

        // Quit session
        const lemaApi = new LemaApi();
        lemaApi.quitActivation().then(
            () => {                
                this.props.hideModal();
                window.location.href='http://www.repower.com'
            }
        ).catch(
            (err) => {
                console.log("Error in quit activation");
            }
        )    
    }

  render(){
    const saved=this.props.sessionSaved
    return(
      <ReactModal
          isOpen={true}
          onRequestClose={() => this.props.hideModal()}
          portalClassName='modal modal-mask modal_repower quit-modal isOpen'
          overlayClassName='modal-wrapper'
          className='modal-container'
        >

          
        
          <div className="close_modal" onClick={() => this.props.hideModal()}><img src={closeIcon} alt="" /></div>


         <div  className=" modal-header">
                    <img src={wayoutIcon} alt="" />

                    <h3>{data.modalStrings.wayoutModal.title}</h3>
            </div>

            <div className="modal-body">

               {saved && <p className="modal-description">{data.modalStrings.wayoutModal.text_processSaved}</p>}

            {saved &&<p>
              {data.modalStrings.wayoutModal.code_label}<br/>
              <strong>{this.props.activationCode}</strong>
            </p>}

            {!saved &&

              <p>
                {data.modalStrings.wayoutModal.text}
              </p>
            }

            <div className='modal-flex'>
                <a className='button-link' onClick={()=>this.redirect()} ><button  className="btn__outline">
                   Abbandona attivazione
                </button></a>
                
                {saved && <a className='button-link'><button className="btn__red" onClick={() => this.props.hideModal()}>
                    Continua con l'attivazione
                    
                </button></a>}

                { !saved && <a className='button-link'><button className="btn__red" onClick={() => this.handleSubmit()}>
                    
                    Salva e riprendi dopo
                </button></a>}
            </div>
            </div>
        
      
        </ReactModal>
      )
  }
}

const mapStateToProps = state => {
  return {
  activationSteps:state.ProfilationSelectReducer.activationSteps,
  steps:state.ProfilationSelectReducer.steps,
  sessionSaved:state.ProfilationSelectReducer.sessionSaved,
  solutions:state.ProfilationSelectReducer.solutions,
  modalOpen:state.ProfilationSelectReducer.modalOpen,
  modalContacts:state.ProfilationSelectReducer.modalContacts,
  activationCode:state.ProfilationSelectReducer.activationCode,
}};

const mapDispatchToProps = dispatch => ({
  updatePropValue: (prop,value,index,complete) => 
    dispatch(SelectActionCreators.changeValue(prop,value,index,complete)),
  updateStoreValue: (prop,value) => 
    dispatch(SelectActionCreators.changeProp(prop,value)),
    hideModal: () => 
    dispatch(SelectActionCreators.hideModal()),
    showModal: (modalName) =>
        dispatch(SelectActionCreators.showModal(modalName)),
});

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