aboutsummaryrefslogtreecommitdiffstats
path: root/recipes/instagram/webview.js
blob: e363ad33209842b3401b362bfb29ed5f901f1873 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
const _path = _interopRequireDefault(require('path'));

function _interopRequireDefault(obj) {
  return obj && obj.__esModule ? obj : { default: obj };
}

module.exports = Ferdium => {
  const getMessages = () => {
    const element = document.querySelector('a[href^="/direct/inbox"]');
    Ferdium.setBadge(element ? Ferdium.safeParseInt(element.textContent) : 0);
  };

  Ferdium.loop(getMessages);

  // https://github.com/ferdium/ferdium-recipes/blob/9d715597a600710c20f75412d3dcd8cdb7b3c39e/docs/frontend_api.md#usage-4
  // Helper that activates DarkReader and injects your darkmode.css at the same time
  Ferdium.handleDarkMode((isEnabled) => {

    var url = new URL(window.location.href);
    var searchParams = url.searchParams;
    var isDarkModeParam = searchParams.get('theme');
    var changedParams = false;

    if (isEnabled) {
      isDarkModeParam ? null :
        (
          searchParams.set('theme', 'dark'),
          changedParams = true
        );
    } else {
      isDarkModeParam ?
        (
          searchParams.delete('theme', 'dark'),
          changedParams = true
        )
      : null;
    }

    changedParams ?
      (
        url.search = searchParams.toString(),
        window.location.href = url.toString()
      )
    : null;

  });

  Ferdium.injectCSS(_path.default.join(__dirname, 'service.css'));
};