import R from 'ramda'
import React, {Component} from 'react'
import Helmet from 'react-helmet'
import {reduxForm, formValueSelector, reset} from 'redux-form'
import {connect} from 'react-redux'
import {Redirect, Link, withRouter} from 'react-router-dom'
import classNames from 'classnames'
import {START_CONVERSATION} from '../actions'
import Aide from './Aide'
import {createMarkdownDiv} from 'Engine/marked'
import {rules, findRuleByName, decodeRuleName} from 'Engine/rules'
import './conversation/conversation.css'
import './Simulateur.css'
import {capitalise0} from '../utils'
import Satisfaction from './Satisfaction'
let situationSelector = formValueSelector('conversation')
@withRouter
@reduxForm({form: 'conversation', destroyOnUnmount: false})
@connect(
state => ({
situation: variableName => situationSelector(state, variableName),
foldedSteps: state.foldedSteps,
unfoldedSteps: state.unfoldedSteps,
themeColours: state.themeColours,
analysedSituation: state.analysedSituation,
}),
dispatch => ({
startConversation: rootVariable => dispatch({type: START_CONVERSATION, rootVariable}),
resetForm: () => dispatch(reset('conversation'))
})
)
export default class extends React.Component {
componentWillMount() {
let {
match: {
params: {
name: encodedName
}
}
} = this.props,
name = decodeRuleName(encodedName),
existingConversation = this.props.foldedSteps.length > 0
this.encodedName = encodedName
this.name = name
this.rule = findRuleByName(rules, name)
// C'est ici que la génération du formulaire, et donc la traversée des variables commence
if (!existingConversation)
this.props.startConversation(name)
}
render(){
if (!this.rule.formule) return
Simulez cette règle en quelques clics
}N'hésitez pas à nous écrire ! La loi française est très ciblée, et donc complexe. Nous pouvons la rendre plus transparente.
Votre simulation est terminée !
N'hésitez pas à modifier vos réponses, ou cliquez sur vos résultats pour comprendre le calcul.