summaryrefslogtreecommitdiff
path: root/extension/react-app/src/util/index.ts
diff options
context:
space:
mode:
Diffstat (limited to 'extension/react-app/src/util/index.ts')
-rw-r--r--extension/react-app/src/util/index.ts43
1 files changed, 43 insertions, 0 deletions
diff --git a/extension/react-app/src/util/index.ts b/extension/react-app/src/util/index.ts
new file mode 100644
index 00000000..c4168e13
--- /dev/null
+++ b/extension/react-app/src/util/index.ts
@@ -0,0 +1,43 @@
+type Platform = "mac" | "linux" | "windows" | "unknown";
+
+export function getPlatform(): Platform {
+ const platform = window.navigator.platform.toUpperCase();
+ if (platform.indexOf("MAC") >= 0) {
+ return "mac";
+ } else if (platform.indexOf("LINUX") >= 0) {
+ return "linux";
+ } else if (platform.indexOf("WIN") >= 0) {
+ return "windows";
+ } else {
+ return "unknown";
+ }
+}
+
+export function isMetaEquivalentKeyPressed(event: {
+ metaKey: boolean;
+ ctrlKey: boolean;
+}): boolean {
+ const platform = getPlatform();
+ switch (platform) {
+ case "mac":
+ return event.metaKey;
+ case "linux":
+ case "windows":
+ return event.ctrlKey;
+ default:
+ return event.metaKey;
+ }
+}
+
+export function getMetaKeyLabel(): string {
+ const platform = getPlatform();
+ switch (platform) {
+ case "mac":
+ return "⌘";
+ case "linux":
+ case "windows":
+ return "^";
+ default:
+ return "⌘";
+ }
+}