Skip to content

Commit d506f1d

Browse files
committed
fix: plane on teletravail
1 parent 55ca224 commit d506f1d

1 file changed

Lines changed: 15 additions & 6 deletions

File tree

src/components/outils/TeletravailSimulator.tsx

Lines changed: 15 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,12 @@ import Image from 'next/image'
55
import { useEffect, useMemo, useRef } from 'react'
66
import useParamContext from 'src/providers/ParamProvider'
77
import { Category } from 'types/category'
8-
import { ComputedEquivalent, DeplacementType } from 'types/equivalent'
8+
import { ComputedEquivalent, DeplacementEquivalent, DeplacementType } from 'types/equivalent'
99
import { categories } from 'data/categories'
1010
import { deplacements } from 'data/categories/deplacement'
1111
import formatNumber from 'utils/formatNumber'
1212
import { track } from 'utils/matomo'
13+
import { filterByDistance } from 'utils/transport'
1314
import useItineraries from 'hooks/useItineraries'
1415
import LocalNumber from 'components/base/LocalNumber'
1516
import Etiquette from 'components/comparateur/Etiquette'
@@ -45,11 +46,19 @@ const TeletravailSimulator = () => {
4546
} = useParamContext()
4647

4748
const t = useTranslations('transport.teletravail')
48-
const deplacement = useMemo(
49-
() => transports.find((x) => x.slug === transport) as ComputedEquivalent & { type: DeplacementType },
50-
[transport]
51-
)
5249
const { data: itineraries } = useItineraries(start, end, 'télétravail')
50+
const deplacement = useMemo(() => {
51+
if (transport === 'avion') {
52+
const avions = transports.filter((x) => x.slug.startsWith('avion')) as DeplacementEquivalent[]
53+
const distance = itineraries?.plane || 0
54+
return (avions.find((avion) => filterByDistance(avion.display, distance)) || avions[0]) as ComputedEquivalent & {
55+
type: DeplacementType
56+
}
57+
} else {
58+
return transports.find((x) => x.slug === transport) as ComputedEquivalent & { type: DeplacementType }
59+
}
60+
}, [transport, itineraries])
61+
5362
const total = useMemo(() => {
5463
if (itineraries && deplacement) {
5564
const distance = itineraries[deplacement.type]
@@ -151,7 +160,7 @@ const TeletravailSimulator = () => {
151160
<span className={styles.header}>{t('or')}</span>
152161
<span className={styles.greenValue}>
153162
<span className={styles.number} data-testid='teletravail-saved-percent'>
154-
<LocalNumber number={formatNumber((0.75 * homeOffice * total) / 99)} />
163+
<LocalNumber number={formatNumber((0.75 * homeOffice * total) / 91)} />
155164
</span>{' '}
156165
%
157166
</span>

0 commit comments

Comments
 (0)