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/steamchat/README.md | 5 +++++ recipes/steamchat/icon.png | Bin 0 -> 78535 bytes recipes/steamchat/icon.svg | 7 +++++++ recipes/steamchat/index.js | 12 ++++++++++++ recipes/steamchat/package.json | 15 +++++++++++++++ recipes/steamchat/webview.js | 32 ++++++++++++++++++++++++++++++++ 6 files changed, 71 insertions(+) create mode 100644 recipes/steamchat/README.md create mode 100644 recipes/steamchat/icon.png create mode 100644 recipes/steamchat/icon.svg create mode 100644 recipes/steamchat/index.js create mode 100644 recipes/steamchat/package.json create mode 100644 recipes/steamchat/webview.js (limited to 'recipes/steamchat') diff --git a/recipes/steamchat/README.md b/recipes/steamchat/README.md new file mode 100644 index 0000000..274fd30 --- /dev/null +++ b/recipes/steamchat/README.md @@ -0,0 +1,5 @@ +# Steam Chat for Franz +An unofficial Franz recipe for Steam Chat + +### How to create your own Franz recipes: +* [Read the documentation](https://github.com/meetfranz/plugins) diff --git a/recipes/steamchat/icon.png b/recipes/steamchat/icon.png new file mode 100644 index 0000000..0f83ad8 Binary files /dev/null and b/recipes/steamchat/icon.png differ diff --git a/recipes/steamchat/icon.svg b/recipes/steamchat/icon.svg new file mode 100644 index 0000000..3c937fa --- /dev/null +++ b/recipes/steamchat/icon.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/recipes/steamchat/index.js b/recipes/steamchat/index.js new file mode 100644 index 0000000..08b28c6 --- /dev/null +++ b/recipes/steamchat/index.js @@ -0,0 +1,12 @@ +"use strict"; + +module.exports = (Franz) => + class SteamChat extends Franz { + overrideUserAgent() { + return window.navigator.userAgent.replace( + /(Ferdi|Electron)\/\S+ \([^)]+\)/g, + "" + ); + } + }; +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInN0ZWFtY2hhdC9pbmRleC5qcyJdLCJuYW1lcyI6WyJtb2R1bGUiLCJleHBvcnRzIiwiRnJhbnoiLCJTdGVhbUNoYXQiLCJvdmVycmlkZVVzZXJBZ2VudCIsIndpbmRvdyIsIm5hdmlnYXRvciIsInVzZXJBZ2VudCIsInJlcGxhY2UiXSwibWFwcGluZ3MiOiI7O0FBQUFBLE9BQU9DLE9BQVAsR0FBaUJDLFNBQVMsTUFBTUMsU0FBTixTQUF3QkQsS0FBeEIsQ0FBOEI7QUFDdERFLHNCQUFvQjtBQUNsQixXQUFPQyxPQUFPQyxTQUFQLENBQWlCQyxTQUFqQixDQUEyQkMsT0FBM0IsQ0FBbUMsNkJBQW5DLEVBQWtFLEVBQWxFLENBQVA7QUFDRDtBQUhxRCxDQUF4RCIsImZpbGUiOiJzdGVhbWNoYXQvaW5kZXguanMiLCJzb3VyY2VzQ29udGVudCI6WyJtb2R1bGUuZXhwb3J0cyA9IEZyYW56ID0+IGNsYXNzIFN0ZWFtQ2hhdCBleHRlbmRzIEZyYW56IHtcbiAgb3ZlcnJpZGVVc2VyQWdlbnQoKSB7XG4gICAgcmV0dXJuIHdpbmRvdy5uYXZpZ2F0b3IudXNlckFnZW50LnJlcGxhY2UoLyhGcmFuenxFbGVjdHJvbikoW15cXHNdK1xccykvZywgJycpO1xuICB9XG59O1xuIl19 diff --git a/recipes/steamchat/package.json b/recipes/steamchat/package.json new file mode 100644 index 0000000..3c77e27 --- /dev/null +++ b/recipes/steamchat/package.json @@ -0,0 +1,15 @@ +{ + "id": "steamchat", + "name": "SteamChat", + "version": "1.1.2", + "description": "Steam Chat", + "main": "index.js", + "author": "Kevin Oestmark ", + "license": "MIT", + "config": { + "serviceURL": "https://steamcommunity.com/chat", + "hasNotificationSound": true, + "hasDirectMessages": true, + "hasIndirectMessages": true + } +} diff --git a/recipes/steamchat/webview.js b/recipes/steamchat/webview.js new file mode 100644 index 0000000..87f1f7a --- /dev/null +++ b/recipes/steamchat/webview.js @@ -0,0 +1,32 @@ +'use strict'; + +module.exports = Franz => { + const getMessages = function getMessages() { + // get new msg count + let count = 0; + let counters = document.querySelectorAll("[class*=FriendMessageCount]"); + [].filter.call(counters, countValue => { + if (countValue) { + count += parseInt(countValue.innerHTML); + } + }); + + const indirectMessages = document.querySelectorAll("[class*=ChatUnreadMessageIndicator]").length; + Franz.setBadge(count, indirectMessages); + + // force scroll to bottom of chat window + const chatBoxes = document.querySelectorAll('.chat_dialog'); + if (chatBoxes) { + const chatBox = [].filter.call(chatBoxes, chat => { + return chat.style.display !== 'none'; + }); + if (chatBox[0]) { + const chatWindow = chatBox[0].querySelector('.chat_dialog_scroll'); + chatWindow.scrollTop = chatWindow.scrollHeight; + } + } + }; + + Franz.loop(getMessages); +}; +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInN0ZWFtY2hhdC93ZWJ2aWV3LmpzIl0sIm5hbWVzIjpbIm1vZHVsZSIsImV4cG9ydHMiLCJGcmFueiIsImdldE1lc3NhZ2VzIiwiY291bnQiLCJjb3VudGVycyIsImRvY3VtZW50IiwicXVlcnlTZWxlY3RvckFsbCIsIkFycmF5IiwicHJvdG90eXBlIiwic2xpY2UiLCJjYWxsIiwiTWF0aCIsImZsb29yIiwibGVuZ3RoIiwiZmlsdGVyIiwiY291bnRWYWx1ZXMiLCJjb3VudFZhbHVlIiwicXVlcnlTZWxlY3RvciIsImlubmVySFRNTCIsInBhcnNlSW50Iiwic2V0QmFkZ2UiLCJjaGF0Qm94ZXMiLCJjaGF0Qm94IiwiY2hhdCIsInN0eWxlIiwiZGlzcGxheSIsImNoYXRXaW5kb3ciLCJzY3JvbGxUb3AiLCJzY3JvbGxIZWlnaHQiLCJsb29wIl0sIm1hcHBpbmdzIjoiOztBQUVBQSxPQUFPQyxPQUFQLEdBQWtCQyxLQUFELElBQVc7QUFDMUIsUUFBTUMsY0FBYyxTQUFTQSxXQUFULEdBQXVCO0FBQ3pDO0FBQ0EsUUFBSUMsUUFBUSxDQUFaO0FBQ0EsUUFBSUMsV0FBV0MsU0FBU0MsZ0JBQVQsQ0FBMEIscURBQTFCLENBQWY7QUFDQUYsZUFBV0csTUFBTUMsU0FBTixDQUFnQkMsS0FBaEIsQ0FBc0JDLElBQXRCLENBQTJCTixRQUEzQixFQUFxQ08sS0FBS0MsS0FBTCxDQUFXUixTQUFTUyxNQUFULEdBQWtCLENBQTdCLENBQXJDLENBQVg7QUFDQSxPQUFHQyxNQUFILENBQVVKLElBQVYsQ0FBZU4sUUFBZixFQUEwQlcsV0FBRCxJQUFpQjtBQUN4QyxVQUFJQSxXQUFKLEVBQWlCO0FBQ2YsY0FBTUMsYUFBYUQsWUFBWUUsYUFBWixDQUEwQiw2QkFBMUIsQ0FBbkI7QUFDQSxZQUFJRCxXQUFXRSxTQUFYLENBQXFCTCxNQUFyQixHQUE4QixDQUFsQyxFQUFxQztBQUNuQ1YsbUJBQVNnQixTQUFTSCxXQUFXRSxTQUFwQixDQUFUO0FBQ0Q7QUFDRjtBQUNGLEtBUEQ7QUFRQWpCLFVBQU1tQixRQUFOLENBQWVqQixLQUFmOztBQUVBO0FBQ0EsVUFBTWtCLFlBQVloQixTQUFTQyxnQkFBVCxDQUEwQixjQUExQixDQUFsQjtBQUNBLFFBQUllLFNBQUosRUFBZTtBQUNiLFlBQU1DLFVBQVUsR0FBR1IsTUFBSCxDQUFVSixJQUFWLENBQWVXLFNBQWYsRUFBMkJFLElBQUQsSUFBVTtBQUNsRCxlQUFPQSxLQUFLQyxLQUFMLENBQVdDLE9BQVgsS0FBdUIsTUFBOUI7QUFDRCxPQUZlLENBQWhCO0FBR0EsVUFBSUgsUUFBUSxDQUFSLENBQUosRUFBZ0I7QUFDZCxjQUFNSSxhQUFhSixRQUFRLENBQVIsRUFBV0wsYUFBWCxDQUF5QixxQkFBekIsQ0FBbkI7QUFDQVMsbUJBQVdDLFNBQVgsR0FBdUJELFdBQVdFLFlBQWxDO0FBQ0Q7QUFDRjtBQUNGLEdBMUJEOztBQTRCQTNCLFFBQU00QixJQUFOLENBQVczQixXQUFYO0FBQ0QsQ0E5QkQiLCJmaWxlIjoic3RlYW1jaGF0L3dlYnZpZXcuanMiLCJzb3VyY2VzQ29udGVudCI6WyJcblxubW9kdWxlLmV4cG9ydHMgPSAoRnJhbnopID0+IHtcbiAgY29uc3QgZ2V0TWVzc2FnZXMgPSBmdW5jdGlvbiBnZXRNZXNzYWdlcygpIHtcbiAgICAvLyBnZXQgbmV3IG1zZyBjb3VudFxuICAgIGxldCBjb3VudCA9IDA7XG4gICAgbGV0IGNvdW50ZXJzID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnLnVucmVhZF9tZXNzYWdlX2NvdW50Om5vdChbc3R5bGU9XCJkaXNwbGF5OiBub25lO1wiXSknKTtcbiAgICBjb3VudGVycyA9IEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGNvdW50ZXJzLCBNYXRoLmZsb29yKGNvdW50ZXJzLmxlbmd0aCAvIDIpKTtcbiAgICBbXS5maWx0ZXIuY2FsbChjb3VudGVycywgKGNvdW50VmFsdWVzKSA9PiB7XG4gICAgICBpZiAoY291bnRWYWx1ZXMpIHtcbiAgICAgICAgY29uc3QgY291bnRWYWx1ZSA9IGNvdW50VmFsdWVzLnF1ZXJ5U2VsZWN0b3IoJy51bnJlYWRfbWVzc2FnZV9jb3VudF92YWx1ZScpO1xuICAgICAgICBpZiAoY291bnRWYWx1ZS5pbm5lckhUTUwubGVuZ3RoID4gMCkge1xuICAgICAgICAgIGNvdW50ICs9IHBhcnNlSW50KGNvdW50VmFsdWUuaW5uZXJIVE1MKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuICAgIEZyYW56LnNldEJhZGdlKGNvdW50KTtcblxuICAgIC8vIGZvcmNlIHNjcm9sbCB0byBib3R0b20gb2YgY2hhdCB3aW5kb3dcbiAgICBjb25zdCBjaGF0Qm94ZXMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcuY2hhdF9kaWFsb2cnKTtcbiAgICBpZiAoY2hhdEJveGVzKSB7XG4gICAgICBjb25zdCBjaGF0Qm94ID0gW10uZmlsdGVyLmNhbGwoY2hhdEJveGVzLCAoY2hhdCkgPT4ge1xuICAgICAgICByZXR1cm4gY2hhdC5zdHlsZS5kaXNwbGF5ICE9PSAnbm9uZSc7XG4gICAgICB9KTtcbiAgICAgIGlmIChjaGF0Qm94WzBdKSB7XG4gICAgICAgIGNvbnN0IGNoYXRXaW5kb3cgPSBjaGF0Qm94WzBdLnF1ZXJ5U2VsZWN0b3IoJy5jaGF0X2RpYWxvZ19zY3JvbGwnKTtcbiAgICAgICAgY2hhdFdpbmRvdy5zY3JvbGxUb3AgPSBjaGF0V2luZG93LnNjcm9sbEhlaWdodDtcbiAgICAgIH1cbiAgICB9XG4gIH07XG5cbiAgRnJhbnoubG9vcChnZXRNZXNzYWdlcyk7XG59O1xuIl19 \ No newline at end of file -- cgit v1.2.3-70-g09d2