about summary refs log tree commit diff
path: root/src/lib/routes/back-handler.ts
diff options
context:
space:
mode:
authorPaul Frazee <pfrazee@gmail.com>2023-04-22 17:14:20 -0500
committerGitHub <noreply@github.com>2023-04-22 17:14:20 -0500
commitd35f7c1f1a9f35958ff3f6dacd002e31b0a824b0 (patch)
tree6d69c883ef34fb3593d42641d25e421222e21635 /src/lib/routes/back-handler.ts
parenteb6b36be61b38d2dab799d8f82b6f65645b9e3f6 (diff)
downloadvoidsky-d35f7c1f1a9f35958ff3f6dacd002e31b0a824b0.tar.zst
Android fixes (#515)
* Fix profile screen performance on android and remove dead code

* Correctly handle android hardware back btn

* Fix EditProfile modal for android

* Fix lint
Diffstat (limited to 'src/lib/routes/back-handler.ts')
-rw-r--r--src/lib/routes/back-handler.ts11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/lib/routes/back-handler.ts b/src/lib/routes/back-handler.ts
new file mode 100644
index 000000000..feb928458
--- /dev/null
+++ b/src/lib/routes/back-handler.ts
@@ -0,0 +1,11 @@
+import {BackHandler} from 'react-native'
+import {RootStoreModel} from 'state/index'
+
+export function onBack(cb: () => boolean): () => void {
+  const subscription = BackHandler.addEventListener('hardwareBackPress', cb)
+  return () => subscription.remove()
+}
+
+export function init(store: RootStoreModel) {
+  onBack(() => store.shell.closeAnyActiveElement())
+}