- Deleted apps/web/src/utils/optimisticStoreUpdates.ts (unused file) - File was unused - no imports found in codebase - Mutations already use React Query's onMutate pattern - No TypeScript errors after deletion - Actions 4.4.1.2 and 4.4.1.3 complete
34 lines
1.1 KiB
TypeScript
34 lines
1.1 KiB
TypeScript
/**
|
|
* LazyToaster - Composant lazy pour react-hot-toast
|
|
*
|
|
* CRITICAL FIX: Charge react-hot-toast de manière lazy pour éviter
|
|
* les collisions de noms de variables (ie) lors de la minification.
|
|
*
|
|
* Le problème: react-hot-toast utilise une variable 'ie' qui entre
|
|
* en conflit avec d'autres variables minifiées dans le même chunk.
|
|
* Solution: Chargement dynamique pour isoler le module.
|
|
*/
|
|
|
|
import { lazy, Suspense } from 'react';
|
|
|
|
// Import dynamique de react-hot-toast pour éviter les collisions de noms
|
|
const Toaster = lazy(() =>
|
|
import('react-hot-toast').then((mod) => ({ default: mod.Toaster }))
|
|
);
|
|
|
|
interface LazyToasterProps {
|
|
position?: 'top-left' | 'top-center' | 'top-right' | 'bottom-left' | 'bottom-center' | 'bottom-right';
|
|
[key: string]: any; // Permet de passer toutes les autres props à Toaster
|
|
}
|
|
|
|
/**
|
|
* Composant wrapper qui charge Toaster de manière lazy
|
|
* Aucun fallback nécessaire car Toaster est invisible jusqu'à ce qu'un toast soit affiché
|
|
*/
|
|
export function LazyToaster(props: LazyToasterProps) {
|
|
return (
|
|
<Suspense fallback={null}>
|
|
<Toaster {...props} />
|
|
</Suspense>
|
|
);
|
|
}
|