diff --git a/site/cypress/integration/mon-entreprise/lodeom.ts b/site/cypress/integration/mon-entreprise/lodeom.ts
index a0762c20a..c12c51c86 100755
--- a/site/cypress/integration/mon-entreprise/lodeom.ts
+++ b/site/cypress/integration/mon-entreprise/lodeom.ts
@@ -96,6 +96,15 @@ describe('Simulateur lodeom', { testIsolation: false }, function () {
).should('include.text', '644 €')
})
+ it('should not include repartition for zone 2', function () {
+ cy.get(
+ 'p[id="salarié___cotisations___exonérations___lodeom___montant___imputation_retraite_complémentaire-value"]'
+ ).should('not.exist')
+ cy.get(
+ 'p[id="salarié___cotisations___exonérations___lodeom___montant___imputation_sécurité_sociale-value"]'
+ ).should('not.exist')
+ })
+
it('should display a custom warning for a remuneration too high', function () {
cy.get(inputSelector).first().type('{selectall}8500')
diff --git a/site/source/components/RéductionDeCotisations/MontantAvecRépartition.tsx b/site/source/components/RéductionDeCotisations/Montant.tsx
similarity index 84%
rename from site/source/components/RéductionDeCotisations/MontantAvecRépartition.tsx
rename to site/source/components/RéductionDeCotisations/Montant.tsx
index 5e51cfc4a..44ac3fa6b 100644
--- a/site/source/components/RéductionDeCotisations/MontantAvecRépartition.tsx
+++ b/site/source/components/RéductionDeCotisations/Montant.tsx
@@ -25,9 +25,10 @@ type Props = {
warningCondition?: PublicodesExpression
warningTooltip?: ReactNode
alignment?: 'center' | 'end'
+ withRépartition?: boolean
}
-export default function MontantAvecRépartition({
+export default function Montant({
id,
dottedName,
rémunérationBrute,
@@ -38,15 +39,31 @@ export default function MontantAvecRépartition({
warningCondition,
warningTooltip,
alignment = 'end',
+ withRépartition = true,
}: Props) {
const { t } = useTranslation()
- const tooltip = (
+ const tooltip = withRépartition && (
)
return réduction ? (
-
+ tooltip ? (
+
+
+ {formatValue(
+ {
+ nodeValue: réduction,
+ },
+ {
+ displayedUnit,
+ language,
+ }
+ )}
+
+
+
+ ) : (
{formatValue(
{
@@ -57,9 +74,8 @@ export default function MontantAvecRépartition({
language,
}
)}
-
-
+ )
) : (
!!warningCondition && !!warningTooltip && (
diff --git a/site/source/components/RéductionDeCotisations/RécapitulatifTrimestre.tsx b/site/source/components/RéductionDeCotisations/RécapitulatifTrimestre.tsx
index beaaecc35..ec90480f5 100644
--- a/site/source/components/RéductionDeCotisations/RécapitulatifTrimestre.tsx
+++ b/site/source/components/RéductionDeCotisations/RécapitulatifTrimestre.tsx
@@ -2,7 +2,7 @@ import { sumAll } from 'effect/Number'
import { useTranslation } from 'react-i18next'
import { styled } from 'styled-components'
-import MontantAvecRépartition from '@/components/RéductionDeCotisations/MontantAvecRépartition'
+import Montant from '@/components/RéductionDeCotisations/Montant'
import { Grid } from '@/design-system/layout'
import { Body } from '@/design-system/typography/paragraphs'
import { MonthState, RéductionDottedName } from '@/utils/réductionDeCotisations'
@@ -13,6 +13,7 @@ type Props = {
data: MonthState[]
codeRéduction?: string
codeRégularisation?: string
+ withRépartition?: boolean
mobileVersion?: boolean
}
@@ -27,6 +28,7 @@ export default function RécapitulatifTrimestre({
data,
codeRéduction,
codeRégularisation,
+ withRépartition = true,
mobileVersion = false,
}: Props) {
const { t, i18n } = useTranslation()
@@ -73,7 +75,7 @@ export default function RécapitulatifTrimestre({
const MontantRéduction = () => {
return (
-
)
}
const MontantRégularisation = () => {
return (
-
)
}
diff --git a/site/source/components/RéductionDeCotisations/RéductionBasique.tsx b/site/source/components/RéductionDeCotisations/RéductionBasique.tsx
index 98678417b..c7638e990 100644
--- a/site/source/components/RéductionDeCotisations/RéductionBasique.tsx
+++ b/site/source/components/RéductionDeCotisations/RéductionBasique.tsx
@@ -24,6 +24,7 @@ type Props = {
warnings: ReactNode
warningCondition: PublicodesExpression
warningMessage: ReactNode
+ withRépartition?: boolean
}
export default function RéductionBasique({
@@ -32,6 +33,7 @@ export default function RéductionBasique({
warnings,
warningCondition,
warningMessage,
+ withRépartition = true,
}: Props) {
const engine = useEngine()
const currentUnit = useSelector(targetUnitSelector)
@@ -63,7 +65,9 @@ export default function RéductionBasique({
round={false}
/>
-
+ {withRépartition && (
+
+ )}
>
)
diff --git a/site/source/components/RéductionDeCotisations/RéductionMois.tsx b/site/source/components/RéductionDeCotisations/RéductionMois.tsx
index 5180841fa..db1ff37a4 100644
--- a/site/source/components/RéductionDeCotisations/RéductionMois.tsx
+++ b/site/source/components/RéductionDeCotisations/RéductionMois.tsx
@@ -4,7 +4,7 @@ import { useTranslation } from 'react-i18next'
import { styled } from 'styled-components'
import NumberInput from '@/components/conversation/NumberInput'
-import MontantAvecRépartition from '@/components/RéductionDeCotisations/MontantAvecRépartition'
+import Montant from '@/components/RéductionDeCotisations/Montant'
import MonthOptions from '@/components/RéductionDeCotisations/MonthOptions'
import RuleLink from '@/components/RuleLink'
import { useEngine } from '@/components/utils/EngineContext'
@@ -31,6 +31,7 @@ type Props = {
onOptionsChange: (monthIndex: number, options: Options) => void
warningCondition: PublicodesExpression
warningTooltip: ReactNode
+ withRépartition?: boolean
mobileVersion?: boolean
}
@@ -43,6 +44,7 @@ export default function RéductionMois({
onOptionsChange,
warningCondition,
warningTooltip,
+ withRépartition = true,
mobileVersion = false,
}: Props) {
const { t, i18n } = useTranslation()
@@ -113,7 +115,7 @@ export default function RéductionMois({
const MontantRéduction = () => {
return (
-
)
}
const MontantRégularisation = () => {
return (
-
)
}
diff --git a/site/source/components/RéductionDeCotisations/RéductionMoisParMois.tsx b/site/source/components/RéductionDeCotisations/RéductionMoisParMois.tsx
index 2e267c683..2b843348a 100644
--- a/site/source/components/RéductionDeCotisations/RéductionMoisParMois.tsx
+++ b/site/source/components/RéductionDeCotisations/RéductionMoisParMois.tsx
@@ -29,6 +29,7 @@ type Props = {
warningTooltip: ReactNode
codeRéduction?: string
codeRégularisation?: string
+ withRépartition?: boolean
}
export default function RéductionMoisParMois({
@@ -42,6 +43,7 @@ export default function RéductionMoisParMois({
warningTooltip,
codeRéduction,
codeRégularisation,
+ withRépartition = true,
}: Props) {
const { t } = useTranslation()
const isDesktop = useMediaQuery(
@@ -118,6 +120,7 @@ export default function RéductionMoisParMois({
}}
warningCondition={warningCondition}
warningTooltip={warningTooltip}
+ withRépartition={withRépartition}
/>
))}
@@ -176,6 +179,7 @@ export default function RéductionMoisParMois({
data={quarters[label]}
codeRéduction={codeRéduction}
codeRégularisation={codeRégularisation}
+ withRépartition={withRépartition}
/>
))}
@@ -203,6 +207,7 @@ export default function RéductionMoisParMois({
}}
warningCondition={warningCondition}
warningTooltip={warningTooltip}
+ withRépartition={withRépartition}
mobileVersion={true}
/>
))}
@@ -223,6 +228,7 @@ export default function RéductionMoisParMois({
data={quarters[label]}
codeRéduction={codeRéduction}
codeRégularisation={codeRégularisation}
+ withRépartition={withRépartition}
mobileVersion={true}
/>
))}
diff --git a/site/source/pages/simulateurs/lodeom/Goals.tsx b/site/source/pages/simulateurs/lodeom/Goals.tsx
index 9e52112ab..1d685cbe5 100644
--- a/site/source/pages/simulateurs/lodeom/Goals.tsx
+++ b/site/source/pages/simulateurs/lodeom/Goals.tsx
@@ -7,6 +7,7 @@ import RéductionMoisParMois from '@/components/RéductionDeCotisations/Réducti
import { SimulationGoals } from '@/components/Simulation'
import { useEngine } from '@/components/utils/EngineContext'
import useYear from '@/components/utils/useYear'
+import { useZoneLodeom } from '@/hooks/useZoneLodeom'
import { situationSelector } from '@/store/selectors/simulationSelectors'
import {
getDataAfterOptionsChange,
@@ -40,6 +41,7 @@ export default function LodeomSimulationGoals({
const year = useYear()
const situation = useSelector(situationSelector) as SituationType
const previousSituation = useRef(situation)
+ const currentZone = useZoneLodeom()
const { t } = useTranslation()
const codeRéduction = engine.evaluate(
@@ -133,6 +135,7 @@ export default function LodeomSimulationGoals({
code: codeRégularisation,
})
}
+ withRépartition={currentZone === 'zone un'}
/>
) : (
}
warningCondition={`${lodeomDottedName} = 0`}
warningMessage={}
+ withRépartition={currentZone === 'zone un'}
/>
)}