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/campuswire/README.md | 13 +++++++++++++ recipes/campuswire/icon.png | Bin 0 -> 97989 bytes recipes/campuswire/icon.svg | 1 + recipes/campuswire/index.js | 3 +++ recipes/campuswire/package.json | 13 +++++++++++++ recipes/campuswire/webview.js | 34 ++++++++++++++++++++++++++++++++++ 6 files changed, 64 insertions(+) create mode 100644 recipes/campuswire/README.md create mode 100644 recipes/campuswire/icon.png create mode 100644 recipes/campuswire/icon.svg create mode 100644 recipes/campuswire/index.js create mode 100644 recipes/campuswire/package.json create mode 100644 recipes/campuswire/webview.js (limited to 'recipes/campuswire') diff --git a/recipes/campuswire/README.md b/recipes/campuswire/README.md new file mode 100644 index 0000000..1b91a25 --- /dev/null +++ b/recipes/campuswire/README.md @@ -0,0 +1,13 @@ +# Campuswire for Franz + +This is a Franz recipe for Campuswire + +## Credits + +This recipe is based on [`recipie-android-messages`](https://github.com/meetfranz/recipe-android-messages) and [`recipie-messenger`](https://github.com/meetfranz/recipe-messenger). + +Icons were sourced from Campuswire's website. + +### How to create your own Franz recipes: + +* [Read the documentation](https://github.com/meetfranz/plugins) diff --git a/recipes/campuswire/icon.png b/recipes/campuswire/icon.png new file mode 100644 index 0000000..fc68ab5 Binary files /dev/null and b/recipes/campuswire/icon.png differ diff --git a/recipes/campuswire/icon.svg b/recipes/campuswire/icon.svg new file mode 100644 index 0000000..f2ed495 --- /dev/null +++ b/recipes/campuswire/icon.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/recipes/campuswire/index.js b/recipes/campuswire/index.js new file mode 100644 index 0000000..e8243fb --- /dev/null +++ b/recipes/campuswire/index.js @@ -0,0 +1,3 @@ +"use strict"; + +module.exports = Franz => Franz; \ No newline at end of file diff --git a/recipes/campuswire/package.json b/recipes/campuswire/package.json new file mode 100644 index 0000000..77d6df6 --- /dev/null +++ b/recipes/campuswire/package.json @@ -0,0 +1,13 @@ +{ + "id": "campuswire", + "name": "Campuswire", + "version": "1.0.0", + "description": "Campuswire", + "main": "index.js", + "author": "Matthew Toohey", + "license": "MIT", + "config": { + "serviceURL": "https://campuswire.com/c", + "hasNotificationSound": true + } +} diff --git a/recipes/campuswire/webview.js b/recipes/campuswire/webview.js new file mode 100644 index 0000000..f52fa46 --- /dev/null +++ b/recipes/campuswire/webview.js @@ -0,0 +1,34 @@ +"use strict"; + +module.exports = Franz => { + const getMessages = function getMessages() { + let count = document.querySelectorAll('._5fx8:not(._569x),._1ht3:not(._569x)').length; + const messageRequestsElement = document.querySelector('._5nxf'); + + if (messageRequestsElement) { + count += parseInt(messageRequestsElement.innerHTML, 10); + } + + Franz.setBadge(count); + }; + + Franz.loop(getMessages); + localStorage.setItem('_cs_desktopNotifsEnabled', JSON.stringify({ + __t: new Date().getTime(), + __v: true + })); + + if (typeof Franz.onNotify === 'function') { + Franz.onNotify(notification => { + if (typeof notification.title !== 'string') { + notification.title = ((notification.title.props || {}).content || [])[0] || 'Campuswire'; + } + + if (typeof notification.options.body !== 'string') { + notification.options.body = (((notification.options.body || {}).props || {}).content || [])[0] || ''; + } + + return notification; + }); + } +}; -- cgit v1.2.3-70-g09d2