From 2fff7fe2bbc1697b38cd253223722c2701eab70d Mon Sep 17 00:00:00 2001 From: Vijay A Date: Fri, 8 Jul 2022 21:49:19 +0530 Subject: New recipe: kiwi IRC --- recipes/kiwiirc/webview.js | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 recipes/kiwiirc/webview.js (limited to 'recipes/kiwiirc/webview.js') diff --git a/recipes/kiwiirc/webview.js b/recipes/kiwiirc/webview.js new file mode 100644 index 0000000..0c362f0 --- /dev/null +++ b/recipes/kiwiirc/webview.js @@ -0,0 +1,34 @@ +const _path = _interopRequireDefault(require('path')); + +function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { default: obj }; +} + +module.exports = Ferdium => { + const getMessages = function getMessages() { + // eslint-disable-next-line no-undef + const unreadChannelsCount = kiwi.state.networks.reduce((count, network) => { + return (count += network.buffers.filter(buffer => { + return !buffer.name.startsWith('*') && buffer.flags.unread !== 0; + }).length); + }, 0); + + // eslint-disable-next-line no-undef + const mentionedChannelsCount = kiwi.state.networks.reduce((count, network) => { + return (count += network.buffers.filter(buffer => { + return ( + !buffer.name.startsWith('*') && + buffer.flags.unread !== 0 && + buffer.flags.highlight + ); + }).length); + }, 0); + + // set Ferdium badges + Ferdium.setBadge(mentionedChannelsCount, unreadChannelsCount); + }; + + Ferdium.loop(getMessages); + + Ferdium.injectCSS(_path.default.join(__dirname, 'service.css')); +}; -- cgit v1.2.3-70-g09d2