Files
Remote-Terminal-for-MeshCore/frontend/src/contexts/DistanceUnitContext.tsx
2026-03-19 17:56:04 -07:00

32 lines
770 B
TypeScript

import { createContext, useContext, type ReactNode } from 'react';
import type { DistanceUnit } from '../utils/distanceUnits';
interface DistanceUnitContextValue {
distanceUnit: DistanceUnit;
setDistanceUnit: (unit: DistanceUnit) => void;
}
const noop = () => {};
const DistanceUnitContext = createContext<DistanceUnitContextValue>({
distanceUnit: 'metric',
setDistanceUnit: noop,
});
export function DistanceUnitProvider({
distanceUnit,
setDistanceUnit,
children,
}: DistanceUnitContextValue & { children: ReactNode }) {
return (
<DistanceUnitContext.Provider value={{ distanceUnit, setDistanceUnit }}>
{children}
</DistanceUnitContext.Provider>
);
}
export function useDistanceUnit() {
return useContext(DistanceUnitContext);
}