Fit: ajout des context user et ressources pour l'ajout de chantier

This commit is contained in:
Amaël Kesteman
2025-12-11 11:47:38 +01:00
parent e24ee56c27
commit d62a11ed77
6 changed files with 84 additions and 4 deletions

33
app/ContextRessource.tsx Normal file
View File

@@ -0,0 +1,33 @@
import { Ressources } from "@/class/class";
import { createContext, ReactNode, useContext, useMemo, useState } from "react";
type RessourcesContextType = {
ressources: Ressources[];
setRessources: (list: Ressources[]) => void;
};
const RessourcesContext = createContext<RessourcesContextType | null>(null);
type RessourcesProviderProps = {
children: ReactNode;
};
export const RessourcesProvider = ({ children }: RessourcesProviderProps) => {
const [ressources, setRessources] = useState<Ressources[]>([]);
const value = useMemo(() => ({ ressources, setRessources }), [ressources]);
return (
<RessourcesContext.Provider value={value}>
{children}
</RessourcesContext.Provider>
);
};
export const useRessources = () => {
const context = useContext(RessourcesContext);
if (!context) {
throw new Error("useRessources doit être utilisé dans <RessourcesProvider>");
}
return context;
};