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-02-28 13:48:59 +05:00
|
|
|
import { ACCENT, COLOR_SCHEME_DARK, COLOR_SCHEME_LIGHT } from '../src/utils/color-scheme';
|
|
|
|
|
import { MMKV } from '../src/utils/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 () => {
|
|
|
|
|
let accent = await MMKV.getItem('accentColor');
|
|
|
|
|
if (accent) {
|
|
|
|
|
accent = {
|
2022-01-25 11:10:22 +05:00
|
|
|
color: accent,
|
|
|
|
|
shade: accent + '12'
|
|
|
|
|
};
|
|
|
|
|
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 () => {
|
|
|
|
|
let note = await MMKV.getItem('shareMenuAppendNote');
|
|
|
|
|
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
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}));
|