diff options
Diffstat (limited to 'recipes/outlook')
-rw-r--r-- | recipes/outlook/README.md | 8 | ||||
-rw-r--r-- | recipes/outlook/index.js | 4 | ||||
-rw-r--r-- | recipes/outlook/package.json | 23 | ||||
-rw-r--r-- | recipes/outlook/webview.js | 38 |
4 files changed, 49 insertions, 24 deletions
diff --git a/recipes/outlook/README.md b/recipes/outlook/README.md index 8d68fd4..47dbb00 100644 --- a/recipes/outlook/README.md +++ b/recipes/outlook/README.md | |||
@@ -1,5 +1,5 @@ | |||
1 | # Outlook Web App for Franz | 1 | # Outlook Web App for Ferdi |
2 | This is the Franz 5 Recipe for Outlook Web App | 2 | This is the Ferdi 5 Recipe for Outlook Web App |
3 | 3 | ||
4 | ### How to create your own Franz recipes: | 4 | ### How to create your own Ferdi recipes: |
5 | * [Read the documentation](https://github.com/meetfranz/plugins) | 5 | * [Read the documentation](https://github.com/getferdi/recipes/blob/master/docs/integration.md.) |
diff --git a/recipes/outlook/index.js b/recipes/outlook/index.js index 5d96b3e..12994ff 100644 --- a/recipes/outlook/index.js +++ b/recipes/outlook/index.js | |||
@@ -1,7 +1,7 @@ | |||
1 | var os = require('os') | 1 | var os = require('os') |
2 | 2 | ||
3 | module.exports = Franz => | 3 | module.exports = Ferdi => |
4 | class Outlook extends Franz { | 4 | class Outlook extends Ferdi { |
5 | overrideUserAgent() { | 5 | overrideUserAgent() { |
6 | return window.navigator.userAgent.replace(/(Ferdi|Electron)\/\S+ \([^)]+\)/g,"").trim(); | 6 | return window.navigator.userAgent.replace(/(Ferdi|Electron)\/\S+ \([^)]+\)/g,"").trim(); |
7 | } | 7 | } |
diff --git a/recipes/outlook/package.json b/recipes/outlook/package.json index 79f3b4b..7594b71 100644 --- a/recipes/outlook/package.json +++ b/recipes/outlook/package.json | |||
@@ -1,13 +1,14 @@ | |||
1 | { | 1 | { |
2 | "id": "outlook", | 2 | "id": "outlook", |
3 | "name": "Outlook", | 3 | "name": "Outlook Web App", |
4 | "version": "1.0.1", | 4 | "version": "1.1.0", |
5 | "description": "Outlook Web App", | 5 | "description": "Outlook Web App", |
6 | "main": "index.js", | 6 | "main": "index.js", |
7 | "author": "Wouter Van Speybroeck <wouter.van.speybroeck@gmail.com>", | 7 | "author": "Wouter Van Speybroeck <wouter.van.speybroeck@gmail.com>", |
8 | "repository": "", | 8 | "license": "MIT", |
9 | "license": "MIT", | 9 | "config": { |
10 | "config": { | 10 | "serviceURL": "https://outlook.live.com/mail/", |
11 | "serviceURL": "https://outlook.live.com/owa/" | 11 | "hasNotificationSound": true, |
12 | } | 12 | "hasTeamId": false |
13 | } | ||
13 | } | 14 | } |
diff --git a/recipes/outlook/webview.js b/recipes/outlook/webview.js index 7e30fe4..6d4edf2 100644 --- a/recipes/outlook/webview.js +++ b/recipes/outlook/webview.js | |||
@@ -1,10 +1,34 @@ | |||
1 | "use strict"; | 1 | 'use strict'; |
2 | 2 | ||
3 | module.exports = Franz => { | 3 | module.exports = Ferdi => { |
4 | const getMessages = function getMessages() { | 4 | function getMessages() { |
5 | const unreadMail = parseInt(jQuery("i[data-icon-name='Inbox'] + span + span > span").first().text(), 10); | 5 | let unreadMail = 0; |
6 | Franz.setBadge(unreadMail); | 6 | |
7 | if (location.pathname.match(/\/owa/)) { | ||
8 | // classic app | ||
9 | unreadMail = parseInt( | ||
10 | jQuery("span[title*='Inbox'] + div > span") | ||
11 | .first() | ||
12 | .text(), | ||
13 | 10 | ||
14 | ); | ||
15 | } else { | ||
16 | // new app | ||
17 | const favorites = document.querySelector('div[title="Favorites"]'); | ||
18 | if (!favorites) { | ||
19 | return; | ||
20 | } | ||
21 | const folders = Array.from(favorites.nextSibling.childNodes); | ||
22 | |||
23 | unreadMail = folders.reduce((count, child) => { | ||
24 | const unread = child.querySelector('.screenReaderOnly'); | ||
25 | return unread && unread.textContent === 'unread' | ||
26 | ? count + parseInt(unread.previousSibling.textContent, 10) | ||
27 | : count; | ||
28 | }, 0); | ||
29 | } | ||
30 | |||
31 | Ferdi.setBadge(unreadMail); | ||
7 | }; | 32 | }; |
8 | Franz.loop(getMessages); | 33 | Ferdi.loop(getMessages); |
9 | }; | 34 | }; |
10 | //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm9mZmljZTM2NS1vd2Evd2Vidmlldy5qcyJdLCJuYW1lcyI6WyJtb2R1bGUiLCJleHBvcnRzIiwiRnJhbnoiLCJnZXRNZXNzYWdlcyIsInVucmVhZE1haWwiLCJwYXJzZUludCIsImpRdWVyeSIsImZpcnN0IiwidGV4dCIsInNldEJhZGdlIiwibG9vcCJdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPLEFBQVAsVUFBa0IsQUFBRCxTQUFXLEFBQzFCO1FBQU0sY0FBYyxTQUFTLEFBQVQsY0FBdUIsQUFDekM7VUFBTSxhQUFhLFNBQVMsT0FBTyxBQUFQLEFBQTRDLEFBQTVDLEFBQW9ELEFBQXBELGtEQUFULEFBQXFFLEFBQXJFLEFBQW5CLGdCQUNBO1VBQU0sQUFBTixTQUFlLEFBQWYsQUFDRDtBQUhELEFBSUE7UUFBTSxBQUFOLEtBQVcsQUFBWCxBQUNEO0FBTkQiLCJmaWxlIjoib2ZmaWNlMzY1LW93YS93ZWJ2aWV3LmpzIiwic291cmNlc0NvbnRlbnQiOlsibW9kdWxlLmV4cG9ydHMgPSAoRnJhbnopID0+IHtcbiAgY29uc3QgZ2V0TWVzc2FnZXMgPSBmdW5jdGlvbiBnZXRNZXNzYWdlcygpIHtcbiAgICBjb25zdCB1bnJlYWRNYWlsID0gcGFyc2VJbnQoalF1ZXJ5KFwic3Bhblt0aXRsZSo9J0luYm94J10gKyBkaXYgPiBzcGFuXCIpLmZpcnN0KCkudGV4dCgpLCAxMCk7XG4gICAgRnJhbnouc2V0QmFkZ2UodW5yZWFkTWFpbCk7XG4gIH07XG4gIEZyYW56Lmxvb3AoZ2V0TWVzc2FnZXMpO1xufTtcbiJdfQ== \ No newline at end of file | ||