diff --git a/site/source/components/Simulation/index.tsx b/site/source/components/Simulation/index.tsx index 2c78d74e38..fa9fe85576 100644 --- a/site/source/components/Simulation/index.tsx +++ b/site/source/components/Simulation/index.tsx @@ -1,3 +1,4 @@ +import { DottedName } from 'modele-social' import React from 'react' import { useSelector } from 'react-redux' import { useLocation } from 'react-router-dom' @@ -10,6 +11,7 @@ import ShareOrSaveSimulationBanner, { import { Button } from '@/design-system/buttons' import { Grid, Spacing } from '@/design-system/layout' import { H3 } from '@/design-system/typography/heading' +import { RootState } from '@/store/reducers/rootReducer' import { ilYADesQuestionsSelector } from '@/store/selectors/ilYADesQuestions.selector' import { firstStepCompletedSelector } from '@/store/selectors/simulationSelectors' @@ -48,6 +50,7 @@ type SimulationProps = { id?: string customSimulationbutton?: CustomSimulationButton entrepriseSelection?: boolean + firstStepCompletedExceptions?: DottedName[] } export default function Simulation({ @@ -62,8 +65,11 @@ export default function Simulation({ id, customSimulationbutton, entrepriseSelection = true, + firstStepCompletedExceptions, }: SimulationProps) { - const firstStepCompleted = useSelector(firstStepCompletedSelector) + const firstStepCompleted = useSelector((state: RootState) => + firstStepCompletedSelector(state, firstStepCompletedExceptions) + ) const ilYADesQuestions = useSelector(ilYADesQuestionsSelector) const shouldShowFeedback = getShouldAskFeedback(useLocation().pathname) const showQuestions = showQuestionsFromBeginning || firstStepCompleted diff --git a/site/source/hooks/useZoneLodeom.ts b/site/source/hooks/useZoneLodeom.ts index dbb873aa29..8d9f1d4b26 100644 --- a/site/source/hooks/useZoneLodeom.ts +++ b/site/source/hooks/useZoneLodeom.ts @@ -2,7 +2,7 @@ import { DottedName } from 'modele-social' import { useEngine } from '@/components/utils/EngineContext' -const zones = ['zone un', 'zone deux'] +export const zones = ['zone un', 'zone deux'] export type ZoneLodeom = (typeof zones)[number] diff --git "a/site/source/pages/simulateurs/cessation-activit\303\251/CessationActivit\303\251.tsx" "b/site/source/pages/simulateurs/cessation-activit\303\251/CessationActivit\303\251.tsx" index 8a93c33b74..810694bfaf 100644 --- "a/site/source/pages/simulateurs/cessation-activit\303\251/CessationActivit\303\251.tsx" +++ "b/site/source/pages/simulateurs/cessation-activit\303\251/CessationActivit\303\251.tsx" @@ -1,3 +1,4 @@ +import { DottedName } from 'modele-social' import { useTranslation } from 'react-i18next' import { useSelector } from 'react-redux' @@ -31,8 +32,14 @@ export const CessationActivitéSimulation = () => { const { t } = useTranslation() + const firstStepCompletedExceptions = [ + 'entreprise . date de cessation' as DottedName, + 'entreprise . imposition' as DottedName, + ] + return ( } afterQuestionsSlot={} > diff --git "a/site/source/pages/simulateurs/ind\303\251pendant/Ind\303\251pendant.tsx" "b/site/source/pages/simulateurs/ind\303\251pendant/Ind\303\251pendant.tsx" index 59ac0b5251..0094ed7c2b 100644 --- "a/site/source/pages/simulateurs/ind\303\251pendant/Ind\303\251pendant.tsx" +++ "b/site/source/pages/simulateurs/ind\303\251pendant/Ind\303\251pendant.tsx" @@ -18,9 +18,12 @@ export default function IndépendantSimulation() { const dispatch = useDispatch() const year = useYear() + const firstStepCompletedExceptions = ['entreprise . imposition' as DottedName] + return ( <> } afterQuestionsSlot={} > diff --git "a/site/source/pages/simulateurs/location-de-meubl\303\251/simulationConfig.ts" "b/site/source/pages/simulateurs/location-de-meubl\303\251/simulationConfig.ts" index 5694e4440d..0ee378da26 100644 --- "a/site/source/pages/simulateurs/location-de-meubl\303\251/simulationConfig.ts" +++ "b/site/source/pages/simulateurs/location-de-meubl\303\251/simulationConfig.ts" @@ -1,9 +1,6 @@ import { SimulationConfig } from '@/domaine/SimulationConfig' export const configLocationDeMeublé: SimulationConfig = { - 'objectifs exclusifs': [ - 'location de logement meublé . courte durée . recettes', - ], objectifs: ['location de logement meublé . cotisations'], 'unité par défaut': '€/an', situation: {}, diff --git a/site/source/pages/simulateurs/lodeom/Lodeom.tsx b/site/source/pages/simulateurs/lodeom/Lodeom.tsx index 3b96e99e4c..e0bce5b370 100644 --- a/site/source/pages/simulateurs/lodeom/Lodeom.tsx +++ b/site/source/pages/simulateurs/lodeom/Lodeom.tsx @@ -1,3 +1,4 @@ +import { DottedName } from 'modele-social' import { useState } from 'react' import { Trans, useTranslation } from 'react-i18next' @@ -9,7 +10,12 @@ import Simulation from '@/components/Simulation' import { YearSelectionBanner } from '@/components/Simulation/YearSelectionBanner' import { Emoji } from '@/design-system/emoji' import { Body } from '@/design-system/typography/paragraphs' -import { useZoneLodeom } from '@/hooks/useZoneLodeom' +import { barèmeLodeomDottedName } from '@/hooks/useBarèmeLodeom' +import { + useZoneLodeom, + zones, + zonesLodeomDottedName, +} from '@/hooks/useZoneLodeom' import { RégularisationMethod } from '@/utils/réductionDeCotisations' import BarèmeSwitch from './components/BarèmeSwitch' @@ -40,9 +46,18 @@ export default function LodeomSimulation() { const [régularisationMethod, setRégularisationMethod] = useState('progressive') + const firstStepCompletedExceptions = [ + zonesLodeomDottedName, + ...zones.map((zone) => barèmeLodeomDottedName(zone)), + 'entreprise . salariés . effectif' as DottedName, + ] + return ( <> - }> + } + > ('progressive') + const firstStepCompletedExceptions = [ + 'entreprise . salariés . effectif' as DottedName, + `${réductionGénéraleDottedName} . caisse de congés payés` as DottedName, + ] + return ( <> - }> + } + > DFS 1`] = ` -"salarié . cotisations . assiette: 1802 -salarié . cotisations . exonérations . réduction générale: 575 +"salarié . cotisations . exonérations . réduction générale: 575 salarié . cotisations . exonérations . réduction générale . imputation chômage: 73 salarié . cotisations . exonérations . réduction générale . imputation retraite complémentaire: 108 salarié . cotisations . exonérations . réduction générale . imputation sécurité sociale: 467" `; exports[`calculate simulations-dividendes > DFS 2`] = ` -"salarié . cotisations . assiette: 1802 -salarié . cotisations . exonérations . réduction générale: 575 +"salarié . cotisations . exonérations . réduction générale: 575 salarié . cotisations . exonérations . réduction générale . imputation chômage: 73 salarié . cotisations . exonérations . réduction générale . imputation retraite complémentaire: 108 salarié . cotisations . exonérations . réduction générale . imputation sécurité sociale: 467" `; exports[`calculate simulations-dividendes > DFS 3`] = ` -"salarié . cotisations . assiette: 1802 -salarié . cotisations . exonérations . réduction générale: 575 +"salarié . cotisations . exonérations . réduction générale: 575 salarié . cotisations . exonérations . réduction générale . imputation chômage: 73 salarié . cotisations . exonérations . réduction générale . imputation retraite complémentaire: 108 salarié . cotisations . exonérations . réduction générale . imputation sécurité sociale: 467" `; exports[`calculate simulations-dividendes > DFS 4`] = ` -"salarié . cotisations . assiette: 1802 -salarié . cotisations . exonérations . réduction générale: 575 +"salarié . cotisations . exonérations . réduction générale: 575 salarié . cotisations . exonérations . réduction générale . imputation chômage: 73 salarié . cotisations . exonérations . réduction générale . imputation retraite complémentaire: 108 salarié . cotisations . exonérations . réduction générale . imputation sécurité sociale: 467" `; exports[`calculate simulations-dividendes > DFS 5`] = ` -"salarié . cotisations . assiette: 1802 -salarié . cotisations . exonérations . réduction générale: 575 +"salarié . cotisations . exonérations . réduction générale: 575 salarié . cotisations . exonérations . réduction générale . imputation chômage: 73 salarié . cotisations . exonérations . réduction générale . imputation retraite complémentaire: 108 salarié . cotisations . exonérations . réduction générale . imputation sécurité sociale: 467" `; exports[`calculate simulations-dividendes > JEI 1`] = ` -"salarié . cotisations . assiette: 1900 -salarié . cotisations . exonérations . réduction générale: null +"salarié . cotisations . exonérations . réduction générale: null salarié . cotisations . exonérations . réduction générale . imputation chômage: null salarié . cotisations . exonérations . réduction générale . imputation retraite complémentaire: null salarié . cotisations . exonérations . réduction générale . imputation sécurité sociale: null" `; exports[`calculate simulations-dividendes > effectif 1`] = ` -"salarié . cotisations . assiette: 1900 -salarié . cotisations . exonérations . réduction générale: 523 +"salarié . cotisations . exonérations . réduction générale: 523 salarié . cotisations . exonérations . réduction générale . imputation chômage: 66 salarié . cotisations . exonérations . réduction générale . imputation retraite complémentaire: 98 salarié . cotisations . exonérations . réduction générale . imputation sécurité sociale: 425" `; exports[`calculate simulations-dividendes > effectif 2`] = ` -"salarié . cotisations . assiette: 1900 -salarié . cotisations . exonérations . réduction générale: 530 +"salarié . cotisations . exonérations . réduction générale: 530 salarié . cotisations . exonérations . réduction générale . imputation chômage: 66 salarié . cotisations . exonérations . réduction générale . imputation retraite complémentaire: 98 salarié . cotisations . exonérations . réduction générale . imputation sécurité sociale: 431" `; exports[`calculate simulations-dividendes > heures complémentaires 1`] = ` -"salarié . cotisations . assiette: 1900 -salarié . cotisations . exonérations . réduction générale: 483 +"salarié . cotisations . exonérations . réduction générale: 483 salarié . cotisations . exonérations . réduction générale . imputation chômage: 61 salarié . cotisations . exonérations . réduction générale . imputation retraite complémentaire: 91 salarié . cotisations . exonérations . réduction générale . imputation sécurité sociale: 392" `; exports[`calculate simulations-dividendes > heures supplémentaires 1`] = ` -"salarié . cotisations . assiette: 1900 -salarié . cotisations . exonérations . réduction générale: 607 +"salarié . cotisations . exonérations . réduction générale: 607 salarié . cotisations . exonérations . réduction générale . imputation chômage: 77 salarié . cotisations . exonérations . réduction générale . imputation retraite complémentaire: 114 salarié . cotisations . exonérations . réduction générale . imputation sécurité sociale: 493" `; exports[`calculate simulations-dividendes > salaire 1`] = ` -"salarié . cotisations . assiette: 100 -salarié . cotisations . exonérations . réduction générale: 32 +"salarié . cotisations . exonérations . réduction générale: 32 salarié . cotisations . exonérations . réduction générale . imputation chômage: 4 salarié . cotisations . exonérations . réduction générale . imputation retraite complémentaire: 6 salarié . cotisations . exonérations . réduction générale . imputation sécurité sociale: 26" `; exports[`calculate simulations-dividendes > salaire 2`] = ` -"salarié . cotisations . assiette: 250 -salarié . cotisations . exonérations . réduction générale: 80 +"salarié . cotisations . exonérations . réduction générale: 80 salarié . cotisations . exonérations . réduction générale . imputation chômage: 10 salarié . cotisations . exonérations . réduction générale . imputation retraite complémentaire: 15 salarié . cotisations . exonérations . réduction générale . imputation sécurité sociale: 65" `; exports[`calculate simulations-dividendes > salaire 3`] = ` -"salarié . cotisations . assiette: 500 -salarié . cotisations . exonérations . réduction générale: 160 +"salarié . cotisations . exonérations . réduction générale: 160 salarié . cotisations . exonérations . réduction générale . imputation chômage: 20 salarié . cotisations . exonérations . réduction générale . imputation retraite complémentaire: 30 salarié . cotisations . exonérations . réduction générale . imputation sécurité sociale: 130" `; exports[`calculate simulations-dividendes > salaire 4`] = ` -"salarié . cotisations . assiette: 750 -salarié . cotisations . exonérations . réduction générale: 240 +"salarié . cotisations . exonérations . réduction générale: 240 salarié . cotisations . exonérations . réduction générale . imputation chômage: 30 salarié . cotisations . exonérations . réduction générale . imputation retraite complémentaire: 45 salarié . cotisations . exonérations . réduction générale . imputation sécurité sociale: 194" `; exports[`calculate simulations-dividendes > salaire 5`] = ` -"salarié . cotisations . assiette: 1000 -salarié . cotisations . exonérations . réduction générale: 319 +"salarié . cotisations . exonérations . réduction générale: 319 salarié . cotisations . exonérations . réduction générale . imputation chômage: 41 salarié . cotisations . exonérations . réduction générale . imputation retraite complémentaire: 60 salarié . cotisations . exonérations . réduction générale . imputation sécurité sociale: 259" `; exports[`calculate simulations-dividendes > salaire 6`] = ` -"salarié . cotisations . assiette: 1250 -salarié . cotisations . exonérations . réduction générale: 399 +"salarié . cotisations . exonérations . réduction générale: 399 salarié . cotisations . exonérations . réduction générale . imputation chômage: 51 salarié . cotisations . exonérations . réduction générale . imputation retraite complémentaire: 75 salarié . cotisations . exonérations . réduction générale . imputation sécurité sociale: 324" `; exports[`calculate simulations-dividendes > salaire 7`] = ` -"salarié . cotisations . assiette: 1500 -salarié . cotisations . exonérations . réduction générale: 479 +"salarié . cotisations . exonérations . réduction générale: 479 salarié . cotisations . exonérations . réduction générale . imputation chômage: 61 salarié . cotisations . exonérations . réduction générale . imputation retraite complémentaire: 90 salarié . cotisations . exonérations . réduction générale . imputation sécurité sociale: 389" `; exports[`calculate simulations-dividendes > salaire 8`] = ` -"salarié . cotisations . assiette: 2000 -salarié . cotisations . exonérations . réduction générale: 470 +"salarié . cotisations . exonérations . réduction générale: 470 salarié . cotisations . exonérations . réduction générale . imputation chômage: 60 salarié . cotisations . exonérations . réduction générale . imputation retraite complémentaire: 88 salarié . cotisations . exonérations . réduction générale . imputation sécurité sociale: 382" `; exports[`calculate simulations-dividendes > salaire 9`] = ` -"salarié . cotisations . assiette: 2500 -salarié . cotisations . exonérations . réduction générale: 204 +"salarié . cotisations . exonérations . réduction générale: 204 salarié . cotisations . exonérations . réduction générale . imputation chômage: 26 salarié . cotisations . exonérations . réduction générale . imputation retraite complémentaire: 38 salarié . cotisations . exonérations . réduction générale . imputation sécurité sociale: 165" `; exports[`calculate simulations-dividendes > salaire 10`] = ` -"salarié . cotisations . assiette: 3000 -salarié . cotisations . exonérations . réduction générale: 0 +"salarié . cotisations . exonérations . réduction générale: 0 salarié . cotisations . exonérations . réduction générale . imputation chômage: 0 salarié . cotisations . exonérations . réduction générale . imputation retraite complémentaire: 0 salarié . cotisations . exonérations . réduction générale . imputation sécurité sociale: 0" `; exports[`calculate simulations-dividendes > stage 1`] = ` -"salarié . cotisations . assiette: 1900 -salarié . cotisations . exonérations . réduction générale: 523 +"salarié . cotisations . exonérations . réduction générale: 523 salarié . cotisations . exonérations . réduction générale . imputation chômage: 66 salarié . cotisations . exonérations . réduction générale . imputation retraite complémentaire: 98 salarié . cotisations . exonérations . réduction générale . imputation sécurité sociale: 425" `; exports[`calculate simulations-dividendes > temps partiel 1`] = ` -"salarié . cotisations . assiette: 1900 -salarié . cotisations . exonérations . réduction générale: 392 +"salarié . cotisations . exonérations . réduction générale: 392 salarié . cotisations . exonérations . réduction générale . imputation chômage: 50 salarié . cotisations . exonérations . réduction générale . imputation retraite complémentaire: 74 salarié . cotisations . exonérations . réduction générale . imputation sécurité sociale: 318"