aboutsummaryrefslogtreecommitdiff
path: root/src/console/index.js
diff options
context:
space:
mode:
Diffstat (limited to 'src/console/index.js')
-rw-r--r--src/console/index.js34
1 files changed, 34 insertions, 0 deletions
diff --git a/src/console/index.js b/src/console/index.js
new file mode 100644
index 0000000..7396a96
--- /dev/null
+++ b/src/console/index.js
@@ -0,0 +1,34 @@
+import './site.scss';
+import messages from 'shared/messages';
+import CompletionComponent from 'console/components/completion';
+import ConsoleComponent from 'console/components/console';
+import reducers from 'console/reducers';
+import { createStore } from 'shared/store';
+import * as consoleActions from 'console/actions/console';
+
+const store = createStore(reducers);
+let completionComponent = null;
+let consoleComponent = null;
+
+window.addEventListener('load', () => {
+ let wrapper = document.querySelector('#vimvixen-console-completion');
+ completionComponent = new CompletionComponent(wrapper, store);
+
+ consoleComponent = new ConsoleComponent(document.body, store);
+});
+
+store.subscribe(() => {
+ completionComponent.update();
+ consoleComponent.update();
+});
+
+browser.runtime.onMessage.addListener((action) => {
+ switch (action.type) {
+ case messages.CONSOLE_SHOW_COMMAND:
+ return store.dispatch(consoleActions.showCommand(action.command));
+ case messages.CONSOLE_SHOW_ERROR:
+ return store.dispatch(consoleActions.showError(action.text));
+ case messages.CONSOLE_HIDE:
+ return store.dispatch(consoleActions.hide(action.command));
+ }
+});