veza/apps/web/src/hooks/useTranslation.ts
senke 5bdb224970 [T0-003] fix(frontend): Corriger erreurs TypeScript/React
- Variables non utilisées préfixées avec _
- Badge variants corrigés (outline -> default/secondary)
- Types ApiError corrigés (rate_limit supprimé)
- Logger errors corrigés (LogContext au lieu de Error)
- Types PaginatedResponse corrigés (items au lieu de data)
- Types génériques complexes corrigés (stateCleanup, undoRedo)
- Fichiers .example.ts exclus du typecheck
- Status undefined vérifié dans client.ts

Résultats:
- npm run build  (réussit)
- npm run typecheck  (0 erreurs)
- npm run lint ⚠️ (1521 erreurs restantes - style/variables non utilisées)

Files: 35 fichiers modifiés
Hours: 6 estimated, 6 actual
2026-01-04 01:44:20 +01:00

31 lines
801 B
TypeScript

import { useTranslation as useI18nTranslation } from 'react-i18next';
import { useUIStore } from '@/stores/ui';
import type { UseTranslationReturn } from './types';
/**
* Hook pour gérer les traductions
* FE-TYPE-012: Fully typed hook return
*/
export function useTranslation(): UseTranslationReturn {
const { i18n, t } = useI18nTranslation();
const { language, setLanguage } = useUIStore();
const changeLanguage = (newLanguage: 'en' | 'fr') => {
void i18n.changeLanguage(newLanguage);
setLanguage(newLanguage);
};
return {
t,
i18n: {
...i18n,
changeLanguage: async (lng: string) => {
await i18n.changeLanguage(lng);
},
isInitialized: i18n.isInitialized,
},
language,
changeLanguage,
isReady: i18n.isInitialized,
};
}