diff --git a/source/components/conversation/AnswerList.tsx b/source/components/conversation/AnswerList.tsx index 9394f8f38..852a999d6 100644 --- a/source/components/conversation/AnswerList.tsx +++ b/source/components/conversation/AnswerList.tsx @@ -52,46 +52,48 @@ function StepsTable({ rules, onClose }) { return ( - {rules.map(rule => ( - - - + + - - ))} + padding: 0.6rem; + color: inherit; + font-size: inherit; + width: 100%; + text-align: start; + font-weight: 500; + > span { + border-bottom: 1px dashed blue; + border-bottom-color: var(--textColorOnWhite); + padding: 0.05em 0em; + display: inline-block; + } + `} + onClick={() => { + dispatch(goToQuestion(rule.dottedName)) + onClose() + }} + > + + + + {' '} + + + ))}
- - -
+ + + {' '} -
) diff --git a/source/components/conversation/DateInput.tsx b/source/components/conversation/DateInput.tsx index 12f81c0fa..b140763d4 100644 --- a/source/components/conversation/DateInput.tsx +++ b/source/components/conversation/DateInput.tsx @@ -8,7 +8,6 @@ import SendButton from './SendButton' const DateField = styled.input` border: none; - text-align: center; color: inherit; font-size: inherit; margin: 0 0.1rem; @@ -83,6 +82,7 @@ export default FormDecorator('input')(function DateInput({ { if (+value > 31) { @@ -99,6 +99,7 @@ export default FormDecorator('input')(function DateInput({ { if (+value > 12) { @@ -114,6 +115,7 @@ export default FormDecorator('input')(function DateInput({ / { diff --git a/source/components/simulationConfigs/auto-entrepreneur.yaml b/source/components/simulationConfigs/auto-entrepreneur.yaml index 21db5b8d4..fda7f5961 100644 --- a/source/components/simulationConfigs/auto-entrepreneur.yaml +++ b/source/components/simulationConfigs/auto-entrepreneur.yaml @@ -19,5 +19,3 @@ questions: unités par défaut: [€/an] situation: dirigeant: 'auto-entrepreneur' - entreprise . catégorie d'activité: 'libérale' - entreprise . catégorie d'activité . libérale règlementée: non diff --git a/source/engine/mecanismViews/BarèmeContinu.js b/source/engine/mecanismViews/BarèmeContinu.js index 952c91204..c7965aa8e 100644 --- a/source/engine/mecanismViews/BarèmeContinu.js +++ b/source/engine/mecanismViews/BarèmeContinu.js @@ -1,7 +1,8 @@ import { ShowValuesConsumer } from 'Components/rule/ShowValuesContext' import RuleLink from 'Components/RuleLink' -import { formatPercentage, formatValue } from 'Engine/format' +import { formatValue } from 'Engine/format' import { sortObjectByKeys } from 'Engine/mecanismViews/common' +import { serialiseUnit } from 'Engine/units' import React from 'react' import { Trans, useTranslation } from 'react-i18next' import { BarèmeAttributes } from './Barème' @@ -37,8 +38,9 @@ let Comp = function Barème({ nodeValue, explanation, unit }) { @@ -52,7 +54,7 @@ let Comp = function Barème({ nodeValue, explanation, unit }) { Votre taux :{' '} - {formatPercentage(explanation.taux)} + )} {explanation.returnRate && ( @@ -68,7 +70,7 @@ let Comp = function Barème({ nodeValue, explanation, unit }) { ) } -function SeuilFormatteur({ value, multiplicateur }) { +function SeuilFormatteur({ value, multiplicateur, unit }) { const { language } = useTranslation().i18n if (value === 0) { return '0' @@ -78,19 +80,20 @@ function SeuilFormatteur({ value, multiplicateur }) { {formatValue({ value, language - })} + })}{' '} + {serialiseUnit(unit)} {multiplicateur && ( <>   {multiplicateur.acronyme} + )}{' '} - ) } diff --git a/source/engine/mecanisms/barème-continu.js b/source/engine/mecanisms/barème-continu.js index 702a6a7dd..29e22156c 100644 --- a/source/engine/mecanisms/barème-continu.js +++ b/source/engine/mecanisms/barème-continu.js @@ -1,15 +1,35 @@ import { defaultNode, evaluateObject, parseObject } from 'Engine/evaluation' +import { decompose } from 'Engine/mecanisms/utils' +import variations from 'Engine/mecanisms/variations' import BarèmeContinu from 'Engine/mecanismViews/BarèmeContinu' import { anyNull, val } from 'Engine/traverse-common-functions' import { parseUnit } from 'Engine/units' -import { aperture, last, pipe, reduce, reduced, sort, toPairs } from 'ramda' - +import { + aperture, + isEmpty, + last, + pipe, + reduce, + reduced, + sort, + toPairs +} from 'ramda' export default (recurse, k, v) => { + if (v.composantes) { + return decompose(recurse, k, v) + } + if (v.variations) { + return variations(recurse, k, v, true) + } + if (!v.points || typeof v.points !== 'object' || isEmpty(v.points)) { + throw new Error( + 'Le mécanisme `barème linéaire` doit avoir un paramètre `points` valide' + ) + } let objectShape = { assiette: false, multiplicateur: defaultNode(1) } - let returnRate = v['retourne seulement le taux'] === 'oui' let effect = ({ assiette, multiplicateur, points }) => { if (anyNull([assiette, multiplicateur])) return null diff --git a/source/règles/base.yaml b/source/règles/base.yaml index be7bbe1a4..2303af4fc 100644 --- a/source/règles/base.yaml +++ b/source/règles/base.yaml @@ -1732,6 +1732,8 @@ entreprise . effectif: unité: employé formule: variations: + - si: entreprise . effectif . seuil = 'moins de 5' + alors: 4 employés - si: entreprise . effectif . seuil = 'moins de 11' alors: 10 employés - si: entreprise . effectif . seuil = 'moins de 20' @@ -1755,13 +1757,15 @@ entreprise . effectif . seuil: une possibilité: choix obligatoire: oui possibilités: + - moins de 5 - moins de 11 - moins de 20 - moins de 50 - moins de 250 - 251 et plus - par défaut: moins de 11 + par défaut: moins de 5 +entreprise . effectif . seuil . moins de 5: entreprise . effectif . seuil . moins de 11: entreprise . effectif . seuil . moins de 20: entreprise . effectif . seuil . moins de 50: @@ -3152,9 +3156,9 @@ entreprise . date de création: question: Quand avez-vous créé votre entreprise ? par défaut: 01/01/2019 suggestions: - Janvier 2020: 01/01/2020 - Janvier 2019: 01/01/2019 - Janvier 2018: 01/01/2018 + Début 2020: 01/01/2020 + Début 2019: 01/01/2019 + Fin 2017: 31/12/2017 type: date contrôles: - si: date de création > 01/2020 @@ -4205,7 +4209,7 @@ dirigeant . indépendant . cotisations et contributions . exonérations . ZFU . assiette: établissement . ZFU . durée d'implantation en fin d'année [an] retourne seulement le taux: oui variations: - - si: entreprise . effectif + - si: entreprise . effectif < 5 alors: points: 0: 100%