blob: c7a133b7eca81ee8959a5b5e63bb85732b210b61 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
|
"use client";
import { createContext, useContext } from "react";
import { ZUserSettings } from "@karakeep/shared/types/users";
import { api } from "./trpc";
export const UserSettingsContext = createContext<ZUserSettings>({
bookmarkClickAction: "open_original_link",
archiveDisplayBehaviour: "show",
timezone: "UTC",
backupsEnabled: false,
backupsFrequency: "daily",
backupsRetentionDays: 7,
});
export function UserSettingsContextProvider({
userSettings,
children,
}: {
userSettings: ZUserSettings;
children: React.ReactNode;
}) {
const { data } = api.users.settings.useQuery(undefined, {
initialData: userSettings,
});
return (
<UserSettingsContext.Provider value={data}>
{children}
</UserSettingsContext.Provider>
);
}
export function useUserSettings() {
return useContext(UserSettingsContext);
}
|