summaryrefslogtreecommitdiffhomepage
path: root/gui/src/renderer/lib
diff options
context:
space:
mode:
authorOskar Nyberg <oskar@mullvad.net>2022-09-07 15:57:09 +0200
committerOskar Nyberg <oskar@mullvad.net>2022-09-09 09:33:44 +0200
commit04b2f58527e7ec60a18de93108dacd4bf99e70fe (patch)
tree2a450ed4d00f333fdeeeaf946481d006f21b3b57 /gui/src/renderer/lib
parent79bd0197520fe657564a16c19c59474231eca394 (diff)
downloadmullvadvpn-04b2f58527e7ec60a18de93108dacd4bf99e70fe.tar.xz
mullvadvpn-04b2f58527e7ec60a18de93108dacd4bf99e70fe.zip
Add component for pausing redux
Diffstat (limited to 'gui/src/renderer/lib')
-rw-r--r--gui/src/renderer/lib/will-exit.tsx13
1 files changed, 13 insertions, 0 deletions
diff --git a/gui/src/renderer/lib/will-exit.tsx b/gui/src/renderer/lib/will-exit.tsx
new file mode 100644
index 0000000000..67ce4c5549
--- /dev/null
+++ b/gui/src/renderer/lib/will-exit.tsx
@@ -0,0 +1,13 @@
+import React, { useContext } from 'react';
+
+// This context tells its subtree if it should stop rendering or not. This is useful during
+// transitions, e.g. on log out, since data might be updated which makes the disappearing view
+// update a lot during the transition. There's currently no support for unpausing, which can be
+// added later if needed.
+const willExitContext = React.createContext<boolean>(false);
+
+export const WillExit = willExitContext.Provider;
+
+export function useWillExit() {
+ return useContext(willExitContext);
+}