From 6f5e4a00588aefdda7a5a1cfe70935870e7e234a Mon Sep 17 00:00:00 2001 From: Bennett Date: Tue, 22 Sep 2020 20:56:48 +0200 Subject: Unpack recipes and update recipes icons (#292) Co-authored-by: Amine Mouafik --- recipes/discord/README.md | 5 +++++ recipes/discord/icon.png | Bin 0 -> 59700 bytes recipes/discord/icon.svg | 14 ++++++++++++++ recipes/discord/index.js | 8 ++++++++ recipes/discord/package.json | 23 +++++++++++++++++++++++ recipes/discord/service.css | 3 +++ recipes/discord/webview.js | 31 +++++++++++++++++++++++++++++++ 7 files changed, 84 insertions(+) create mode 100644 recipes/discord/README.md create mode 100644 recipes/discord/icon.png create mode 100644 recipes/discord/icon.svg create mode 100644 recipes/discord/index.js create mode 100644 recipes/discord/package.json create mode 100644 recipes/discord/service.css create mode 100644 recipes/discord/webview.js (limited to 'recipes/discord') diff --git a/recipes/discord/README.md b/recipes/discord/README.md new file mode 100644 index 0000000..0b49f8a --- /dev/null +++ b/recipes/discord/README.md @@ -0,0 +1,5 @@ +# Discord for Franz +This is the official Franz recipe for Discord + +### How to create your own Franz recipes: +* [Read the documentation](https://github.com/meetfranz/plugins) diff --git a/recipes/discord/icon.png b/recipes/discord/icon.png new file mode 100644 index 0000000..d898b4e Binary files /dev/null and b/recipes/discord/icon.png differ diff --git a/recipes/discord/icon.svg b/recipes/discord/icon.svg new file mode 100644 index 0000000..dc76ff8 --- /dev/null +++ b/recipes/discord/icon.svg @@ -0,0 +1,14 @@ + + + + discord + Created with Sketch. + + + + + + + + + \ No newline at end of file diff --git a/recipes/discord/index.js b/recipes/discord/index.js new file mode 100644 index 0000000..dd2bcf2 --- /dev/null +++ b/recipes/discord/index.js @@ -0,0 +1,8 @@ +module.exports = Franz => class Discord extends Franz { + overrideUserAgent() { + const useragent = window.navigator.userAgent; + const parts = useragent.split('(KHTML, like Gecko)'); + + return parts.join('(KHTML, like Gecko) discord/0.0.250').replace('Electron', 'Discord').replace('Franz', 'Discord'); + } +}; diff --git a/recipes/discord/package.json b/recipes/discord/package.json new file mode 100644 index 0000000..27857b9 --- /dev/null +++ b/recipes/discord/package.json @@ -0,0 +1,23 @@ +{ + "id": "discord", + "name": "Discord", + "version": "1.1.3", + "description": "Discord", + "main": "index.js", + "author": "Stefan Malzner ", + "license": "MIT", + "config": { + "serviceURL": "https://discordapp.com/login", + "message": "", + "popup": [], + "hasNotificationSound": true, + "hasDirectMessages": true, + "hasIndirectMessages": true, + "hasTeamID": false, + "hasPredefinedUrl": true, + "hasCustomUrl": false, + "webviewOptions": { + "disablewebsecurity": "" + } + } +} diff --git a/recipes/discord/service.css b/recipes/discord/service.css new file mode 100644 index 0000000..a16a615 --- /dev/null +++ b/recipes/discord/service.css @@ -0,0 +1,3 @@ +.notice { + display: none; +} diff --git a/recipes/discord/webview.js b/recipes/discord/webview.js new file mode 100644 index 0000000..2d68a44 --- /dev/null +++ b/recipes/discord/webview.js @@ -0,0 +1,31 @@ +"use strict"; + +var _path = _interopRequireDefault(require("path")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +module.exports = Franz => { + const getMessages = function getMessages() { + const direct = document.querySelector('[class*="guilds-"]').querySelectorAll('[class^="numberBadge-"]').length; + + var indirect = 0; + var guilds = document.querySelector("[data-ref-id=guildsnav]"); + if(guilds != null) { + var channelPills = [].slice.call(guilds.querySelectorAll("[class*=item-2hkk8m]")); + indirect += channelPills.filter(y => y.clientHeight == 8).length; + + var activeWindow = channelPills.find(y => y.clientHeight == 40); + if(activeWindow != null) { + var unreadChannels = document.querySelector("[class*=modeUnread]"); + + if(unreadChannels != null) + indirect++; + } + } + + Franz.setBadge(direct, indirect); + }; + + Franz.loop(getMessages); + Franz.injectCSS(_path.default.join(__dirname, 'service.css')); +}; -- cgit v1.2.3-70-g09d2