Fix i18n type error

pull/2413/head
Jérémy Rialland 2022-11-23 18:32:37 +01:00 committed by Jérémy Rialland
parent 507618c730
commit f58d93b618
5 changed files with 19 additions and 7 deletions

View File

@ -1,5 +1,6 @@
import algoliasearch from 'algoliasearch'
import dotenv from 'dotenv'
import { TFunction } from 'i18next'
import rawRules from 'modele-social'
import Engine, { ParsedRules } from 'publicodes'
@ -152,7 +153,9 @@ try {
console.log('Uploading: simulateurs')
await simulateursIndex
.saveObjects(
formatSimulationDataToAlgolia(getSimulationData((_, text) => text))
formatSimulationDataToAlgolia(
getSimulationData(((_: string, text: string) => text) as TFunction)
)
)
.wait()

View File

@ -13,6 +13,7 @@ interface Units {
i18next
.use(initReactI18next)
.init({
returnNull: false,
resources: {
fr: { units: (unitsTranslations as Units).fr },
en: { units: (unitsTranslations as Units).en },

View File

@ -1,11 +1,11 @@
import { TFunction } from 'react-i18next'
import { TFunction } from 'i18next'
/**
* Contient l'intégralité des données concernant les différents simulateurs
* sans dépendance qui compliquerait leur import dans le script de mise à jour
* des données pour Algolia.
*/
const getMetadataSrc = (t: TFunction<'translation', string>) => {
const getMetadataSrc = (t: TFunction) => {
const data = {
salarié: {
tracking: 'salarie',

View File

@ -1,5 +1,6 @@
import type { TFunction } from 'i18next'
import { createContext, useMemo } from 'react'
import { TFunction, Trans, useTranslation } from 'react-i18next'
import { Trans, useTranslation } from 'react-i18next'
import styled, { css } from 'styled-components'
import { PlaceDesEntreprisesButton } from '@/components/PlaceDesEntreprises'
@ -62,7 +63,7 @@ import urlIllustrationNetBrut from './images/illustration-net-brut.png'
import getData from './metadata-src.js'
interface SimulatorsDataParams {
t: TFunction<'translation', string>
t: TFunction
sitePaths: AbsoluteSitePaths
language: string
}
@ -109,7 +110,6 @@ function getSimulatorsData({ t, sitePaths, language }: SimulatorsDataParams) {
'pages.simulateurs.salarié.alt-image1',
'Salaire net (perçu par le salarié) est égal à Salaire brut (inscrit dans le contrat de travail) moins cotisations salariales (retraite, csg, etc)'
)}
css={``}
/>
<Body>
Par ailleurs depuis 2019, l'
@ -746,7 +746,7 @@ export type ExtractFromSimuData<T extends string> = ExtractOrUndefined<
>[T]
export default function useSimulatorsData(): SimulatorData {
const { t, i18n } = useTranslation()
const [t, i18n] = useTranslation()
const { absoluteSitePaths } = useSitePaths()
return useMemo(

8
site/source/types/react-i18next.d.ts vendored Normal file
View File

@ -0,0 +1,8 @@
import 'react-i18next'
declare module 'i18next' {
interface CustomTypeOptions {
returnNull: false
allowObjectInHTMLChildren: true
}
}