summaryrefslogtreecommitdiffhomepage
path: root/gui/src/renderer/lib
diff options
context:
space:
mode:
authorOskar Nyberg <oskar@mullvad.net>2021-08-25 09:11:00 +0200
committerOskar Nyberg <oskar@mullvad.net>2021-08-30 14:28:36 +0200
commitb720305a57eb1c6d4f7eb4d4ccd58dd2990bd2d6 (patch)
treec9ab60f01d9c03813d6675cc621536cee9ed20e9 /gui/src/renderer/lib
parent35ad04d1188ac2f618f252bd6edaeb523e0245bc (diff)
downloadmullvadvpn-b720305a57eb1c6d4f7eb4d4ccd58dd2990bd2d6.tar.xz
mullvadvpn-b720305a57eb1c6d4f7eb4d4ccd58dd2990bd2d6.zip
Refactor custom DNS and make editable
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;
+}