From aa66e4f6e7b8bf7d77943738595bcbcd500e7558 Mon Sep 17 00:00:00 2001 From: Johan Girod Date: Tue, 15 Jan 2019 18:36:04 +0100 Subject: [PATCH] =?UTF-8?q?R=C3=A9pare=20la=20navigation=20par=20branche?= =?UTF-8?q?=20des=20pages=20de=20documentation?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- source/actions/actions.js | 8 ++++- source/components/ComparativeTargets.js | 48 +++++++++++++++---------- source/components/ui/SchemeCard.js | 6 ++-- source/règles/base.yaml | 3 +- source/types/ActionsTypes.js | 5 +++ 5 files changed, 48 insertions(+), 22 deletions(-) diff --git a/source/actions/actions.js b/source/actions/actions.js index 75ab621a6..f69371f9c 100644 --- a/source/actions/actions.js +++ b/source/actions/actions.js @@ -3,7 +3,8 @@ import type { ResetSimulationAction, LoadPreviousSimulationAction, DeletePreviousSimulationAction, - StartConversationAction + StartConversationAction, + SetSituationBranchAction } from 'Types/ActionsTypes' import { reset } from 'redux-form' import { deletePersistedSimulation } from '../storage/persistSimulation' @@ -20,6 +21,11 @@ export const resetSimulation = () => (dispatch: any => void): void => { ) } +export const setSituationBranch = (id: number): SetSituationBranchAction => ({ + type: 'SET_SITUATION_BRANCH', + id +}) + export const deletePreviousSimulation = () => ( dispatch: DeletePreviousSimulationAction => void ) => { diff --git a/source/components/ComparativeTargets.js b/source/components/ComparativeTargets.js index cda227052..63125363a 100644 --- a/source/components/ComparativeTargets.js +++ b/source/components/ComparativeTargets.js @@ -1,5 +1,7 @@ /* @flow */ +import { setSituationBranch } from 'Actions/actions' import RuleLink from 'Components/RuleLink' +import withSitePaths from 'Components/utils/withSitePaths' import React from 'react' import { connect } from 'react-redux' import { Link } from 'react-router-dom' @@ -121,14 +123,19 @@ import SchemeCard from './ui/SchemeCard' // } // ) const connectRègles = (situationBranchName: string) => - connect(state => ({ - revenuDisponible: règleAvecMontantSelector(state, { - situationBranchName - })('revenu disponible'), - prélèvements: règleAvecValeurSelector(state, { - situationBranchName - })('ratio de prélèvements') - })) + connect( + state => ({ + revenuDisponible: règleAvecMontantSelector(state, { + situationBranchName + })('revenu disponible'), + prélèvements: règleAvecValeurSelector(state, { + situationBranchName + })('ratio de prélèvements') + }), + (dispatch: any => void, props) => ({ + setSituationBranch: () => dispatch(setSituationBranch(props.branchIndex)) + }) + ) const ComparativeTargets = () => ( @@ -140,18 +147,19 @@ const ComparativeTargets = () => ( justifyContent: 'center', alignItems: 'stretch' }}> - - - + + + ) const Indépendant = connectRègles('Indépendant')( - ({ revenuDisponible, prélèvements }) => ( + ({ revenuDisponible, prélèvements, setSituationBranch }) => ( } icon="👩‍🔧" @@ -171,7 +179,7 @@ const Indépendant = connectRègles('Indépendant')( ) const AssimiléSalarié = connectRègles('Assimilé salarié')( - ({ revenuDisponible, prélèvements }) => ( + ({ revenuDisponible, prélèvements, setSituationBranch }) => ( } featured="Le choix de 58% des entrepreneurs (hors EI)" icon="☂" + onAmountClick={setSituationBranch} amountDesc={} features={[ 'Régime général', @@ -195,11 +204,12 @@ const AssimiléSalarié = connectRègles('Assimilé salarié')( ) const MicroEntreprise = connectRègles('Micro-entreprise')( - ({ revenuDisponible, prélèvements }) => ( + ({ revenuDisponible, prélèvements, setSituationBranch }) => ( } + onAmountClick={setSituationBranch} icon="🚶‍♂️" amountNotice={} amount={revenuDisponible.montant} @@ -216,7 +226,7 @@ const MicroEntreprise = connectRègles('Micro-entreprise')( ) ) -const PrélèvementNotice = ({ prélèvements }) => ( +const PrélèvementNotice = withSitePaths(({ prélèvements, sitePaths }) => ( <> soit{' '} ( numFractionDigit={0}> {prélèvements.valeur} {' '} - de prélèvements + de{' '} + + prélèvements + -) - +)) export default ComparativeTargets diff --git a/source/components/ui/SchemeCard.js b/source/components/ui/SchemeCard.js index 900727c93..07109b353 100644 --- a/source/components/ui/SchemeCard.js +++ b/source/components/ui/SchemeCard.js @@ -17,6 +17,7 @@ type Props = { features: Array, amountDesc: Node, amountNotice: Node, + onAmountClick: () => void, featured?: Node, icon: string } @@ -27,6 +28,7 @@ const SchemeCard = ({ amountDesc, icon, amountNotice, + onAmountClick, featured, features }: Props) => ( @@ -47,7 +49,7 @@ const SchemeCard = ({ {emoji(icon)}

{title}

{amount && ( - <> +
{amountDesc}

@@ -57,7 +59,7 @@ const SchemeCard = ({

{amountNotice}

- +
)}

{subtitle}

    diff --git a/source/règles/base.yaml b/source/règles/base.yaml index f5efc40c5..fc8aa23f6 100644 --- a/source/règles/base.yaml +++ b/source/règles/base.yaml @@ -3108,8 +3108,9 @@ wikipedia: https://fr.wikipedia.org/wiki/Versement_transport - nom: ratio de prélèvements - description: | + description: | Les prélèvements incluent les cotisations sociales, la CSG, l'impôt sur le revenu. + Attention, pour les micro-entreprise, nous incluons les charges dans ce ratio de prélèvements, car les charges ne sont pas déductibles. Cela permet de comparer le ratio de prélèvements entre les différents régimes. formule: 1 - ratio de revenu période: flexible diff --git a/source/types/ActionsTypes.js b/source/types/ActionsTypes.js index ec8b77dc3..b438080ae 100644 --- a/source/types/ActionsTypes.js +++ b/source/types/ActionsTypes.js @@ -14,6 +14,10 @@ export type StartConversationAction = { export type DeletePreviousSimulationAction = { type: 'DELETE_PREVIOUS_SIMULATION' } +export type SetSituationBranchAction = { + type: 'SET_SITUATION_BRANCH', + id: number +} export type StepAction = { type: 'STEP_ACTION', name: 'fold' | 'unfold', @@ -22,6 +26,7 @@ export type StepAction = { export type Action = | StartConversationAction + | SetSituationBranchAction | LoadPreviousSimulationAction | ResetSimulationAction | DeletePreviousSimulationAction