« get me outta code hell

interactive-bgm - Browser extension that adds background music based on the site you're browsing
about summary refs log tree commit diff
path: root/extension/background.js
diff options
context:
space:
mode:
Diffstat (limited to 'extension/background.js')
-rw-r--r--extension/background.js42
1 files changed, 42 insertions, 0 deletions
diff --git a/extension/background.js b/extension/background.js
new file mode 100644
index 0000000..b23c38b
--- /dev/null
+++ b/extension/background.js
@@ -0,0 +1,42 @@
+console.log('Start');
+
+const port = browser.runtime.connectNative('interactive_bgm');
+
+browser.browserAction.onClicked.addListener(() => {
+    console.log('Hello??');
+    // port.postMessage('[{"track": "mantis", "volume": 100}]\n');
+});
+
+console.log('Hi', port);
+
+port.postMessage('[{"track": "mantis", "volume": 100}]\n');
+
+port.onMessage.addListener(msg => {
+    console.log('Nyoom', msg);
+});
+
+/*
+setTimeout(() => {
+    port.disconnect();
+}, 4000);
+*/
+
+port.onDisconnect.addListener(() => {
+    console.log('Disconnected');
+});
+
+browser.runtime.onMessage.addListener(({hostname}) => {
+    const map = {
+        'scratch.mit.edu': ['mantis'],
+        'stackoverflow.com': ['bass', 'main']
+    };
+
+    const mode = map[hostname];
+
+    if (mode) {
+        console.log('BGM:', mode);
+        port.postMessage(mode.map(track => ({track, volume: 100})));
+    } else {
+        console.log('No BGM found for ' + location.hostname);
+    }
+});