Initial commit: igny8 project

This commit is contained in:
igny8
2025-11-09 10:27:02 +00:00
commit 60b8188111
27265 changed files with 4360521 additions and 0 deletions

View File

@@ -0,0 +1,42 @@
import { createContext, useContext, useState, ReactNode } from 'react';
interface HeaderMetric {
label: string;
value: string | number;
accentColor: 'blue' | 'green' | 'amber' | 'purple';
}
interface HeaderMetricsContextType {
metrics: HeaderMetric[];
setMetrics: (metrics: HeaderMetric[]) => void;
clearMetrics: () => void;
}
const HeaderMetricsContext = createContext<HeaderMetricsContextType | undefined>(undefined);
export const useHeaderMetrics = () => {
const context = useContext(HeaderMetricsContext);
if (!context) {
throw new Error('useHeaderMetrics must be used within a HeaderMetricsProvider');
}
return context;
};
interface HeaderMetricsProviderProps {
children: ReactNode;
}
export const HeaderMetricsProvider: React.FC<HeaderMetricsProviderProps> = ({ children }) => {
const [metrics, setMetrics] = useState<HeaderMetric[]>([]);
const clearMetrics = () => {
setMetrics([]);
};
return (
<HeaderMetricsContext.Provider value={{ metrics, setMetrics, clearMetrics }}>
{children}
</HeaderMetricsContext.Provider>
);
};