types.ts
1 import type { HotkeyModifierKey } from '@/hotkey/constants'; 2 import type { Hotkey as HotkeyV2 } from '@/hotkey/types'; 3 4 // v1 5 6 export interface HotkeyV1 { 7 mods: HotkeyModifierKey[]; 8 key: string; 9 } 10 11 export interface PlayerSettingsV1 { 12 isPreventPlaybackRateChange: boolean; 13 toggleDislikeHotkey: HotkeyV1 | undefined; 14 toggleBookmarkHotkey: HotkeyV1 | undefined; 15 toggleFullscreenHotkey: HotkeyV1 | undefined; 16 } 17 18 // v2 19 20 export interface PlayerSettingsV2 21 extends Omit< 22 PlayerSettingsV1, 23 'toggleDislikeHotkey' | 'toggleBookmarkHotkey' | 'toggleFullscreenHotkey' 24 > { 25 toggleDislikeHotkey: HotkeyV2 | undefined; 26 toggleBookmarkHotkey: HotkeyV2 | undefined; 27 toggleFullscreenHotkey: HotkeyV2 | undefined; 28 } 29 30 // v3 31 32 export interface PlayerSettingsV3 extends PlayerSettingsV2 { 33 copyCoubPermalinkHotkey: HotkeyV2 | undefined; 34 } 35 36 // v4 37 38 export type PlayerSettingsV4 = Omit<PlayerSettingsV3, 'copyCoubPermalinkHotkey'>;