aboutsummaryrefslogblamecommitdiff
path: root/src/background/presenters/IndicatorPresenter.ts
blob: 6a33e623a19474719f673c260bbfa4964fe90dc6 (plain) (tree)
1
2
3
4
5
6
7
8
9

                                      
                                         
                                             
                        
                                       
                                                              
                                                     


                                       
   
                                                            

                                                          
import { injectable } from 'tsyringe';

@injectable()
export default class IndicatorPresenter {
  indicate(enabled: boolean): Promise<void> {
    const path = enabled
      ? 'resources/enabled_32x32.png'
      : 'resources/disabled_32x32.png';
    if (typeof browser.browserAction.setIcon === 'function') {
      return browser.browserAction.setIcon({ path });
    }

    // setIcon not supported on Android
    return Promise.resolve();

  }

  onClick(listener: (arg: browser.tabs.Tab) => void): void {
    browser.browserAction.onClicked.addListener(listener);
  }
}