diff options
Diffstat (limited to 'apps/web/src/stores/keybindings/migrations')
5 files changed, 24 insertions, 5 deletions
diff --git a/apps/web/src/stores/keybindings/migrations/index.ts b/apps/web/src/stores/keybindings/migrations/index.ts index e6641f41..330c7df7 100644 --- a/apps/web/src/stores/keybindings/migrations/index.ts +++ b/apps/web/src/stores/keybindings/migrations/index.ts @@ -1,6 +1,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"; type MigrationFn = ({ state }: { state: unknown }) => unknown; @@ -8,9 +9,10 @@ const migrations: Record<number, MigrationFn> = { 2: v2ToV3, 3: v3ToV4, 4: v4ToV5, + 5: v5ToV6, }; -export const CURRENT_VERSION = 5; +export const CURRENT_VERSION = 6; export function runMigrations({ state, diff --git a/apps/web/src/stores/keybindings/migrations/v2-to-v3.ts b/apps/web/src/stores/keybindings/migrations/v2-to-v3.ts index 1517b52b..da0df588 100644 --- a/apps/web/src/stores/keybindings/migrations/v2-to-v3.ts +++ b/apps/web/src/stores/keybindings/migrations/v2-to-v3.ts @@ -1,4 +1,4 @@ -import type { KeybindingConfig, ShortcutKey } from "@/types/keybinding"; +import type { KeybindingConfig, ShortcutKey } from "@/lib/actions/keybinding"; import type { TActionWithOptionalArgs } from "@/lib/actions"; interface V2State { diff --git a/apps/web/src/stores/keybindings/migrations/v3-to-v4.ts b/apps/web/src/stores/keybindings/migrations/v3-to-v4.ts index b53e082f..be3b4a64 100644 --- a/apps/web/src/stores/keybindings/migrations/v3-to-v4.ts +++ b/apps/web/src/stores/keybindings/migrations/v3-to-v4.ts @@ -1,6 +1,6 @@ import type { TActionWithOptionalArgs } from "@/lib/actions"; -import type { ShortcutKey } from "@/types/keybinding"; -import type { KeybindingConfig } from "@/types/keybinding"; +import type { ShortcutKey } from "@/lib/actions/keybinding"; +import type { KeybindingConfig } from "@/lib/actions/keybinding"; interface V3State { keybindings: KeybindingConfig; diff --git a/apps/web/src/stores/keybindings/migrations/v4-to-v5.ts b/apps/web/src/stores/keybindings/migrations/v4-to-v5.ts index 2ab39247..4e23e0f4 100644 --- a/apps/web/src/stores/keybindings/migrations/v4-to-v5.ts +++ b/apps/web/src/stores/keybindings/migrations/v4-to-v5.ts @@ -1,4 +1,4 @@ -import type { KeybindingConfig } from "@/types/keybinding"; +import type { KeybindingConfig } from "@/lib/actions/keybinding"; interface V4State { keybindings: KeybindingConfig; diff --git a/apps/web/src/stores/keybindings/migrations/v5-to-v6.ts b/apps/web/src/stores/keybindings/migrations/v5-to-v6.ts new file mode 100644 index 00000000..3545815d --- /dev/null +++ b/apps/web/src/stores/keybindings/migrations/v5-to-v6.ts @@ -0,0 +1,17 @@ +import type { KeybindingConfig } from "@/lib/actions/keybinding"; + +interface V5State { + keybindings: KeybindingConfig; + isCustomized: boolean; +} + +export function v5ToV6({ state }: { state: unknown }): unknown { + const v5 = state as V5State; + const keybindings = { ...v5.keybindings }; + + if (keybindings.escape === "deselect-all") { + keybindings.escape = "cancel-interaction"; + } + + return { ...v5, keybindings }; +} |
