MCPcopy Create free account
hub / github.com/triggerdotdev/jsonhero-web / PreferencesProvider

Function PreferencesProvider

app/components/PreferencesProvider.tsx:28–50  ·  view source on GitHub ↗
({
  children,
}: {
  children: ReactNode;
})

Source from the content-addressed store, hash-verified

26const savePreferences = (preferences: Preferences) => localStorage.setItem('preferences', JSON.stringify(preferences));
27
28export function PreferencesProvider({
29 children,
30}: {
31 children: ReactNode;
32}) {
33 const [preferences, setPreferences] = useState<Preferences>();
34
35 useEffect(() => {
36 const preferences = loadPreferences();
37 setPreferences(preferences);
38 }, []);
39
40 useEffect(() => {
41 if (preferences === undefined) return;
42 savePreferences(preferences);
43 }, [preferences]);
44
45 return (
46 <PreferencesContext.Provider value={[preferences, setPreferences]}>
47 {children}
48 </PreferencesContext.Provider>
49 );
50}
51
52export function usePreferences() {
53 const context = useContext(PreferencesContext);

Callers

nothing calls this directly

Calls 2

loadPreferencesFunction · 0.85
savePreferencesFunction · 0.85

Tested by

no test coverage detected