mirror of
https://github.com/jkingsman/Remote-Terminal-for-MeshCore.git
synced 2026-05-06 05:22:45 +02:00
32 lines
770 B
TypeScript
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);
|
|
}
|