diff --git a/apps/mobile/app/screens/settings/editor/state.ts b/apps/mobile/app/screens/settings/editor/state.ts index bf84fe521..4ceb0222a 100644 --- a/apps/mobile/app/screens/settings/editor/state.ts +++ b/apps/mobile/app/screens/settings/editor/state.ts @@ -17,14 +17,14 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . */ +import { CURRENT_TOOLBAR_VERSION, migrateToolbar } from "@notesnook/common"; import type { ToolbarGroupDefinition } from "@notesnook/editor/dist/toolbar/types"; import create, { State } from "zustand"; -import { persist, StateStorage } from "zustand/middleware"; -import { DatabaseLogger, db } from "../../../common/database"; +import { StateStorage, persist } from "zustand/middleware"; +import { db } from "../../../common/database"; import { MMKV } from "../../../common/database/mmkv"; import { useSettingStore } from "../../../stores/use-setting-store"; import { presets } from "./toolbar-definition"; -import { ToolbarConfig } from "@notesnook/core"; export type ToolDefinition = string | string[]; export type DraggedItem = { @@ -56,25 +56,6 @@ function clone(value: T[]) { return JSON.parse(JSON.stringify(value)); } -function migrateToolbar(tools: ToolbarConfig) { - const version = MMKV.getInt("editor:tools_version") || 0; - - switch (version) { - case 0: { - tools.config?.push(["checkList"]); - DatabaseLogger.info(`Toolbar migrated to version ${version + 1}`); - MMKV.setInt("editor:tools_version", version + 1); - db.settings.setToolbarConfig("mobile", tools); - break; - } - default: { - break; - } - } - console.log(tools); - return tools; -} - export const useDragState = create( persist( (set, get) => ({ @@ -93,7 +74,8 @@ export const useDragState = create( useSettingStore.getState().deviceMode || ("mobile" as any), { preset: "custom", - config: clone(_data) + config: clone(_data), + version: CURRENT_TOOLBAR_VERSION } ); set({ data: _data, preset: "custom", customPresetData: _data }); @@ -103,7 +85,8 @@ export const useDragState = create( useSettingStore.getState().deviceMode || ("mobile" as any), { preset, - config: preset === "custom" ? clone(get().customPresetData) : [] + config: preset === "custom" ? clone(get().customPresetData) : [], + version: CURRENT_TOOLBAR_VERSION } ); set({ @@ -125,7 +108,11 @@ export const useDragState = create( return; } - toolbarConfig = migrateToolbar(toolbarConfig); + toolbarConfig = await migrateToolbar( + useSettingStore.getState().deviceMode || ("mobile" as any), + toolbarConfig + ); + const preset = toolbarConfig?.preset as DragState["preset"]; set({ preset: preset,