From 4b8c58d9b9ef48e6147a5318f490723627a87ac6 Mon Sep 17 00:00:00 2001 From: Johan Girod Date: Mon, 6 May 2019 17:03:04 +0200 Subject: [PATCH] =?UTF-8?q?Ajoute=20la=20simulation=20=C3=A0=20la=20page?= =?UTF-8?q?=20de=20comparaison=20des=20r=C3=A9gimes?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../SocialSecurity/SchemeComparaison.css | 10 +- .../pages/SocialSecurity/SchemeComparaison.js | 219 +++++++++++++++--- 2 files changed, 192 insertions(+), 37 deletions(-) diff --git a/source/sites/mon-entreprise.fr/pages/SocialSecurity/SchemeComparaison.css b/source/sites/mon-entreprise.fr/pages/SocialSecurity/SchemeComparaison.css index 5522585e8..5711ed592 100644 --- a/source/sites/mon-entreprise.fr/pages/SocialSecurity/SchemeComparaison.css +++ b/source/sites/mon-entreprise.fr/pages/SocialSecurity/SchemeComparaison.css @@ -14,6 +14,7 @@ text-align: center; flex-wrap: wrap; } + .comparaison-grid > h2 { margin: 0; flex-direction: column; @@ -38,13 +39,16 @@ grid-column: auto-entrepreneur; } .comparaison-grid > .all { + text-align: left; grid-column: row-legend / end; background-color: var(--lightestColour); } .comparaison-grid > .indep-et-auto { grid-column: indépendant / end; - text-align: center; +} +.comparaison-grid > .AS-indep-et-auto { + grid-column: assimilé-salarié / end; } .comparaison-grid.hide-auto-entrepreneur { @@ -63,6 +67,10 @@ font-weight: bold; color: red; } +.comparaison-grid > .big { + font-size: 110%; +} + .comparaison-grid > .ui__.button { place-self: center; margin: 1rem 0; diff --git a/source/sites/mon-entreprise.fr/pages/SocialSecurity/SchemeComparaison.js b/source/sites/mon-entreprise.fr/pages/SocialSecurity/SchemeComparaison.js index b740fa4c0..67d3f47d7 100644 --- a/source/sites/mon-entreprise.fr/pages/SocialSecurity/SchemeComparaison.js +++ b/source/sites/mon-entreprise.fr/pages/SocialSecurity/SchemeComparaison.js @@ -1,30 +1,63 @@ +/* @flow */ +import { startConversation } from 'Actions/actions' +import PeriodSwitch from 'Components/PeriodSwitch' +import Simulation from 'Components/Simulation' import ComparaisonConfig from 'Components/simulationConfigs/rémunération-dirigeant.yaml' import withSimulationConfig from 'Components/simulationConfigs/withSimulationConfig' +import { compose, map, tryCatch } from 'ramda' import React from 'react' import emoji from 'react-easy-emoji' import { Helmet } from 'react-helmet' +import { connect } from 'react-redux' +import { noUserInputSelector } from 'Selectors/analyseSelectors' +import { règleAvecMontantSelector } from 'Selectors/regleSelectors' import Animate from 'Ui/animate' +import AnimatedTargetValue from 'Ui/AnimatedTargetValue' import './SchemeComparaison.css' +import type { RègleAvecMontant } from 'Types/RegleTypes' -const SchemeComparaisonPage = () => ( - <> - - - Assimilé salarié, indépendant, auto-entrepreneur : comparaison des - régimes - - - - + /> +

Quel régime choisir pour l'indépendant ?

-
+

{emoji('☂')} Assimilé salarié Le régime tout compris @@ -44,6 +77,10 @@ const SchemeComparaisonPage = () => ( Sécurité sociale des indépendants (SSI)

+
Accidents du travail couverts
+
Oui
+
Non
+
Assurance maladie
++
+
@@ -52,22 +89,99 @@ const SchemeComparaisonPage = () => (
++
+
-
Accidents du travail couverts
-
Oui
-
Non
-
Retraite
-
++
-
+
-
-
-

Comparez vos revenus et votre retraite en 1 minute

- -
-
Paiment des cotisations
-
Mensuel (à la source)
-
Annuel avec deux ans de décalage
-
Mensuel ou trimestriel
+ {!conversationStarted && ( + <> +
Retraite
+
++
+
+
+
+ + )} + {conversationStarted && ( + <> +
Période
+
+ +
+ + )} +
+ {!conversationStarted ? ( + <> +

Comparez vos revenus et votre retraite en 1 minute

+ + + ) : ( +
+ +
+ )} +
+ + {conversationStarted && ( + <> +
Revenu net
+
+ {assimiléSalarié && ( + + + + )} +
+
+ {indépendant && ( + + + + )} +
+
+ {autoEntrepreneur && ( + + + + )} +
+ +
Retraite
+
+ {assimiléSalarié && ( + + + + )} +
+
+ {indépendant && ( + + + + )} +
+
+ + {autoEntrepreneur && ( + + )} + +
+ + )}
ACCRE
Une année, plafonné
3 années, progressif, non plafonné
@@ -77,9 +191,14 @@ const SchemeComparaisonPage = () => (
Abattement forfaitaire
Comptabilité
-
Expert {emoji('😩')}
-
Compliquée {emoji('😔')}
-
Simplifiée {emoji('😌')}
+
Expert
+
Compliquée
+
Simplifiée
+ +
Paiment des cotisations
+
Mensuel (à la source)
+
Annuel avec deux ans de décalage
+
Mensuel ou trimestriel
Complémentaires retraite et santé déductibles @@ -98,8 +217,36 @@ const SchemeComparaisonPage = () => (
- - -) + + ) +} -export default withSimulationConfig(ComparaisonConfig)(SchemeComparaisonPage) +export default (compose( + connect( + state => ({ + conversationStarted: state.conversationStarted, + noUserInput: noUserInputSelector(state), + ...map( + situationBranchName => + tryCatch( + () => ({ + retraite: règleAvecMontantSelector(state, { + situationBranchName + })('protection sociale . retraite'), + revenuNet: règleAvecMontantSelector(state, { + situationBranchName + })('revenu net') + }), + () => null + )(), + { + assimiléSalarié: 'Assimilé salarié', + indépendant: 'Indépendant', + autoEntrepreneur: 'Auto-entrepreneur' + } + ) + }), + { startConversation } + ), + withSimulationConfig(ComparaisonConfig) +)(SchemeComparaisonPage): React$Component)