feat: add settings dialog

Signed-off-by: Tilman Vatteroth <git@tilmanvatteroth.de>
This commit is contained in:
Tilman Vatteroth 2022-07-21 19:36:29 +02:00
parent 39823275a0
commit 4e18ce38f3
45 changed files with 656 additions and 376 deletions

View file

@ -1,30 +1,16 @@
/*
* SPDX-FileCopyrightText: 2021 The HedgeDoc developers (see AUTHORS file)
* SPDX-FileCopyrightText: 2022 The HedgeDoc developers (see AUTHORS file)
*
* SPDX-License-Identifier: AGPL-3.0-only
*/
import { store } from '..'
import type { DarkModeConfig, SetDarkModeConfigAction } from './types'
import type { DarkModeConfigAction, DarkModePreference } from './types'
import { DarkModeConfigActionType } from './types'
import { Logger } from '../../utils/logger'
const log = new Logger('Redux > DarkMode')
export const setDarkMode = (darkMode: boolean): void => {
export const setDarkModePreference = (darkModePreference: DarkModePreference): void => {
store.dispatch({
type: DarkModeConfigActionType.SET_DARK_MODE,
darkMode: darkMode
} as SetDarkModeConfigAction)
}
export const saveToLocalStorage = (darkModeConfig: DarkModeConfig): void => {
if (!window) {
return
}
try {
window.localStorage.setItem('nightMode', String(darkModeConfig.darkMode))
} catch (error) {
log.error('Saving to local storage failed', error)
}
darkModePreference
} as DarkModeConfigAction)
}