Skip to content

Commit a418d7f

Browse files
committed
feat(lodeom): suppression de la répartition pour la zone 2
1 parent b31ae21 commit a418d7f

File tree

6 files changed

+50
-12
lines changed

6 files changed

+50
-12
lines changed

site/source/components/RéductionDeCotisations/MontantAvecRépartition.tsx renamed to site/source/components/RéductionDeCotisations/Montant.tsx

+21-5
Original file line numberDiff line numberDiff line change
@@ -25,9 +25,10 @@ type Props = {
2525
warningCondition?: PublicodesExpression
2626
warningTooltip?: ReactNode
2727
alignment?: 'center' | 'end'
28+
withRépartition?: boolean
2829
}
2930

30-
export default function MontantAvecRépartition({
31+
export default function Montant({
3132
id,
3233
dottedName,
3334
rémunérationBrute,
@@ -38,15 +39,31 @@ export default function MontantAvecRépartition({
3839
warningCondition,
3940
warningTooltip,
4041
alignment = 'end',
42+
withRépartition = true,
4143
}: Props) {
4244
const { t } = useTranslation()
4345

44-
const tooltip = (
46+
const tooltip = withRépartition && (
4547
<Répartition dottedName={dottedName} répartition={répartition} />
4648
)
4749

4850
return réduction ? (
49-
<StyledTooltip tooltip={tooltip}>
51+
tooltip ? (
52+
<StyledTooltip tooltip={tooltip}>
53+
<FlexDiv id={id} $alignment={alignment}>
54+
{formatValue(
55+
{
56+
nodeValue: réduction,
57+
},
58+
{
59+
displayedUnit,
60+
language,
61+
}
62+
)}
63+
<StyledSearchIcon />
64+
</FlexDiv>
65+
</StyledTooltip>
66+
) : (
5067
<FlexDiv id={id} $alignment={alignment}>
5168
{formatValue(
5269
{
@@ -57,9 +74,8 @@ export default function MontantAvecRépartition({
5774
language,
5875
}
5976
)}
60-
<StyledSearchIcon />
6177
</FlexDiv>
62-
</StyledTooltip>
78+
)
6379
) : (
6480
!!warningCondition && !!warningTooltip && (
6581
<FlexDiv id={id} $alignment={alignment}>

site/source/components/RéductionDeCotisations/RécapitulatifTrimestre.tsx

+7-3
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import { sumAll } from 'effect/Number'
22
import { useTranslation } from 'react-i18next'
33
import { styled } from 'styled-components'
44

5-
import MontantAvecRépartition from '@/components/RéductionDeCotisations/MontantAvecRépartition'
5+
import Montant from '@/components/RéductionDeCotisations/Montant'
66
import { Grid } from '@/design-system/layout'
77
import { Body } from '@/design-system/typography/paragraphs'
88
import { MonthState, RéductionDottedName } from '@/utils/réductionDeCotisations'
@@ -13,6 +13,7 @@ type Props = {
1313
data: MonthState[]
1414
codeRéduction?: string
1515
codeRégularisation?: string
16+
withRépartition?: boolean
1617
mobileVersion?: boolean
1718
}
1819

@@ -27,6 +28,7 @@ export default function RécapitulatifTrimestre({
2728
data,
2829
codeRéduction,
2930
codeRégularisation,
31+
withRépartition = true,
3032
mobileVersion = false,
3133
}: Props) {
3234
const { t, i18n } = useTranslation()
@@ -73,7 +75,7 @@ export default function RécapitulatifTrimestre({
7375

7476
const MontantRéduction = () => {
7577
return (
76-
<MontantAvecRépartition
78+
<Montant
7779
id={`recap-${label.replace(/\s|\./g, '_')}-réduction`}
7880
dottedName={dottedName}
7981
rémunérationBrute={rémunération}
@@ -82,13 +84,14 @@ export default function RécapitulatifTrimestre({
8284
displayedUnit={displayedUnit}
8385
language={language}
8486
alignment="center"
87+
withRépartition={withRépartition}
8588
/>
8689
)
8790
}
8891

8992
const MontantRégularisation = () => {
9093
return (
91-
<MontantAvecRépartition
94+
<Montant
9295
id={`recap-${label.replace(/\s|\./g, '_')}-régularisation`}
9396
dottedName={dottedName}
9497
rémunérationBrute={rémunération}
@@ -97,6 +100,7 @@ export default function RécapitulatifTrimestre({
97100
displayedUnit={displayedUnit}
98101
language={language}
99102
alignment="center"
103+
withRépartition={withRépartition}
100104
/>
101105
)
102106
}

site/source/components/RéductionDeCotisations/RéductionBasique.tsx

+5-1
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ type Props = {
2424
warnings: ReactNode
2525
warningCondition: PublicodesExpression
2626
warningMessage: ReactNode
27+
withRépartition?: boolean
2728
}
2829

2930
export default function RéductionBasique({
@@ -32,6 +33,7 @@ export default function RéductionBasique({
3233
warnings,
3334
warningCondition,
3435
warningMessage,
36+
withRépartition = true,
3537
}: Props) {
3638
const engine = useEngine()
3739
const currentUnit = useSelector(targetUnitSelector)
@@ -63,7 +65,9 @@ export default function RéductionBasique({
6365
round={false}
6466
/>
6567
<Spacing md />
66-
<Répartition dottedName={dottedName} répartition={répartition} />
68+
{withRépartition && (
69+
<Répartition dottedName={dottedName} répartition={répartition} />
70+
)}
6771
</Condition>
6872
</>
6973
)

site/source/components/RéductionDeCotisations/RéductionMois.tsx

+7-3
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import { useTranslation } from 'react-i18next'
44
import { styled } from 'styled-components'
55

66
import NumberInput from '@/components/conversation/NumberInput'
7-
import MontantAvecRépartition from '@/components/RéductionDeCotisations/MontantAvecRépartition'
7+
import Montant from '@/components/RéductionDeCotisations/Montant'
88
import MonthOptions from '@/components/RéductionDeCotisations/MonthOptions'
99
import RuleLink from '@/components/RuleLink'
1010
import { useEngine } from '@/components/utils/EngineContext'
@@ -31,6 +31,7 @@ type Props = {
3131
onOptionsChange: (monthIndex: number, options: Options) => void
3232
warningCondition: PublicodesExpression
3333
warningTooltip: ReactNode
34+
withRépartition?: boolean
3435
mobileVersion?: boolean
3536
}
3637

@@ -43,6 +44,7 @@ export default function RéductionMois({
4344
onOptionsChange,
4445
warningCondition,
4546
warningTooltip,
47+
withRépartition = true,
4648
mobileVersion = false,
4749
}: Props) {
4850
const { t, i18n } = useTranslation()
@@ -113,7 +115,7 @@ export default function RéductionMois({
113115

114116
const MontantRéduction = () => {
115117
return (
116-
<MontantAvecRépartition
118+
<Montant
117119
id={`${dottedName.replace(/\s|\./g, '_')}-${monthName}`}
118120
dottedName={dottedName}
119121
rémunérationBrute={data.rémunérationBrute}
@@ -123,20 +125,22 @@ export default function RéductionMois({
123125
language={language}
124126
warningCondition={warningCondition}
125127
warningTooltip={warningTooltip}
128+
withRépartition={withRépartition}
126129
/>
127130
)
128131
}
129132

130133
const MontantRégularisation = () => {
131134
return (
132-
<MontantAvecRépartition
135+
<Montant
133136
id={`${dottedName.replace(/\s|\./g, '_')}__régularisation-${monthName}`}
134137
dottedName={dottedName}
135138
rémunérationBrute={data.rémunérationBrute}
136139
réduction={data.régularisation.value}
137140
répartition={data.régularisation.répartition}
138141
displayedUnit={displayedUnit}
139142
language={language}
143+
withRépartition={withRépartition}
140144
/>
141145
)
142146
}

site/source/components/RéductionDeCotisations/RéductionMoisParMois.tsx

+6
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ type Props = {
2929
warningTooltip: ReactNode
3030
codeRéduction?: string
3131
codeRégularisation?: string
32+
withRépartition?: boolean
3233
}
3334

3435
export default function RéductionMoisParMois({
@@ -42,6 +43,7 @@ export default function RéductionMoisParMois({
4243
warningTooltip,
4344
codeRéduction,
4445
codeRégularisation,
46+
withRépartition = true,
4547
}: Props) {
4648
const { t } = useTranslation()
4749
const isDesktop = useMediaQuery(
@@ -118,6 +120,7 @@ export default function RéductionMoisParMois({
118120
}}
119121
warningCondition={warningCondition}
120122
warningTooltip={warningTooltip}
123+
withRépartition={withRépartition}
121124
/>
122125
))}
123126
</tbody>
@@ -176,6 +179,7 @@ export default function RéductionMoisParMois({
176179
data={quarters[label]}
177180
codeRéduction={codeRéduction}
178181
codeRégularisation={codeRégularisation}
182+
withRépartition={withRépartition}
179183
/>
180184
))}
181185
</tbody>
@@ -203,6 +207,7 @@ export default function RéductionMoisParMois({
203207
}}
204208
warningCondition={warningCondition}
205209
warningTooltip={warningTooltip}
210+
withRépartition={withRépartition}
206211
mobileVersion={true}
207212
/>
208213
))}
@@ -223,6 +228,7 @@ export default function RéductionMoisParMois({
223228
data={quarters[label]}
224229
codeRéduction={codeRéduction}
225230
codeRégularisation={codeRégularisation}
231+
withRépartition={withRépartition}
226232
mobileVersion={true}
227233
/>
228234
))}

site/source/pages/simulateurs/lodeom/Goals.tsx

+4
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import RéductionMoisParMois from '@/components/RéductionDeCotisations/Réducti
77
import { SimulationGoals } from '@/components/Simulation'
88
import { useEngine } from '@/components/utils/EngineContext'
99
import useYear from '@/components/utils/useYear'
10+
import { useZoneLodeom } from '@/hooks/useZoneLodeom'
1011
import { situationSelector } from '@/store/selectors/simulationSelectors'
1112
import {
1213
getDataAfterOptionsChange,
@@ -40,6 +41,7 @@ export default function LodeomSimulationGoals({
4041
const year = useYear()
4142
const situation = useSelector(situationSelector) as SituationType
4243
const previousSituation = useRef(situation)
44+
const currentZone = useZoneLodeom()
4345
const { t } = useTranslation()
4446

4547
const codeRéduction = engine.evaluate(
@@ -133,6 +135,7 @@ export default function LodeomSimulationGoals({
133135
code: codeRégularisation,
134136
})
135137
}
138+
withRépartition={currentZone === 'zone un'}
136139
/>
137140
) : (
138141
<RéductionBasique
@@ -141,6 +144,7 @@ export default function LodeomSimulationGoals({
141144
warnings={<Warnings />}
142145
warningCondition={`${lodeomDottedName} = 0`}
143146
warningMessage={<WarningSalaireTrans />}
147+
withRépartition={currentZone === 'zone un'}
144148
/>
145149
)}
146150
</SimulationGoals>

0 commit comments

Comments
 (0)