diff options
| author | Oskar Nyberg <oskar@mullvad.net> | 2021-08-25 09:11:00 +0200 |
|---|---|---|
| committer | Oskar Nyberg <oskar@mullvad.net> | 2021-08-30 14:28:36 +0200 |
| commit | b720305a57eb1c6d4f7eb4d4ccd58dd2990bd2d6 (patch) | |
| tree | c9ab60f01d9c03813d6675cc621536cee9ed20e9 /gui/src/renderer/lib | |
| parent | 35ad04d1188ac2f618f252bd6edaeb523e0245bc (diff) | |
| download | mullvadvpn-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.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; +} |
