35 lines
1.3 KiB
JavaScript
35 lines
1.3 KiB
JavaScript
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);
|
|
|
|
window.addEventListener('load', () => {
|
|
let wrapper = document.querySelector('#vimvixen-console-completion');
|
|
new CompletionComponent(wrapper, store); // eslint-disable-line no-new
|
|
new ConsoleComponent(document.body, store); // eslint-disable-line no-new
|
|
});
|
|
|
|
const onMessage = (message) => {
|
|
switch (message.type) {
|
|
case messages.CONSOLE_SHOW_COMMAND:
|
|
return store.dispatch(consoleActions.showCommand(message.command));
|
|
case messages.CONSOLE_SHOW_FIND:
|
|
return store.dispatch(consoleActions.showFind());
|
|
case messages.CONSOLE_SHOW_ERROR:
|
|
return store.dispatch(consoleActions.showError(message.text));
|
|
case messages.CONSOLE_SHOW_INFO:
|
|
return store.dispatch(consoleActions.showInfo(message.text));
|
|
case messages.CONSOLE_HIDE:
|
|
return store.dispatch(consoleActions.hide());
|
|
}
|
|
};
|
|
|
|
browser.runtime.onMessage.addListener(onMessage);
|
|
window.addEventListener('message', (event) => {
|
|
onMessage(JSON.parse(event.data));
|
|
}, false);
|