Make addon-enabled as a clean architecture

This commit is contained in:
Shin'ya Ueoka 2019-05-10 22:27:20 +09:00
parent 05ef6a8ca3
commit e76ca380f7
16 changed files with 218 additions and 96 deletions

View file

@ -5,15 +5,15 @@ import * as consoleFrames from '../../console-frames';
import * as messages from '../../../shared/messages';
import MessageListener from '../../MessageListener';
import * as scrolls from '../../scrolls';
import AddonEnabledUseCase from '../../usecases/AddonEnabledUseCase';
let addonEnabledUseCase = new AddonEnabledUseCase();
export default class TopContent {
private win: Window;
private store: any;
constructor(win: Window, store: any) {
this.win = win;
this.store = store;
new CommonComponent(win, store); // eslint-disable-line no-new
new FollowController(win, store); // eslint-disable-line no-new
@ -36,14 +36,11 @@ export default class TopContent {
}
onBackgroundMessage(message: messages.Message) {
let addonState = this.store.getState().addon;
let addonEnabled = addonEnabledUseCase.getEnabled();
switch (message.type) {
case messages.ADDON_ENABLED_QUERY:
return Promise.resolve({
type: messages.ADDON_ENABLED_RESPONSE,
enabled: addonState.enabled,
});
return Promise.resolve(addonEnabled);
case messages.TAB_SCROLL_TO:
return scrolls.scrollTo(message.x, message.y, false);
}