add userPreferences electronStore and service to manage it

This commit is contained in:
Abhinav 2022-09-03 12:07:37 +05:30
parent 8d18b80102
commit 1294707949
3 changed files with 31 additions and 1 deletions

View file

@ -1,5 +1,10 @@
import Store, { Schema } from 'electron-store'; import Store, { Schema } from 'electron-store';
import { KeysStoreType, SafeStorageStoreType, UploadStoreType } from '../types'; import {
KeysStoreType,
SafeStorageStoreType,
UploadStoreType,
UserPreferencesType,
} from '../types';
export const uploadStoreSchema: Schema<UploadStoreType> = { export const uploadStoreSchema: Schema<UploadStoreType> = {
filePaths: { filePaths: {
@ -50,3 +55,14 @@ export const safeStorageStore = new Store({
name: 'safeStorage', name: 'safeStorage',
schema: safeStorageSchema, schema: safeStorageSchema,
}); });
export const userPreferencesSchema: Schema<UserPreferencesType> = {
hideDockIcon: {
type: 'boolean',
},
};
export const userPreferencesStore = new Store({
name: 'userPreferences',
schema: userPreferencesSchema,
});

View file

@ -0,0 +1,10 @@
import { userPreferencesStore } from './store';
export function getHideDockIconPreference() {
const shouldHideDockIcon = userPreferencesStore.get('hideDockIcon');
return shouldHideDockIcon;
}
export function setHideDockIconPreference(shouldHideDockIcon: boolean) {
userPreferencesStore.set('hideDockIcon', shouldHideDockIcon);
}

View file

@ -35,3 +35,7 @@ export const FILE_PATH_KEYS: {
export interface SafeStorageStoreType { export interface SafeStorageStoreType {
encryptionKey: string; encryptionKey: string;
} }
export interface UserPreferencesType {
hideDockIcon: boolean;
}