mirror of
https://github.com/hedgedoc/hedgedoc.git
synced 2025-05-13 14:44:43 -04:00
29 lines
990 B
TypeScript
29 lines
990 B
TypeScript
/*
|
|
* SPDX-FileCopyrightText: 2021 The HedgeDoc developers (see AUTHORS file)
|
|
*
|
|
* SPDX-License-Identifier: AGPL-3.0-only
|
|
*/
|
|
|
|
import { useIsDarkModeActivated } from '../../../../hooks/common/use-is-dark-mode-activated'
|
|
import { useMemo } from 'react'
|
|
import { CommunicationMessageType } from '../../../render-page/window-post-message-communicator/rendering-message'
|
|
import { useSendToRenderer } from '../../../render-page/window-post-message-communicator/hooks/use-send-to-renderer'
|
|
|
|
/**
|
|
* Sends the current dark mode setting to the renderer.
|
|
*
|
|
* @param forcedDarkMode Overwrites the value from the global application states if set.
|
|
*/
|
|
export const useSendDarkModeStatusToRenderer = (forcedDarkMode?: boolean): void => {
|
|
const savedDarkMode = useIsDarkModeActivated()
|
|
|
|
useSendToRenderer(
|
|
useMemo(
|
|
() => ({
|
|
type: CommunicationMessageType.SET_DARKMODE,
|
|
activated: forcedDarkMode ?? savedDarkMode
|
|
}),
|
|
[forcedDarkMode, savedDarkMode]
|
|
)
|
|
)
|
|
}
|