diff options
Diffstat (limited to 'apps/web/src/stores')
| -rw-r--r-- | apps/web/src/stores/keybindings/migrations/index.ts | 4 | ||||
| -rw-r--r-- | apps/web/src/stores/keybindings/migrations/v6-to-v7.ts | 19 |
2 files changed, 22 insertions, 1 deletions
diff --git a/apps/web/src/stores/keybindings/migrations/index.ts b/apps/web/src/stores/keybindings/migrations/index.ts index 330c7df7..71fd81a6 100644 --- a/apps/web/src/stores/keybindings/migrations/index.ts +++ b/apps/web/src/stores/keybindings/migrations/index.ts @@ -2,6 +2,7 @@ import { v2ToV3 } from "./v2-to-v3"; import { v3ToV4 } from "./v3-to-v4"; import { v4ToV5 } from "./v4-to-v5"; import { v5ToV6 } from "./v5-to-v6"; +import { v6ToV7 } from "./v6-to-v7"; type MigrationFn = ({ state }: { state: unknown }) => unknown; @@ -10,9 +11,10 @@ const migrations: Record<number, MigrationFn> = { 3: v3ToV4, 4: v4ToV5, 5: v5ToV6, + 6: v6ToV7, }; -export const CURRENT_VERSION = 6; +export const CURRENT_VERSION = 7; export function runMigrations({ state, diff --git a/apps/web/src/stores/keybindings/migrations/v6-to-v7.ts b/apps/web/src/stores/keybindings/migrations/v6-to-v7.ts new file mode 100644 index 00000000..8c5fd96c --- /dev/null +++ b/apps/web/src/stores/keybindings/migrations/v6-to-v7.ts @@ -0,0 +1,19 @@ +import type { KeybindingConfig } from "@/lib/actions/keybinding"; + +interface V6State { + keybindings: KeybindingConfig; + isCustomized: boolean; +} + +export function v6ToV7({ state }: { state: unknown }): unknown { + const v6 = state as V6State; + const keybindings = { ...v6.keybindings }; + + for (const key of Object.keys(keybindings) as Array<keyof KeybindingConfig>) { + if (keybindings[key] === ("split-element" as never)) { + keybindings[key] = "split"; + } + } + + return { ...v6, keybindings }; +} |
