mirror of
https://github.com/jeffvli/feishin.git
synced 2026-05-09 20:29:36 +02:00
split settings store to multiple localstorage keys
This commit is contained in:
@@ -1,7 +1,7 @@
|
|||||||
import isElectron from 'is-electron';
|
import isElectron from 'is-electron';
|
||||||
import { generatePath } from 'react-router';
|
import { generatePath } from 'react-router';
|
||||||
import { z } from 'zod';
|
import { z } from 'zod';
|
||||||
import { devtools, persist } from 'zustand/middleware';
|
import { createJSONStorage, devtools, persist } from 'zustand/middleware';
|
||||||
import { immer } from 'zustand/middleware/immer';
|
import { immer } from 'zustand/middleware/immer';
|
||||||
import { shallow } from 'zustand/shallow';
|
import { shallow } from 'zustand/shallow';
|
||||||
import { createWithEqualityFn } from 'zustand/traditional';
|
import { createWithEqualityFn } from 'zustand/traditional';
|
||||||
@@ -18,7 +18,7 @@ import {
|
|||||||
SONG_TABLE_COLUMNS,
|
SONG_TABLE_COLUMNS,
|
||||||
} from '/@/renderer/components/item-list/item-table-list/default-columns';
|
} from '/@/renderer/components/item-list/item-table-list/default-columns';
|
||||||
import { AppRoute } from '/@/renderer/router/routes';
|
import { AppRoute } from '/@/renderer/router/routes';
|
||||||
import { mergeOverridingColumns } from '/@/renderer/store/utils';
|
import { mergeOverridingColumns, splitSettingsStorage } from '/@/renderer/store/utils';
|
||||||
import { FontValueSchema } from '/@/renderer/types/fonts';
|
import { FontValueSchema } from '/@/renderer/types/fonts';
|
||||||
import { randomString } from '/@/renderer/utils';
|
import { randomString } from '/@/renderer/utils';
|
||||||
import { sanitizeCss } from '/@/renderer/utils/sanitize';
|
import { sanitizeCss } from '/@/renderer/utils/sanitize';
|
||||||
@@ -1393,7 +1393,7 @@ export const useSettingsStore = createWithEqualityFn<SettingsSlice>()(
|
|||||||
),
|
),
|
||||||
{
|
{
|
||||||
merge: mergeOverridingColumns,
|
merge: mergeOverridingColumns,
|
||||||
migrate(persistedState, version) {
|
migrate(persistedState, version): SettingsSlice {
|
||||||
const state = persistedState as SettingsSlice;
|
const state = persistedState as SettingsSlice;
|
||||||
|
|
||||||
if (version === 8) {
|
if (version === 8) {
|
||||||
@@ -1441,7 +1441,7 @@ export const useSettingsStore = createWithEqualityFn<SettingsSlice>()(
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (version <= 11) {
|
if (version <= 11) {
|
||||||
return {};
|
return getInitialState() as SettingsSlice;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (version <= 12) {
|
if (version <= 12) {
|
||||||
@@ -1460,9 +1460,10 @@ export const useSettingsStore = createWithEqualityFn<SettingsSlice>()(
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
return persistedState;
|
return state;
|
||||||
},
|
},
|
||||||
name: 'store_settings',
|
name: 'store_settings',
|
||||||
|
storage: createJSONStorage(() => splitSettingsStorage),
|
||||||
version: 14,
|
version: 14,
|
||||||
},
|
},
|
||||||
),
|
),
|
||||||
|
|||||||
Reference in New Issue
Block a user