summaryrefslogtreecommitdiffhomepage
path: root/gui/src/renderer/lib
diff options
context:
space:
mode:
Diffstat (limited to 'gui/src/renderer/lib')
-rw-r--r--gui/src/renderer/lib/utilityHooks.ts12
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;
+}