2021-12-25 09:33:10 +05:00
|
|
|
import { Appearance } from 'react-native';
|
2021-10-11 11:25:22 +05:00
|
|
|
import create from 'zustand';
|
2022-08-16 16:48:10 +05:00
|
|
|
import { ACCENT, COLOR_SCHEME_DARK, COLOR_SCHEME_LIGHT } from '../app/utils/color-scheme';
|
|
|
|
|
import { MMKV } from '../app/common/database/mmkv';
|
2021-10-11 11:25:22 +05:00
|
|
|
|
|
|
|
|
export const useShareStore = create((set, get) => ({
|
2022-01-25 11:10:22 +05:00
|
|
|
colors: Appearance.getColorScheme() === 'dark' ? COLOR_SCHEME_DARK : COLOR_SCHEME_LIGHT,
|
|
|
|
|
accent: ACCENT,
|
2021-12-25 09:33:10 +05:00
|
|
|
setAccent: async () => {
|
2022-04-13 03:00:04 +05:00
|
|
|
let appSettings = MMKV.getString('appSettings');
|
2022-03-03 15:09:30 +05:00
|
|
|
|
|
|
|
|
if (appSettings) {
|
|
|
|
|
appSettings = JSON.parse(appSettings);
|
|
|
|
|
let accentColor = appSettings.theme?.accent || ACCENT.color;
|
|
|
|
|
|
|
|
|
|
let accent = {
|
|
|
|
|
color: accentColor,
|
|
|
|
|
shade: accentColor + '12'
|
2022-01-25 11:10:22 +05:00
|
|
|
};
|
|
|
|
|
set({ accent: accent });
|
|
|
|
|
}
|
2021-12-25 09:33:10 +05:00
|
|
|
},
|
2022-01-25 19:43:58 +05:00
|
|
|
setColors: () => {
|
|
|
|
|
set({
|
|
|
|
|
colors: Appearance.getColorScheme() === 'dark' ? COLOR_SCHEME_DARK : COLOR_SCHEME_LIGHT
|
|
|
|
|
});
|
|
|
|
|
},
|
2021-10-11 11:25:22 +05:00
|
|
|
appendNote: null,
|
|
|
|
|
setAppendNote: note => {
|
|
|
|
|
MMKV.setItem('shareMenuAppendNote', JSON.stringify(note));
|
2022-01-25 11:10:22 +05:00
|
|
|
set({ appendNote: note });
|
2021-10-11 11:25:22 +05:00
|
|
|
},
|
|
|
|
|
restoreAppendNote: async () => {
|
2022-04-13 03:00:04 +05:00
|
|
|
let note = MMKV.getString('shareMenuAppendNote');
|
2021-10-11 11:25:22 +05:00
|
|
|
if (note) {
|
|
|
|
|
note = JSON.parse(note);
|
2022-01-25 11:10:22 +05:00
|
|
|
set({ appendNote: note });
|
2021-10-11 11:25:22 +05:00
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}));
|