import React, { Component } from 'react' import HoverDecorator from './HoverDecorator' import 'whatwg-fetch' import { connect } from 'react-redux' import './Satisfaction.css' import classNames from 'classnames' import ReactPiwik from './Tracker' @connect(state => ({ sessionId: state.sessionId })) export default class Satisfaction extends Component { state = { answer: false, message: null, address: null, messageSent: false } sendSatisfaction(answer) { let { message, address } = this.state if (document.location.hostname != 'localhost') { fetch('https://embauche.beta.gouv.fr/retour-syso', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ fields: { satisfait: answer || '', message: (message || '') + (address ? '(envoyé par ' + address + ')' : ''), date: new Date().toISOString(), id: this.props.sessionId, url: document.location.href.toString() } }) }).then(response => { console.log(response) if (!response.ok) return console.log('Erreur dans la récolte de la satisfaction') //eslint-disable-line no-console if (message) return this.setState({ messageSent: true }) this.setState({ answer }) }) } else { console.log('!!!!!!!! Les retours ne sont pas envoyés en localhost !') if (message) this.setState({ messageSent: true }) this.setState({ answer }) } } render() { let { answer, message, address, messageSent } = this.state, validMessage = (typeof message == 'string' && message.length > 4) || (typeof address == 'string' && address.length > 4), onSmileyClick = s => { // Pour l'instant on double le flux avec Piwik ReactPiwik.push(['trackEvent', 'feedback', 'smiley', s]) this.sendSatisfaction(s) } if (!answer) return (

Vous êtes satisfait du simulateur ?

) let messagePlaceholder = { ':)': 'Envoyez-nous un commentaire !', ':|': 'Qu\'est-ce qui n\'a pas été ?' }[answer] let feedback = (
this.setState({ address: e.target.value })} placeholder="adresse@courriel.com (optionnel)" />