From 0645ed5180e9495190b403db087bc51a8f73f349 Mon Sep 17 00:00:00 2001 From: sienori Date: Tue, 6 Apr 2021 16:04:04 +0900 Subject: [PATCH] Show Sponsors --- README.md | 8 + docs/img/becomeSponsor.png | Bin 0 -> 5084 bytes docs/img/toucan.png | Bin 0 -> 11182 bytes docs/index.md | 8 + docs/sponsors.css | 12 ++ docs/sponsors.html | 22 +++ package-lock.json | 208 +++++++++++++--------- package.json | 4 +- src/_locales/en/messages.json | 3 + src/options/components/InformationPage.js | 31 +++- src/options/styles/OptionContainer.scss | 5 + 11 files changed, 209 insertions(+), 92 deletions(-) create mode 100644 docs/img/becomeSponsor.png create mode 100644 docs/img/toucan.png create mode 100644 docs/sponsors.css create mode 100644 docs/sponsors.html diff --git a/README.md b/README.md index 341aa86..3ce7aa7 100644 --- a/README.md +++ b/README.md @@ -15,6 +15,14 @@ Thank you to the awesome **[backers](https://github.com/sienori/simple-translate [Became a Patreon](https://www.patreon.com/sienori) [Check out with PayPal](https://www.paypal.me/sienoriExt) +## Sponsors + +Support Simple Translate by [becoming a sponsor](https://www.patreon.com/join/sienori). Thank you to our wonderful sponsors! + +[Toucan](https://jointoucan.com/partners/tab-session-manager) + +[Become a Sponsor](https://www.patreon.com/join/sienori) + ## Translation You can contribute by translating Simple Translate on **[Crowdin](https://crowdin.com/project/simple-translate)**. diff --git a/docs/img/becomeSponsor.png b/docs/img/becomeSponsor.png new file mode 100644 index 0000000000000000000000000000000000000000..6e3ebd8f796a86adfd2f4cdfa4ee23dc8c9d7133 GIT binary patch literal 5084 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 M07*qoM6N<$g2%VHT>t<8 literal 0 HcmV?d00001 diff --git a/docs/index.md b/docs/index.md index 69887ba..ee5b446 100644 --- a/docs/index.md +++ b/docs/index.md @@ -19,6 +19,14 @@ Thank you to the awesome **[backers](https://github.com/sienori/simple-translate [Became a Patreon](https://www.patreon.com/sienori) [Check out with PayPal](https://www.paypal.me/sienoriExt) +## Sponsors + +Support Tab Session Manager by [becoming a sponsor](https://www.patreon.com/join/sienori). Thank you to our wonderful sponsors! + +[Toucan](https://jointoucan.com/partners/tab-session-manager) +  +[Become a Sponsor](https://www.patreon.com/join/sienori) + ## Translation You can contribute by translating Simple Translate on **[Crowdin](https://crowdin.com/project/simple-translate)**. diff --git a/docs/sponsors.css b/docs/sponsors.css new file mode 100644 index 0000000..8157c96 --- /dev/null +++ b/docs/sponsors.css @@ -0,0 +1,12 @@ +body { + margin: 0; +} + +img { + height: 110px; + margin-right: 20px; +} + +a { + text-decoration: none; +} diff --git a/docs/sponsors.html b/docs/sponsors.html new file mode 100644 index 0000000..768743d --- /dev/null +++ b/docs/sponsors.html @@ -0,0 +1,22 @@ + + + + + + + + + + diff --git a/package-lock.json b/package-lock.json index 77fa482..ab5f0cd 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1263,11 +1263,6 @@ "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", "dev": true }, - "asap": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", - "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=" - }, "asn1": { "version": "0.2.4", "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", @@ -1864,14 +1859,64 @@ "bluebird": "^3.5.5", "chownr": "^1.1.1", "figgy-pudding": "^3.5.1", + "glob": "^7.1.4", + "graceful-fs": "^4.1.15", "infer-owner": "^1.0.3", + "lru-cache": "^5.1.1", "mississippi": "^3.0.0", "mkdirp": "^0.5.1", "move-concurrently": "^1.0.1", "promise-inflight": "^1.0.1", + "rimraf": "^2.6.3", "ssri": "^6.0.1", "unique-filename": "^1.1.1", "y18n": "^4.0.0" + }, + "dependencies": { + "glob": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "graceful-fs": { + "version": "4.2.6", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.6.tgz", + "integrity": "sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ==", + "dev": true + }, + "lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "requires": { + "yallist": "^3.0.2" + } + }, + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true + } } }, "cache-base": { @@ -3022,14 +3067,6 @@ "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=", "dev": true }, - "encoding": { - "version": "0.1.12", - "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.12.tgz", - "integrity": "sha1-U4tm8+5izRq1HsMjgp0flIDHS+s=", - "requires": { - "iconv-lite": "~0.4.13" - } - }, "end-of-stream": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz", @@ -3417,27 +3454,6 @@ "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=", "dev": true }, - "fbjs": { - "version": "0.8.17", - "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-0.8.17.tgz", - "integrity": "sha1-xNWY6taUkRJlPWWIsBpc3Nn5D90=", - "requires": { - "core-js": "^1.0.0", - "isomorphic-fetch": "^2.1.1", - "loose-envify": "^1.0.0", - "object-assign": "^4.1.0", - "promise": "^7.1.1", - "setimmediate": "^1.0.5", - "ua-parser-js": "^0.7.18" - }, - "dependencies": { - "core-js": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-1.2.7.tgz", - "integrity": "sha1-ZSKUwUZR2yj6k70tX/KYOk8IxjY=" - } - } - }, "figgy-pudding": { "version": "3.5.2", "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.2.tgz", @@ -4730,7 +4746,44 @@ "dev": true, "requires": { "domelementtype": "1", - "domhandler": "2.1" + "domhandler": "2.1", + "domutils": "1.1", + "readable-stream": "1.0" + }, + "dependencies": { + "domutils": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.1.6.tgz", + "integrity": "sha1-vdw94Jm5ou+sxRxiPyj0FuzFdIU=", + "dev": true, + "requires": { + "domelementtype": "1" + } + }, + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", + "dev": true + }, + "readable-stream": { + "version": "1.0.34", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", + "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "dev": true + } } }, "http-errors": { @@ -4767,6 +4820,7 @@ "version": "0.4.24", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dev": true, "requires": { "safer-buffer": ">= 2.1.2 < 3" } @@ -5079,7 +5133,8 @@ "is-stream": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=" + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", + "dev": true }, "is-symbol": { "version": "1.0.1", @@ -5129,15 +5184,6 @@ "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", "dev": true }, - "isomorphic-fetch": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz", - "integrity": "sha1-YRrhrPFPXoH3KVB0coGf6XM1WKk=", - "requires": { - "node-fetch": "^1.0.1", - "whatwg-fetch": ">=0.10.0" - } - }, "isstream": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", @@ -5710,15 +5756,6 @@ "lower-case": "^1.1.1" } }, - "node-fetch": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.3.tgz", - "integrity": "sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ==", - "requires": { - "encoding": "^0.1.11", - "is-stream": "^1.0.1" - } - }, "node-gyp": { "version": "3.8.0", "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-3.8.0.tgz", @@ -6552,14 +6589,6 @@ "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==", "dev": true }, - "promise": { - "version": "7.3.1", - "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz", - "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==", - "requires": { - "asap": "~2.0.3" - } - }, "promise-inflight": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", @@ -6727,14 +6756,13 @@ } }, "react": { - "version": "16.4.2", - "resolved": "https://registry.npmjs.org/react/-/react-16.4.2.tgz", - "integrity": "sha512-dMv7YrbxO4y2aqnvA7f/ik9ibeLSHQJTI6TrYAenPSaQ6OXfb+Oti+oJiy8WBxgRzlKatYqtCjphTgDSCEiWFg==", + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react/-/react-16.13.1.tgz", + "integrity": "sha512-YMZQQq32xHLX0bz5Mnibv1/LHb3Sqzngu7xstSM+vrkE5Kzr9xE0yMByK5kMoTK30YVJE61WfbxIFFvfeDKT1w==", "requires": { - "fbjs": "^0.8.16", "loose-envify": "^1.1.0", "object-assign": "^4.1.1", - "prop-types": "^15.6.0" + "prop-types": "^15.6.2" } }, "react-copy-to-clipboard": { @@ -6747,14 +6775,14 @@ } }, "react-dom": { - "version": "16.4.2", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.4.2.tgz", - "integrity": "sha512-Usl73nQqzvmJN+89r97zmeUpQDKDlh58eX6Hbs/ERdDHzeBzWy+ENk7fsGQ+5KxArV1iOFPT46/VneklK9zoWw==", + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.13.1.tgz", + "integrity": "sha512-81PIMmVLnCNLO/fFOQxdQkvEq/+Hfpv24XNJfpyZhTRfO0QcmQIF/PgCa1zCOj2w1hrn12MFLyaJ/G0+Mxtfag==", "requires": { - "fbjs": "^0.8.16", "loose-envify": "^1.1.0", "object-assign": "^4.1.1", - "prop-types": "^15.6.0" + "prop-types": "^15.6.2", + "scheduler": "^0.19.1" } }, "react-router": { @@ -7491,7 +7519,8 @@ "safer-buffer": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true }, "sass-graph": { "version": "2.2.4", @@ -7533,6 +7562,15 @@ "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", "dev": true }, + "scheduler": { + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.19.1.tgz", + "integrity": "sha512-n/zwRWRYSUj0/3g/otKDRPMh6qv2SYMWNq85IEa8iZyAv8od9zDYpGSnpBEjNgcMNq6Scbu5KfIPxNF72R/2EA==", + "requires": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1" + } + }, "schema-utils": { "version": "0.4.7", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-0.4.7.tgz", @@ -7649,7 +7687,8 @@ "setimmediate": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", - "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=" + "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=", + "dev": true }, "setprototypeof": { "version": "1.1.1", @@ -7851,7 +7890,16 @@ "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==", "dev": true, "requires": { - "buffer-from": "^1.0.0" + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } } }, "source-map-url": { @@ -8815,11 +8863,6 @@ "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", "dev": true }, - "ua-parser-js": { - "version": "0.7.18", - "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.18.tgz", - "integrity": "sha512-LtzwHlVHwFGTptfNSgezHp7WUlwiqb0gA9AALRbKaERfxwJoiX0A73QbTToxteIAuIaFshhgIZfqK8s7clqgnA==" - }, "uglify-js": { "version": "3.4.9", "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.4.9.tgz", @@ -9590,11 +9633,6 @@ } } }, - "whatwg-fetch": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-2.0.4.tgz", - "integrity": "sha512-dcQ1GWpOD/eEQ97k66aiEVpNnapVj90/+R+SXTPYGHpYBBypfKJEQjLrvMZ7YXbKm21gXd4NcuxUTjiv1YtLng==" - }, "which": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", diff --git a/package.json b/package.json index e12d71d..eb5cbd5 100644 --- a/package.json +++ b/package.json @@ -5,9 +5,9 @@ "browser-info": "^1.2.0", "loglevel": "^1.6.1", "query-string": "^6.1.0", - "react": "^16.4.0", + "react": "^16.13.1", "react-copy-to-clipboard": "^5.0.1", - "react-dom": "^16.4.0", + "react-dom": "^16.13.1", "react-router": "^4.3.1", "react-router-dom": "^4.3.1", "react-toggle": "^4.0.2" diff --git a/src/_locales/en/messages.json b/src/_locales/en/messages.json index d93a3e0..be9c422 100644 --- a/src/_locales/en/messages.json +++ b/src/_locales/en/messages.json @@ -344,6 +344,9 @@ "amazonTitleLabel": { "message": "amazon.co.jp eGift Cards" }, + "sponsorsLabel": { + "message": "Sponsors" + }, "addonPageLabel": { "message": "Add-on page" }, diff --git a/src/options/components/InformationPage.js b/src/options/components/InformationPage.js index 069c0b8..154a2e5 100644 --- a/src/options/components/InformationPage.js +++ b/src/options/components/InformationPage.js @@ -1,4 +1,4 @@ -import React from "react"; +import React, { useState, useEffect } from "react"; import browser from "webextension-polyfill"; import browserInfo from "browser-info"; import queryString from "query-string"; @@ -16,6 +16,17 @@ export default props => { const query = queryString.parse(props.location.search); const extensionVersion = manifest.version; + const [sponsorsHeihgt, setSponsorsHeight] = useState(); + + useEffect(() => { + const setHeight = e => { + if (e.data[0] !== "setSponsorsHeight") return; + setSponsorsHeight(e.data[1]); + }; + window.addEventListener("message", setHeight); + return () => window.removeEventListener("message", setHeight); + }); + return (