aboutsummaryrefslogtreecommitdiffstats
path: root/uncompressed/stride
diff options
context:
space:
mode:
Diffstat (limited to 'uncompressed/stride')
-rw-r--r--uncompressed/stride/LICENSE21
-rw-r--r--uncompressed/stride/README.md5
-rw-r--r--uncompressed/stride/icon.svg20
-rw-r--r--uncompressed/stride/index.js4
-rw-r--r--uncompressed/stride/package.json16
-rw-r--r--uncompressed/stride/service.css3
-rw-r--r--uncompressed/stride/webview.js36
7 files changed, 105 insertions, 0 deletions
diff --git a/uncompressed/stride/LICENSE b/uncompressed/stride/LICENSE
new file mode 100644
index 0000000..95dbff7
--- /dev/null
+++ b/uncompressed/stride/LICENSE
@@ -0,0 +1,21 @@
1MIT License
2
3Copyright (c) 2017 Tobi042
4
5Permission is hereby granted, free of charge, to any person obtaining a copy
6of this software and associated documentation files (the "Software"), to deal
7in the Software without restriction, including without limitation the rights
8to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9copies of the Software, and to permit persons to whom the Software is
10furnished to do so, subject to the following conditions:
11
12The above copyright notice and this permission notice shall be included in all
13copies or substantial portions of the Software.
14
15THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21SOFTWARE.
diff --git a/uncompressed/stride/README.md b/uncompressed/stride/README.md
new file mode 100644
index 0000000..e01bcc5
--- /dev/null
+++ b/uncompressed/stride/README.md
@@ -0,0 +1,5 @@
1# Stride for Franz
2This is the unofficial Franz recipe for Atlassian Stride
3
4### How to create your own Franz recipes:
5* [Read the documentation](https://github.com/meetfranz/plugins)
diff --git a/uncompressed/stride/icon.svg b/uncompressed/stride/icon.svg
new file mode 100644
index 0000000..e2c9a27
--- /dev/null
+++ b/uncompressed/stride/icon.svg
@@ -0,0 +1,20 @@
1<svg viewBox="0 0 128 128" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
2 <defs>
3 <linearGradient x1="76.0077856%" y1="30.8164837%" x2="3.20549956%" y2="70.7051948%" id="linearGradient-1">
4 <stop stop-color="#0052CC" offset="18%"></stop>
5 <stop stop-color="#2684FF" offset="100%"></stop>
6 </linearGradient>
7 </defs>
8 <g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
9 <g id="Web/loading">
10 <g id="stride-blue">
11 <g id="Stride-blue" transform="translate(0.000000, 12.358621)">
12 <path d="M35.9973001,0 L35.9973001,20.6302865 C35.9973001,49.1938558 21.6434898,60.2216817 3.38183576,61.8908594 C1.45458762,62.0841914 -0.0096586852,63.7082824 4.79783111e-05,65.6418206 C4.79783111e-05,73.331291 4.79783111e-05,91.5046979 4.79783111e-05,99.4004712 C-0.00151632727,100.432086 0.422607976,101.418806 1.17263936,102.128491 C1.92267075,102.838176 2.93239328,103.208172 3.96425477,103.151432 C49.6935407,100.825836 77.2363234,67.5173012 77.2363234,26.1629542 L77.3678373,26.1629542 L77.3678373,0 L35.9973001,0 Z"
13 id="Shape" fill="url(#linearGradient-1)" fill-rule="nonzero"></path>
14 <path d="M127.607834,97.7366785 L79.2522535,0 L35.9630314,0 L87.0394347,100.099914 C88.0036757,101.977518 89.938024,103.15788 92.0495007,103.157116 L124.286555,103.157116 C125.57852,103.143552 126.772654,102.466649 127.447466,101.365335 C128.122278,100.26402 128.182862,98.89318 127.607834,97.7366785 Z"
15 id="Shape" fill="#2684FF" fill-rule="nonzero"></path>
16 </g>
17 </g>
18 </g>
19 </g>
20</svg>
diff --git a/uncompressed/stride/index.js b/uncompressed/stride/index.js
new file mode 100644
index 0000000..1111509
--- /dev/null
+++ b/uncompressed/stride/index.js
@@ -0,0 +1,4 @@
1"use strict";
2
3module.exports = Franz => Franz;
4//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInN0cmlkZS9pbmRleC5qcyJdLCJuYW1lcyI6WyJtb2R1bGUiLCJleHBvcnRzIiwiRnJhbnoiXSwibWFwcGluZ3MiOiI7O0FBQUFBLE9BQU9DLE9BQVAsR0FBaUJDLFNBQVNBLEtBQTFCIiwiZmlsZSI6InN0cmlkZS9pbmRleC5qcyIsInNvdXJjZXNDb250ZW50IjpbIm1vZHVsZS5leHBvcnRzID0gRnJhbnogPT4gRnJhbno7XG4iXX0= \ No newline at end of file
diff --git a/uncompressed/stride/package.json b/uncompressed/stride/package.json
new file mode 100644
index 0000000..527bdd7
--- /dev/null
+++ b/uncompressed/stride/package.json
@@ -0,0 +1,16 @@
1{
2 "id": "stride",
3 "name": "Stride",
4 "version": "1.1.0",
5 "description": "Atlassian Stride",
6 "main": "index.js",
7 "author": "Tobias Theobald <tobitheo@gmail.com>",
8 "license": "MIT",
9 "config": {
10 "serviceURL": "https://app.stride.com",
11 "hasNotificationSound": true,
12 "hasDirectMessages": true,
13 "hasIndirectMessages": true,
14 "hasTeamId": false
15 }
16}
diff --git a/uncompressed/stride/service.css b/uncompressed/stride/service.css
new file mode 100644
index 0000000..a2d0935
--- /dev/null
+++ b/uncompressed/stride/service.css
@@ -0,0 +1,3 @@
1html {
2 background-color: #FFF !important;
3} \ No newline at end of file
diff --git a/uncompressed/stride/webview.js b/uncompressed/stride/webview.js
new file mode 100644
index 0000000..c75b3ad
--- /dev/null
+++ b/uncompressed/stride/webview.js
@@ -0,0 +1,36 @@
1'use strict';
2
3var _path = require('path');
4
5var _path2 = _interopRequireDefault(_path);
6
7function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
8
9module.exports = Franz => {
10 const getMessages = function getMessages() {
11 // get all message badges
12 const allBadges = document.querySelectorAll('.activity-indicator');
13 let directCount = 0,
14 indirectCount = 0;
15
16 // get unread direct messages by tring to read the badge values
17 allBadges.forEach(item => {
18 if (item.hasAttribute('data-count')) {
19 // Count for DMs should be in the data-count attribute
20 directCount += Math.max(1, +item.getAttribute('data-count'));
21 } else {
22 // this will be the case for indirect messages
23 indirectCount++;
24 }
25 });
26
27 // set Franz badge
28 Franz.setBadge(directCount, indirectCount);
29 };
30 // check for new messages every second and update Franz badge
31 Franz.loop(getMessages);
32
33 // inject franz.css stylesheet
34 Franz.injectCSS(_path2.default.join(__dirname, 'service.css'));
35};
36//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInN0cmlkZS93ZWJ2aWV3LmpzIl0sIm5hbWVzIjpbIm1vZHVsZSIsImV4cG9ydHMiLCJGcmFueiIsImdldE1lc3NhZ2VzIiwiYWxsQmFkZ2VzIiwiZG9jdW1lbnQiLCJxdWVyeVNlbGVjdG9yQWxsIiwiZGlyZWN0Q291bnQiLCJpbmRpcmVjdENvdW50IiwiZm9yRWFjaCIsIml0ZW0iLCJoYXNBdHRyaWJ1dGUiLCJNYXRoIiwibWF4IiwiZ2V0QXR0cmlidXRlIiwic2V0QmFkZ2UiLCJsb29wIiwiaW5qZWN0Q1NTIiwiam9pbiIsIl9fZGlybmFtZSJdLCJtYXBwaW5ncyI6Ijs7QUFBQTs7Ozs7O0FBQ0FBLE9BQU9DLE9BQVAsR0FBa0JDLEtBQUQsSUFBVztBQUMxQixRQUFNQyxjQUFjLFNBQVNBLFdBQVQsR0FBdUI7QUFDM0M7QUFDRSxVQUFNQyxZQUFZQyxTQUFTQyxnQkFBVCxDQUEwQixxQkFBMUIsQ0FBbEI7QUFDQSxRQUFJQyxjQUFjLENBQWxCO0FBQUEsUUFDRUMsZ0JBQWdCLENBRGxCOztBQUdGO0FBQ0VKLGNBQVVLLE9BQVYsQ0FBbUJDLElBQUQsSUFBVTtBQUMxQixVQUFJQSxLQUFLQyxZQUFMLENBQWtCLFlBQWxCLENBQUosRUFBcUM7QUFDdkM7QUFDSUosdUJBQWVLLEtBQUtDLEdBQUwsQ0FBUyxDQUFULEVBQVksQ0FBRUgsS0FBS0ksWUFBTCxDQUFrQixZQUFsQixDQUFkLENBQWY7QUFDRCxPQUhELE1BR087QUFDVDtBQUNJTjtBQUNEO0FBQ0YsS0FSRDs7QUFVRjtBQUNFTixVQUFNYSxRQUFOLENBQWVSLFdBQWYsRUFBNEJDLGFBQTVCO0FBQ0QsR0FuQkQ7QUFvQkQ7QUFDQ04sUUFBTWMsSUFBTixDQUFXYixXQUFYOztBQUVEO0FBQ0NELFFBQU1lLFNBQU4sQ0FBZ0IsZUFBS0MsSUFBTCxDQUFVQyxTQUFWLEVBQXFCLGFBQXJCLENBQWhCO0FBQ0QsQ0ExQkQiLCJmaWxlIjoic3RyaWRlL3dlYnZpZXcuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgcGF0aCBmcm9tICdwYXRoJztcbm1vZHVsZS5leHBvcnRzID0gKEZyYW56KSA9PiB7XG4gIGNvbnN0IGdldE1lc3NhZ2VzID0gZnVuY3Rpb24gZ2V0TWVzc2FnZXMoKSB7XG5cdFx0Ly8gZ2V0IGFsbCBtZXNzYWdlIGJhZGdlc1xuICAgIGNvbnN0IGFsbEJhZGdlcyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5hY3Rpdml0eS1pbmRpY2F0b3InKTtcbiAgICBsZXQgZGlyZWN0Q291bnQgPSAwLFxuICAgICAgaW5kaXJlY3RDb3VudCA9IDA7XG5cblx0XHQvLyBnZXQgdW5yZWFkIGRpcmVjdCBtZXNzYWdlcyBieSB0cmluZyB0byByZWFkIHRoZSBiYWRnZSB2YWx1ZXNcbiAgICBhbGxCYWRnZXMuZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgICAgaWYgKGl0ZW0uaGFzQXR0cmlidXRlKCdkYXRhLWNvdW50JykpIHtcblx0XHRcdFx0Ly8gQ291bnQgZm9yIERNcyBzaG91bGQgYmUgaW4gdGhlIGRhdGEtY291bnQgYXR0cmlidXRlXG4gICAgICAgIGRpcmVjdENvdW50ICs9IE1hdGgubWF4KDEsICsoaXRlbS5nZXRBdHRyaWJ1dGUoJ2RhdGEtY291bnQnKSkpO1xuICAgICAgfSBlbHNlIHtcblx0XHRcdFx0Ly8gdGhpcyB3aWxsIGJlIHRoZSBjYXNlIGZvciBpbmRpcmVjdCBtZXNzYWdlc1xuICAgICAgICBpbmRpcmVjdENvdW50Kys7XG4gICAgICB9XG4gICAgfSk7XG5cblx0XHQvLyBzZXQgRnJhbnogYmFkZ2VcbiAgICBGcmFuei5zZXRCYWRnZShkaXJlY3RDb3VudCwgaW5kaXJlY3RDb3VudCk7XG4gIH07XG5cdC8vIGNoZWNrIGZvciBuZXcgbWVzc2FnZXMgZXZlcnkgc2Vjb25kIGFuZCB1cGRhdGUgRnJhbnogYmFkZ2VcbiAgRnJhbnoubG9vcChnZXRNZXNzYWdlcyk7XG5cblx0Ly8gaW5qZWN0IGZyYW56LmNzcyBzdHlsZXNoZWV0XG4gIEZyYW56LmluamVjdENTUyhwYXRoLmpvaW4oX19kaXJuYW1lLCAnc2VydmljZS5jc3MnKSk7XG59O1xuIl19 \ No newline at end of file