mirror of
https://github.com/betagouv/mon-entreprise
synced 2025-02-09 05:15:02 +00:00
Suite à la crise du coronavirus le gouvernement a élargi le dispositif d'activité partielle et encouragé son recours massif. Ce commit contient les modifications suivantes : * Intégration de l'activité partielle sur le simulateur salarié ; * Création d'une page /coronavirus incluant un simulateur spécifique pour le chômage partiel ainsi que des informations générale sur les dispositifs gouvernementaux. Référencement de cette page sur la page d'accueil et sur le simulateur salarié ; * Grosse refacto du calcul de la CSG/CRDS pour y inclure le calcul des revenus de remplacement. Corrige aussi des erreurs pour la CSG des salariés bénéficiant de la DFS, et intègre l'exonération de CSG à Mayotte ; * Légères modifications de la fenêtre « prochaines question » ; * Affichage d'un placeholder sur les inputs des questions. Co-authored-by: Johan Girod <johangirod@gmail.com>
84 lines
2.4 KiB
TypeScript
84 lines
2.4 KiB
TypeScript
import Controls from 'Components/Controls'
|
|
import Conversation, {
|
|
ConversationProps
|
|
} from 'Components/conversation/Conversation'
|
|
import SeeAnswersButton from 'Components/conversation/SeeAnswersButton'
|
|
import PageFeedback from 'Components/Feedback/PageFeedback'
|
|
import SearchButton from 'Components/SearchButton'
|
|
import TargetSelection from 'Components/TargetSelection'
|
|
import React from 'react'
|
|
import { Trans } from 'react-i18next'
|
|
import { useSelector } from 'react-redux'
|
|
import { firstStepCompletedSelector } from 'Selectors/analyseSelectors'
|
|
import { simulationProgressSelector } from 'Selectors/progressSelectors'
|
|
import * as Animate from 'Ui/animate'
|
|
import Progress from 'Ui/Progress'
|
|
|
|
type SimulationProps = {
|
|
explanations?: React.ReactNode
|
|
results?: React.ReactNode
|
|
customEndMessages?: ConversationProps['customEndMessages']
|
|
showPeriodSwitch?: boolean
|
|
}
|
|
|
|
export default function Simulation({
|
|
explanations,
|
|
results,
|
|
customEndMessages,
|
|
showPeriodSwitch
|
|
}: SimulationProps) {
|
|
const firstStepCompleted = useSelector(firstStepCompletedSelector)
|
|
const progress = useSelector(simulationProgressSelector)
|
|
return (
|
|
<>
|
|
<TargetSelection showPeriodSwitch={showPeriodSwitch} />
|
|
<SearchButton invisibleButton />
|
|
{firstStepCompleted && (
|
|
<>
|
|
<Animate.fromTop>
|
|
{results}
|
|
<div
|
|
style={{
|
|
display: 'flex',
|
|
justifyContent: 'space-between',
|
|
marginTop: '1.2rem',
|
|
marginBottom: '0.6rem',
|
|
alignItems: 'baseline'
|
|
}}
|
|
>
|
|
{progress < 1 ? (
|
|
<small css="padding: 0.4rem 0">
|
|
<Trans i18nKey="simulateurs.précision.défaut">
|
|
Affinez la simulation en répondant aux questions :
|
|
</Trans>
|
|
</small>
|
|
) : (
|
|
<span />
|
|
)}
|
|
<SeeAnswersButton />
|
|
</div>
|
|
<section className="ui__ full-width lighter-bg">
|
|
<div className="ui__ container">
|
|
<Controls />
|
|
<Conversation customEndMessages={customEndMessages} />
|
|
</div>
|
|
</section>
|
|
{progress < 1 && (
|
|
<Progress progress={progress} className="ui__ full-width" />
|
|
)}
|
|
<br />
|
|
<PageFeedback
|
|
customMessage={
|
|
<Trans i18nKey="feedback.simulator">
|
|
Êtes-vous satisfait de ce simulateur ?
|
|
</Trans>
|
|
}
|
|
customEventName="rate simulator"
|
|
/>{' '}
|
|
{explanations}
|
|
</Animate.fromTop>
|
|
</>
|
|
)}
|
|
</>
|
|
)
|
|
}
|