diff --git a/public/locales/en.json b/public/locales/en.json index c2f511da..bcd44455 100644 --- a/public/locales/en.json +++ b/public/locales/en.json @@ -869,6 +869,7 @@ "offset_spread_pages": "Toggle offset spread pages", "previous_chapter": "Previous chapter", "previous_page": "Previous page", + "reading_direction": "Cycle reading direction", "reading_mode": "Cycle reading mode", "scale_type": "Cycle image scale type", "scroll_backward": "Scroll backward", diff --git a/src/modules/reader/components/ReaderHotkeys.tsx b/src/modules/reader/components/ReaderHotkeys.tsx index 14cbe235..a60d9e96 100644 --- a/src/modules/reader/components/ReaderHotkeys.tsx +++ b/src/modules/reader/components/ReaderHotkeys.tsx @@ -17,6 +17,7 @@ import { getNextRotationValue } from '@/modules/core/utils/ValueRotationButton.u import { READER_PAGE_SCALE_MODE_VALUES, ReaderScrollAmount, + READING_DIRECTION_VALUES, READING_MODE_VALUES, } from '@/modules/reader/constants/ReaderSettings.constants.tsx'; import { useReaderStateMangaContext } from '@/modules/reader/contexts/state/ReaderStateMangaContext.tsx'; @@ -174,6 +175,21 @@ export const ReaderHotkeys = ({ }, [updateSetting, deleteSetting, readingMode.value, readingMode.isDefault], ); + useHotkeys( + hotkeys[ReaderHotkey.CYCLE_READING_DIRECTION], + () => { + updateSettingCycleThrough( + updateSetting, + deleteSetting, + 'readingDirection', + readingDirection.value, + READING_DIRECTION_VALUES, + readingDirection.isDefault, + true, + ); + }, + [updateSetting, deleteSetting, readingDirection.value, readingDirection.isDefault], + ); useEffect(() => { enableScope(HotkeyScope.READER); diff --git a/src/modules/reader/components/settings/hotkeys/ReaderSettingHotkey.tsx b/src/modules/reader/components/settings/hotkeys/ReaderSettingHotkey.tsx index 25b02d48..cf5d45f6 100644 --- a/src/modules/reader/components/settings/hotkeys/ReaderSettingHotkey.tsx +++ b/src/modules/reader/components/settings/hotkeys/ReaderSettingHotkey.tsx @@ -32,6 +32,7 @@ const READER_HOTKEY_TO_TITLE: Record = { [ReaderHotkey.STRETCH_IMAGE]: 'reader.settings.hotkey.stretch_image', [ReaderHotkey.OFFSET_SPREAD_PAGES]: 'reader.settings.hotkey.offset_spread_pages', [ReaderHotkey.CYCLE_READING_MODE]: 'reader.settings.hotkey.reading_mode', + [ReaderHotkey.CYCLE_READING_DIRECTION]: 'reader.settings.hotkey.reading_direction', }; export const ReaderSettingHotkey = ({ diff --git a/src/modules/reader/constants/ReaderSettings.constants.tsx b/src/modules/reader/constants/ReaderSettings.constants.tsx index 6dfcc4d2..0c9ee424 100644 --- a/src/modules/reader/constants/ReaderSettings.constants.tsx +++ b/src/modules/reader/constants/ReaderSettings.constants.tsx @@ -120,6 +120,7 @@ export const DEFAULT_READER_SETTINGS: IReaderSettings = { [ReaderHotkey.STRETCH_IMAGE]: ['f'], [ReaderHotkey.OFFSET_SPREAD_PAGES]: ['o'], [ReaderHotkey.CYCLE_READING_MODE]: ['r'], + [ReaderHotkey.CYCLE_READING_DIRECTION]: ['t'], }, imagePreLoadAmount: 5, }; diff --git a/src/modules/reader/types/Reader.types.ts b/src/modules/reader/types/Reader.types.ts index 6210707b..66cd32d3 100644 --- a/src/modules/reader/types/Reader.types.ts +++ b/src/modules/reader/types/Reader.types.ts @@ -205,6 +205,7 @@ export enum ReaderHotkey { STRETCH_IMAGE, OFFSET_SPREAD_PAGES, CYCLE_READING_MODE, + CYCLE_READING_DIRECTION, } export interface ReaderPagerProps