From 36f09b6cdca904a548b642d0eb6adc05a4095d09 Mon Sep 17 00:00:00 2001
From: Andreas Nedbal <github-bf215181b5140522137b3d4f6b73544a@desu.email>
Date: Sat, 25 Jun 2022 07:25:22 +0200
Subject: [PATCH] fix(client): only enable hotkeys for logged in users (#8793)

* fix(client): only enable hotkeys for logged in users

* fix(client): keep theme and search hotkeys for logged out users
---
 packages/client/src/init.ts | 23 +++++++++++++----------
 1 file changed, 13 insertions(+), 10 deletions(-)

diff --git a/packages/client/src/init.ts b/packages/client/src/init.ts
index a11dd2d05..98f69c701 100644
--- a/packages/client/src/init.ts
+++ b/packages/client/src/init.ts
@@ -287,16 +287,6 @@ fetchInstanceMetaPromise.then(() => {
 	}
 });
 
-// shortcut
-document.addEventListener('keydown', makeHotkey({
-	'd': () => {
-		defaultStore.set('darkMode', !defaultStore.state.darkMode);
-	},
-	'p|n': post,
-	's': search,
-	//TODO: 'h|/': help
-}));
-
 watch(defaultStore.reactiveState.useBlurEffectForModal, v => {
 	document.documentElement.style.setProperty('--modalBgFilter', v ? 'blur(4px)' : 'none');
 }, { immediate: true });
@@ -339,7 +329,17 @@ for (const plugin of ColdDeviceStorage.get('plugins').filter(p => p.active)) {
 	});
 }
 
+const hotkeys = {
+	'd': (): void => {
+		defaultStore.set('darkMode', !defaultStore.state.darkMode);
+	},
+	's': search,
+};
+
 if ($i) {
+	// only add post shortcuts if logged in
+	hotkeys['p|n'] = post;
+
 	if ($i.isDeleted) {
 		alert({
 			type: 'warning',
@@ -434,3 +434,6 @@ if ($i) {
 		signout();
 	});
 }
+
+// shortcut
+document.addEventListener('keydown', makeHotkey(hotkeys));