mirror of
https://github.com/exogen/t2-model-skinner.git
synced 2026-03-13 01:10:38 +00:00
31 lines
809 B
TypeScript
31 lines
809 B
TypeScript
import { ReactNode, useMemo, useState } from "react";
|
|
import { EnvironmentContext } from "./useEnvironment";
|
|
import useSettings from "./useSettings";
|
|
|
|
export default function EnvironmentProvider({
|
|
children,
|
|
}: {
|
|
children: ReactNode;
|
|
}) {
|
|
const [selectedEnvironment, setSelectedEnvironment] = useState<string | null>(
|
|
null
|
|
);
|
|
const { basePath } = useSettings();
|
|
|
|
const context = useMemo(() => {
|
|
const environmentImageUrl = selectedEnvironment
|
|
? `${basePath}/${selectedEnvironment}`
|
|
: null;
|
|
return {
|
|
selectedEnvironment,
|
|
setSelectedEnvironment,
|
|
environmentImageUrl,
|
|
};
|
|
}, [basePath, selectedEnvironment, setSelectedEnvironment]);
|
|
|
|
return (
|
|
<EnvironmentContext.Provider value={context}>
|
|
{children}
|
|
</EnvironmentContext.Provider>
|
|
);
|
|
}
|