Merge pull request #638 from betagouv/quickfix

Améliorations graphiques et UX
pull/637/head
Johan Girod 2019-09-03 12:14:19 +02:00 committed by GitHub
commit 97ec7b1b3c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
13 changed files with 72 additions and 109 deletions

View File

@ -81,10 +81,10 @@
display: block !important;
}
html[data-useragent*='MSIE'] #lds-ellipsis,
html[data-useragent*='Safari'][data-useragent*='Version/8'] #lds-ellipsis,
html[data-useragent*='Safari'][data-useragent*='Version/7'] #lds-ellipsis,
html[data-useragent*='Trident'] #lds-ellipsis {
html[data-useragent*='MSIE'] #loading,
html[data-useragent*='Safari'][data-useragent*='Version/8'] #loading,
html[data-useragent*='Safari'][data-useragent*='Version/7'] #loading,
html[data-useragent*='Trident'] #loading {
display: none !important;
}
@ -98,22 +98,22 @@
/* Prevent FOUC effect */
#js {
opacity: 0;
transform: translateY(20px);
transition: all 0.4s;
}
/* CSS Loader */
#lds-ellipsis {
display: block;
position: relative;
#loading {
animation: appear 0.6s;
transform: translateY(40vh);
width: 64px;
height: 64px;
margin: auto;
transform: translateY(35vh);
width: 100%;
}
#lds-ellipsis {
margin: auto;
position: relative;
width: 64px;
animation: appear 1.5s;
height: 64px;
}
#lds-ellipsis div {
position: absolute;
top: 27px;
@ -148,7 +148,7 @@
from {
opacity: 0;
}
60% {
80% {
opacity: 0;
}
100% {
@ -187,11 +187,18 @@
</head>
<body>
<div id="lds-ellipsis">
<div></div>
<div></div>
<div></div>
<div></div>
<div id="loading">
<img
src="images/logo.svg"
alt="Un service de l'État français"
style="width: 300px; margin: auto; margin-bottom: 0.6rem; display:block"
/>
<div id="lds-ellipsis">
<div></div>
<div></div>
<div></div>
<div></div>
</div>
</div>
<!-- USER AGENT DATA ATTRIBUTE -->

View File

@ -66,10 +66,10 @@ export default class Provider extends PureComponent {
css.type = 'text/css'
css.innerHTML = `
#js {
opacity: 1 !important;
transform: translateY(0px) !important;
animation: appear 0.5s;
opacity: 1;
}
#lds-ellipsis {
#loading {
display: none !important;
}`
document.body.appendChild(css)

View File

@ -50,7 +50,7 @@ export let SalaireNetSection = ({ getRule }) => {
{/* Avantages en nature */}
<Line negative rule={avantagesEnNature} />
{/* Salaire net */}
<Line negative rule={getRule('contrat salarié . salaire . net')} />
<Line rule={getRule('contrat salarié . salaire . net')} />
</>
) : null}
<Line negative rule={getRule('impôt . neutre')} />

View File

@ -1,11 +1,8 @@
import {
goToQuestion,
resetSimulation,
validateStepWithValue
} from 'Actions/actions'
import { goToQuestion, validateStepWithValue } from 'Actions/actions'
import { T } from 'Components'
import QuickLinks from 'Components/QuickLinks'
import { getInputComponent } from 'Engine/generateQuestions'
import { findRuleByDottedName } from 'Engine/rules'
import { compose } from 'ramda'
import React from 'react'
import emoji from 'react-easy-emoji'
@ -19,7 +16,6 @@ import {
import * as Animate from 'Ui/animate'
import Aide from './Aide'
import './conversation.css'
import { findRuleByDottedName } from 'Engine/rules'
export default compose(
reduxForm({
@ -33,7 +29,7 @@ export default compose(
previousAnswers: state.conversationSteps.foldedSteps,
nextSteps: nextStepsSelector(state)
}),
{ resetSimulation, validateStepWithValue, goToQuestion }
{ validateStepWithValue, goToQuestion }
)
)(function Conversation({
nextSteps,
@ -41,7 +37,6 @@ export default compose(
currentQuestion,
customEndMessages,
flatRules,
resetSimulation,
goToQuestion,
validateStepWithValue
}) {
@ -101,9 +96,6 @@ export default compose(
</T>
)}
</p>
<button className="ui__ small simple button " onClick={resetSimulation}>
<T>Recommencer</T>
</button>
</div>
)
})

View File

@ -14,7 +14,7 @@ export default connect(state => ({
<button
className="ui__ small simple button "
onClick={() => setShowAnswerModal(true)}>
<T>Voir mes réponses</T>
<T>Modifier mes réponses</T>
</button>
)}
{showAnswerModal && <Answers onClose={() => setShowAnswerModal(false)} />}

View File

@ -26,18 +26,19 @@ export default compose(withTranslation())(
return (
<span
css={`
margin-left: 1rem;
.keyIcon {
opacity: 0;
}
${!disabled &&
`
@media (hover) {
:hover .keyIcon {
opacity: 1
}
}`}
`}
className="sendWrapper">
@ -46,7 +47,7 @@ export default compose(withTranslation())(
disabled={disabled}
onClick={() => this.getAction()('accept')}>
<span className="text">
<Trans>valider</Trans>
<Trans>Suivant </Trans>
</span>
</button>
<span className="keyIcon">

View File

@ -1,57 +0,0 @@
import { compose } from 'ramda';
import React, { Component } from 'react';
import { Trans, withTranslation } from 'react-i18next';
import { FormDecorator } from './FormDecorator';
export default compose(
FormDecorator('text-area'),
withTranslation()
)(
class Input extends Component {
render() {
let {
name,
input,
submit,
attributes,
meta: { touched, error },
themeColours
} = this.props,
inputError = touched && error,
sendButtonDisabled = !input.value || inputError
return (
<span>
<span className="answer">
<textarea
{...attributes}
{...input}
id={'step-' + name}
onKeyDown={
({ key, ctrlKey }) =>
key == 'Enter' &&
ctrlKey &&
input.value &&
(!error ? submit() : input.onBlur()) // blur will trigger the error
}
/>
<button
className="ui__ button plain"
style={{
visibility: sendButtonDisabled ? 'hidden' : 'visible',
color: themeColours.textColour,
background: themeColours.colour
}}
onClick={() => (!error ? submit() : null)}>
<span className="text">
<Trans>valider</Trans>
</span>
<span className="icon"></span>
</button>
</span>
{inputError && <span className="step-input-error">{error}</span>}
</span>
)
}
}
)

View File

@ -98,12 +98,20 @@
.step fieldset {
margin: 0.8em 0;
display: flex;
justify-content: flex-end;
flex-wrap: wrap;
align-items: baseline;
}
.step fieldset ul {
list-style-type: none;
}
.step fieldset > ul:not(.binaryQuestionList) {
width: 100%;
}
.step.question .variant {
margin-bottom: 1em;
}
@ -325,6 +333,9 @@
margin-left: 0.3em;
}
.select-answer.commune {
flex: 1;
}
.select-answer.commune .Select {
width: 50%;
}

View File

@ -20,6 +20,16 @@
var(--colour) 100%
);
}
.ui__.card.plain h1,
.ui__.card.plain h2,
.ui__.card.plain h3,
.ui__.card.plain h4,
.ui__.card.plain h5,
.ui__.card.plain h6 {
color: white;
color: var(--textColour);
}
.ui__.card.disabled img {
filter: saturate(0);
}

View File

@ -5,8 +5,7 @@ previousSimulationBanner:
Première estimation: First estimate
Commencer la simulation: Start simulation
selectMany: You may pick more than one
Valider: Accept
valider: accept
Suivant: Next
votre réponse: answer here
reset: Start over
resetAll: Discard answers
@ -127,7 +126,7 @@ quicklinks:
Autres questions: Other questions
Mes réponses: My answers
Prochaines questions: Next questions
Voir mes réponses: See my answers
Modifier mes réponses: Change my answers
simulation-end:
title: No more questions left!
text: You have reached the most accurate estimate.

View File

@ -3,17 +3,17 @@
position: absolute;
left: 0;
top: 0;
transform: translate(-100%);
/* let the browser know we plan to animate
each view in and out */
will-change: transform;
transition: transform 0.3s cubic-bezier(0.465, 0.183, 0.153, 0.946);
transform: translate(-100%);
z-index: 1;
}
.sidebar__container.opened {
transform: translateX(0);
transform: translate(0%);
}
.sidebar__container + * {
will-change: transform;
transition: transform 0.3s cubic-bezier(0.465, 0.183, 0.153, 0.946);

View File

@ -8,7 +8,7 @@ import { withRouter } from 'react-router'
import backSvg from './back.svg'
import mobileMenuSvg from './mobile-menu.svg'
import './SideBar.css'
import type { Tracker } from 'Components/utils/withTracker'
import type Tracker from '../../../../Tracker'
import type { Location } from 'react-router-dom'
type OwnProps = {|
@ -79,10 +79,10 @@ class SideBar extends React.Component<Props, State> {
render() {
return (
<div
className={classnames(
'sidebar__container',
this.state.opened && 'opened'
)}
css="transform: translate(-100%)" // prevent FOUC effect
className={classnames('sidebar__container', {
opened: this.state.opened
})}
ref={ref => (this.ref = ref)}>
<div className="sidebar">{this.props.children}</div>
<button

View File

@ -32,7 +32,7 @@ const prerenderConfig = () => ({
opacity: 1;
transform: translateY(0px);
}
#lds-ellipsis {
#loading {
display: none;
}
</style>