mirror of
https://github.com/kremalicious/umami.git
synced 2025-02-11 16:12:33 +01:00
31 lines
673 B
JavaScript
31 lines
673 B
JavaScript
|
import create from 'zustand';
|
||
|
import { DEFAULT_LOCALE, DEFAULT_THEME, LOCALE_CONFIG, THEME_CONFIG } from 'lib/constants';
|
||
|
import { getItem } from 'lib/web';
|
||
|
|
||
|
const initialState = {
|
||
|
locale: getItem(LOCALE_CONFIG) || DEFAULT_LOCALE,
|
||
|
theme: getItem(THEME_CONFIG) || DEFAULT_THEME,
|
||
|
shareToken: null,
|
||
|
user: null,
|
||
|
};
|
||
|
|
||
|
const store = create(() => ({ ...initialState }));
|
||
|
|
||
|
export function setTheme(theme) {
|
||
|
store.setState({ theme });
|
||
|
}
|
||
|
|
||
|
export function setLocale(locale) {
|
||
|
store.setState({ locale });
|
||
|
}
|
||
|
|
||
|
export function setShareToken(shareToken) {
|
||
|
store.setState({ shareToken });
|
||
|
}
|
||
|
|
||
|
export function setUser(user) {
|
||
|
store.setState({ user });
|
||
|
}
|
||
|
|
||
|
export default store;
|