1.1.1 • Published 1 month ago

@global-savings-group/extension-serp v1.1.1

Weekly downloads
-
License
-
Repository
-
Last release
1 month ago

Usage

Init Serp singleton object in Injection file with callback functions that renders the UI part.

import { Serp, Theme, SearchEngine, BadgeDataSet } from '@global-savings-group/extension-serp'

const renderUI = (
  partnerLink: Element,
  theme: Theme,
  searchEngine: SearchEngine,
  container: HTMLElement,
) => {
  const customDomain = partnerLink.getAttribute("href");

  chrome.runtime.sendMessage(
    {
      type: "check-partner",
      param: { customDomain },
    },
    (partner: Partner) => {
      if (!partner) {
        return;
      }
      if (partner.vouchers.length > 0 || partner.deals.length > 0) {
        const emptyElement = document.createElement("div");
        emptyElement.dataset[BadgeDataSet.key] = BadgeDataSet.value;
        render(
          SERPBadge({
            vouchersCount: partner.vouchers.length,
            theme,
            searchEngine,
          }),
          emptyElement
        );
        Serp.insertElementTo(container, emptyElement);
      }
    }
  );
};

const getSERPSettings = () =>
  chrome.runtime.sendMessage({ type: "get-serp-settings" });

getSERPSettings().then((SERPSettings: iSERPSettings) => {
  if (SERPSettings.enabled) {
    Serp.init(renderUI);
  }
});
1.1.1

1 month ago

1.1.0

2 months ago

1.0.4

4 months ago

1.0.2

8 months ago

1.0.1

9 months ago

1.0.3

6 months ago

1.0.0

1 year ago