diff options
Diffstat (limited to 'gui/src/renderer/lib')
| -rw-r--r-- | gui/src/renderer/lib/utilityHooks.ts | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/gui/src/renderer/lib/utilityHooks.ts b/gui/src/renderer/lib/utilityHooks.ts index d20cb80883..ca99a76f94 100644 --- a/gui/src/renderer/lib/utilityHooks.ts +++ b/gui/src/renderer/lib/utilityHooks.ts @@ -1,4 +1,4 @@ -import React, { useCallback, useEffect, useRef } from 'react'; +import React, { useCallback, useEffect, useRef, useState } from 'react'; export function useMounted() { const mountedRef = useRef(false); @@ -43,3 +43,13 @@ export function useAsyncEffect( }; }, dependencies); } + +export function useBoolean(initialValue: boolean) { + const [value, setValue] = useState(initialValue); + + const setTrue = useCallback(() => setValue(true), []); + const setFalse = useCallback(() => setValue(false), []); + const toggle = useCallback(() => setValue((value) => !value), []); + + return [value, setTrue, setFalse, toggle] as const; +} |
