mirror of
https://github.com/gethomepage/homepage.git
synced 2026-04-04 01:01:22 -07:00
16 lines
543 B
JavaScript
16 lines
543 B
JavaScript
import { createContext, useEffect, useMemo, useState } from "react";
|
|
|
|
export const SettingsContext = createContext();
|
|
|
|
export function SettingsProvider({ initialSettings, children }) {
|
|
const [settings, setSettings] = useState(() => initialSettings ?? {});
|
|
|
|
useEffect(() => {
|
|
if (initialSettings !== undefined) setSettings(initialSettings ?? {});
|
|
}, [initialSettings]);
|
|
|
|
const value = useMemo(() => ({ settings, setSettings }), [settings]);
|
|
|
|
return <SettingsContext.Provider value={value}>{children}</SettingsContext.Provider>;
|
|
}
|