diff --git a/src/modules/core/components/buttons/ResetButton.tsx b/src/modules/core/components/buttons/ResetButton.tsx index bdab835f..9eb7c998 100644 --- a/src/modules/core/components/buttons/ResetButton.tsx +++ b/src/modules/core/components/buttons/ResetButton.tsx @@ -9,12 +9,28 @@ import Button, { ButtonProps } from '@mui/material/Button'; import { useTranslation } from 'react-i18next'; import RestartAltIcon from '@mui/icons-material/RestartAlt'; +import Tooltip from '@mui/material/Tooltip'; +import IconButton, { IconButtonProps } from '@mui/material/IconButton'; -export const ResetButton = (props: ButtonProps) => { +type PropsIconButton = { asIconButton: true } & IconButtonProps; +type PropsButton = { asIconButton?: false } & ButtonProps; +type Props = PropsIconButton | PropsButton; + +export const ResetButton = ({ asIconButton, ...props }: Props) => { const { t } = useTranslation(); + if (asIconButton) { + return ( + + + + + + ); + } + return ( - ); diff --git a/src/modules/core/components/inputs/SliderInput.tsx b/src/modules/core/components/inputs/SliderInput.tsx index e2d5afb5..70488daa 100644 --- a/src/modules/core/components/inputs/SliderInput.tsx +++ b/src/modules/core/components/inputs/SliderInput.tsx @@ -36,6 +36,6 @@ export const SliderInput = ({ - {onDefault && } + {onDefault && } ); diff --git a/src/modules/reader/components/settings/filters/ReaderFilterSettings.tsx b/src/modules/reader/components/settings/filters/ReaderFilterSettings.tsx index e5197a88..7e5b374e 100644 --- a/src/modules/reader/components/settings/filters/ReaderFilterSettings.tsx +++ b/src/modules/reader/components/settings/filters/ReaderFilterSettings.tsx @@ -16,6 +16,8 @@ import { ReaderSettingSepia } from '@/modules/reader/components/settings/filters import { ReaderSettingGrayscale } from '@/modules/reader/components/settings/filters/ReaderSettingGrayscale.tsx'; import { ReaderSettingInvert } from '@/modules/reader/components/settings/filters/ReaderSettingInvert.tsx'; import { ReaderSettingsTypeProps } from '@/modules/reader/types/Reader.types.ts'; +import { ResetButton } from '@/modules/core/components/buttons/ResetButton.tsx'; +import { DEFAULT_READER_SETTINGS } from '@/modules/reader/constants/ReaderSettings.constants.tsx'; export const ReaderFilterSettings = ({ settings: { customFilter }, updateSetting }: ReaderSettingsTypeProps) => ( @@ -111,5 +113,11 @@ export const ReaderFilterSettings = ({ settings: { customFilter }, updateSetting }) } /> + + updateSetting('customFilter', DEFAULT_READER_SETTINGS.customFilter)} + variant="outlined" + /> + ); diff --git a/src/modules/reader/components/settings/filters/ReaderSettingBrightness.tsx b/src/modules/reader/components/settings/filters/ReaderSettingBrightness.tsx index 3f79f5de..0b3e5dee 100644 --- a/src/modules/reader/components/settings/filters/ReaderSettingBrightness.tsx +++ b/src/modules/reader/components/settings/filters/ReaderSettingBrightness.tsx @@ -37,6 +37,13 @@ export const ReaderSettingBrightness = ({ + updateSetting( + 'brightness', + { ...brightness, value: DEFAULT_READER_SETTINGS.customFilter.brightness.value }, + true, + ) + } slotProps={{ slider: { defaultValue: DEFAULT_READER_SETTINGS.customFilter.brightness.value, diff --git a/src/modules/reader/components/settings/filters/ReaderSettingContrast.tsx b/src/modules/reader/components/settings/filters/ReaderSettingContrast.tsx index 6f32f8fb..cec114fb 100644 --- a/src/modules/reader/components/settings/filters/ReaderSettingContrast.tsx +++ b/src/modules/reader/components/settings/filters/ReaderSettingContrast.tsx @@ -36,6 +36,13 @@ export const ReaderSettingContrast = ({ + updateSetting( + 'contrast', + { ...contrast, value: DEFAULT_READER_SETTINGS.customFilter.contrast.value }, + true, + ) + } slotProps={{ slider: { defaultValue: DEFAULT_READER_SETTINGS.customFilter.contrast.value, diff --git a/src/modules/reader/components/settings/filters/ReaderSettingHue.tsx b/src/modules/reader/components/settings/filters/ReaderSettingHue.tsx index 6bbca215..f201e412 100644 --- a/src/modules/reader/components/settings/filters/ReaderSettingHue.tsx +++ b/src/modules/reader/components/settings/filters/ReaderSettingHue.tsx @@ -36,6 +36,9 @@ export const ReaderSettingHue = ({ + updateSetting('hue', { ...hue, value: DEFAULT_READER_SETTINGS.customFilter.hue.value }, true) + } slotProps={{ slider: { defaultValue: DEFAULT_READER_SETTINGS.customFilter.hue.value, diff --git a/src/modules/reader/components/settings/filters/ReaderSettingRGBA.tsx b/src/modules/reader/components/settings/filters/ReaderSettingRGBA.tsx index ce801add..190ca9b9 100644 --- a/src/modules/reader/components/settings/filters/ReaderSettingRGBA.tsx +++ b/src/modules/reader/components/settings/filters/ReaderSettingRGBA.tsx @@ -57,6 +57,19 @@ export const ReaderSettingRGBA = ({ key={key} label={t(RGBA_TYPE_TO_TRANSLATION_KEY[key as RGBAType])} value={value} + onDefault={() => + updateSetting( + 'rgba', + { + ...rgba, + value: { + ...rgba.value, + [key]: DEFAULT_READER_SETTINGS.customFilter.rgba.value[key as RGBAType], + }, + }, + true, + ) + } slotProps={{ slider: { value, diff --git a/src/modules/reader/components/settings/filters/ReaderSettingSaturate.tsx b/src/modules/reader/components/settings/filters/ReaderSettingSaturate.tsx index 1f5e2f7a..20406470 100644 --- a/src/modules/reader/components/settings/filters/ReaderSettingSaturate.tsx +++ b/src/modules/reader/components/settings/filters/ReaderSettingSaturate.tsx @@ -36,6 +36,13 @@ export const ReaderSettingSaturate = ({ + updateSetting( + 'saturate', + { ...saturate, value: DEFAULT_READER_SETTINGS.customFilter.saturate.value }, + true, + ) + } slotProps={{ slider: { defaultValue: DEFAULT_READER_SETTINGS.customFilter.saturate.value, diff --git a/src/modules/reader/components/settings/hotkeys/ReaderHotkeysSettings.tsx b/src/modules/reader/components/settings/hotkeys/ReaderHotkeysSettings.tsx index 4082c517..bbd13f87 100644 --- a/src/modules/reader/components/settings/hotkeys/ReaderHotkeysSettings.tsx +++ b/src/modules/reader/components/settings/hotkeys/ReaderHotkeysSettings.tsx @@ -32,7 +32,10 @@ export const ReaderHotkeysSettings = ({ settings, updateSetting }: ReaderSetting /> ))} - updateSetting('hotkeys', DEFAULT_READER_SETTINGS.hotkeys)} /> + updateSetting('hotkeys', DEFAULT_READER_SETTINGS.hotkeys)} + variant="outlined" + /> ); diff --git a/src/modules/reader/components/settings/hotkeys/ReaderSettingHotkey.tsx b/src/modules/reader/components/settings/hotkeys/ReaderSettingHotkey.tsx index cf5d45f6..4fa4e806 100644 --- a/src/modules/reader/components/settings/hotkeys/ReaderSettingHotkey.tsx +++ b/src/modules/reader/components/settings/hotkeys/ReaderSettingHotkey.tsx @@ -9,7 +9,6 @@ import Stack from '@mui/material/Stack'; import { useTranslation } from 'react-i18next'; import AddIcon from '@mui/icons-material/Add'; -import RestartAltIcon from '@mui/icons-material/RestartAlt'; import Typography from '@mui/material/Typography'; import Tooltip from '@mui/material/Tooltip'; import { bindTrigger, usePopupState } from 'material-ui-popup-state/hooks'; @@ -19,6 +18,7 @@ import { DEFAULT_READER_SETTINGS } from '@/modules/reader/constants/ReaderSettin import { TranslationKey } from '@/Base.types.ts'; import { RecordHotkey } from '@/modules/reader/components/settings/hotkeys/RecordHotkey.tsx'; import { Hotkey } from '@/modules/reader/components/settings/hotkeys/Hotkey.tsx'; +import { ResetButton } from '@/modules/core/components/buttons/ResetButton.tsx'; const READER_HOTKEY_TO_TITLE: Record = { [ReaderHotkey.PREVIOUS_PAGE]: 'reader.settings.hotkey.previous_page', @@ -62,11 +62,7 @@ export const ReaderSettingHotkey = ({ - - updateSetting(DEFAULT_READER_SETTINGS.hotkeys[hotkey])} color="inherit"> - - - + updateSetting(DEFAULT_READER_SETTINGS.hotkeys[hotkey])} /> {popupState.isOpen && (