From e4faa273e512f5120f4ecd98636a0b38e7951949 Mon Sep 17 00:00:00 2001 From: Will Stone <654103+will-stone@users.noreply.github.com> Date: Wed, 2 Jun 2021 13:48:31 +0100 Subject: [PATCH 01/12] WIP Simplify base text --- src/main/main.ts | 4 ++-- src/renderer/components/atoms/app-button.tsx | 2 +- src/renderer/components/atoms/button.tsx | 1 - src/renderer/components/atoms/kbd.tsx | 2 +- src/renderer/components/molecules/tile.tsx | 19 +++++++------------ src/renderer/components/organisms/url-bar.tsx | 6 +++--- src/renderer/index.css | 4 ++++ 7 files changed, 18 insertions(+), 20 deletions(-) diff --git a/src/main/main.ts b/src/main/main.ts index 4c9e5e7b..9c392ba1 100644 --- a/src/main/main.ts +++ b/src/main/main.ts @@ -142,8 +142,8 @@ electron.app.on('ready', async () => { enableRemoteModule: false, }, center: true, - height: bounds?.height || 212, - minHeight: 212, + height: bounds?.height || 204, + minHeight: 204, width: bounds?.width || 458, minWidth: 458, show: false, diff --git a/src/renderer/components/atoms/app-button.tsx b/src/renderer/components/atoms/app-button.tsx index 736c598c..0f9ae3fe 100644 --- a/src/renderer/components/atoms/app-button.tsx +++ b/src/renderer/components/atoms/app-button.tsx @@ -19,7 +19,7 @@ const AppButton: React.FC = ({ key={app.id} aria-label={`${app.name} Tile`} className={clsx( - 'w-28 p-8', + 'w-full p-8', 'flex flex-col items-center justify-center max-h-full', 'focus:outline-none', 'space-y-2', diff --git a/src/renderer/components/atoms/button.tsx b/src/renderer/components/atoms/button.tsx index 291aea09..fb4fc88d 100644 --- a/src/renderer/components/atoms/button.tsx +++ b/src/renderer/components/atoms/button.tsx @@ -15,7 +15,6 @@ const Button: React.FC> = ({ 'active:shadow-none focus:outline-none active:opacity-75', 'px-3 py-2', 'rounded-md', - 'text-xs', 'leading-none', 'inline-flex items-center', 'bg-black bg-opacity-10', diff --git a/src/renderer/components/atoms/kbd.tsx b/src/renderer/components/atoms/kbd.tsx index b975f09c..bc932f3c 100644 --- a/src/renderer/components/atoms/kbd.tsx +++ b/src/renderer/components/atoms/kbd.tsx @@ -11,7 +11,7 @@ const Kbd: React.FC = ({ children, className, style }) => { diff --git a/src/renderer/components/molecules/tile.tsx b/src/renderer/components/molecules/tile.tsx index dc7e6ad7..32ba3718 100644 --- a/src/renderer/components/molecules/tile.tsx +++ b/src/renderer/components/molecules/tile.tsx @@ -33,7 +33,7 @@ const Tile: React.FC = ({ app, onClick, controls }) => { const isDarkMode = useSelector((state) => state.theme.isDarkMode) return ( -
+
= ({ app, onClick, controls }) => { { // TODO what can be done so this isn't hardcoded? app.id === 'carrot' ? ( - + ) : ( ) @@ -62,19 +62,18 @@ const Tile: React.FC = ({ app, onClick, controls }) => { {isEditMode && controls.hotkey && (
= ({ app, onClick, controls }) => { )} - {!controls.hotkey && ( -
{app.name}
- )} + {!controls.hotkey &&
{app.name}
} {isEditMode && controls.favourite && ( @@ -127,7 +124,7 @@ const Tile: React.FC = ({ app, onClick, controls }) => { className={clsx( 'absolute top-5 left-5', 'flex justify-center items-center', - 'focus:outline-none shadow rounded-full h-6 w-6', + 'focus:outline-none shadow rounded-full h-8 w-8', isDarkMode ? 'bg-black' : 'bg-white', 'bg-opacity-50', !app.isFav && 'text-sm', @@ -139,7 +136,6 @@ const Tile: React.FC = ({ app, onClick, controls }) => { className={clsx(!app.isFav && 'opacity-25')} fixedWidth icon={faStar} - size="xs" /> )} @@ -149,7 +145,7 @@ const Tile: React.FC = ({ app, onClick, controls }) => { className={clsx( 'absolute top-5 right-5', 'flex justify-center items-center', - 'focus:outline-none shadow rounded-full h-6 w-6', + 'focus:outline-none shadow rounded-full h-8 w-8', isDarkMode ? 'bg-black' : 'bg-white', 'bg-opacity-50', !app.isVisible && 'text-sm', @@ -161,7 +157,6 @@ const Tile: React.FC = ({ app, onClick, controls }) => { className={clsx(!app.isVisible && 'opacity-25')} fixedWidth icon={app.isVisible ? faEye : faEyeSlash} - size="xs" /> )} diff --git a/src/renderer/components/organisms/url-bar.tsx b/src/renderer/components/organisms/url-bar.tsx index 67ff9c78..66d2c79d 100644 --- a/src/renderer/components/organisms/url-bar.tsx +++ b/src/renderer/components/organisms/url-bar.tsx @@ -63,7 +63,7 @@ const UrlBar: React.FC = ({ className }) => { 'flex items-center justify-between', 'overflow-hidden', 'pr-1', - 'text-sm tracking-wider', + 'tracking-wider', )} > {isEditMode && ( @@ -86,12 +86,12 @@ const UrlBar: React.FC = ({ className }) => { {!isEditMode && (
Date: Fri, 4 Jun 2021 08:55:30 +0100 Subject: [PATCH 02/12] Up eslint config --- package-lock.json | 318 ++++++++++++++++++++++++++++++---------------- package.json | 4 +- 2 files changed, 210 insertions(+), 112 deletions(-) diff --git a/package-lock.json b/package-lock.json index c238481a..7c554c98 100644 --- a/package-lock.json +++ b/package-lock.json @@ -80,14 +80,14 @@ "@types/react": "^17.0.3", "@types/react-dom": "^17.0.3", "@types/react-redux": "^7.1.16", - "@will-stone/eslint-config": "^2.8.0", + "@will-stone/eslint-config": "^2.9.0", "@will-stone/prettier-config": "^4.0.0", "concurrently": "^6.0.1", "copy-webpack-plugin": "^6.0.3", "css-loader": "^5.2.4", "dotenv": "^8.2.0", "electron": "^13.0.0", - "eslint": "^7.24.0", + "eslint": "^7.27.0", "fork-ts-checker-webpack-plugin": "^5.2.0", "husky": "^6.0.0", "jest": "^27.0.3", @@ -194,13 +194,13 @@ } }, "node_modules/@babel/eslint-parser": { - "version": "7.13.14", - "resolved": "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.13.14.tgz", - "integrity": "sha512-I0HweR36D73Ibn/FfrRDMKlMqJHFwidIUgYdMpH+aXYuQC+waq59YaJ6t9e9N36axJ82v1jR041wwqDrDXEwRA==", + "version": "7.14.4", + "resolved": "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.14.4.tgz", + "integrity": "sha512-7CTckFLPBGEfCKqlrnJq2PIId3UmJ5hW+D4dsv/VvuA5DapgqyZFCttq+8oeRIJMZQizFIe5gel3xm2SbrqlYA==", "dev": true, "dependencies": { "eslint-scope": "^5.1.0", - "eslint-visitor-keys": "^1.3.0", + "eslint-visitor-keys": "^2.1.0", "semver": "^6.3.0" }, "engines": { @@ -224,15 +224,6 @@ "node": ">=8.0.0" } }, - "node_modules/@babel/eslint-parser/node_modules/eslint-visitor-keys": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", - "dev": true, - "engines": { - "node": ">=4" - } - }, "node_modules/@babel/eslint-parser/node_modules/semver": { "version": "6.3.0", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", @@ -3101,9 +3092,10 @@ } }, "node_modules/@eslint/eslintrc": { - "version": "0.4.0", + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.1.tgz", + "integrity": "sha512-5v7TDE9plVhvxQeWLXDTvFvJBdH6pEsdnl2g/dAptmuFEPedQ4Erq5rsDsX+mvAM610IhNaO2W5V1dOOnDKxkQ==", "dev": true, - "license": "MIT", "dependencies": { "ajv": "^6.12.4", "debug": "^4.1.1", @@ -3121,8 +3113,9 @@ }, "node_modules/@eslint/eslintrc/node_modules/globals": { "version": "12.4.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz", + "integrity": "sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==", "dev": true, - "license": "MIT", "dependencies": { "type-fest": "^0.8.1" }, @@ -3135,8 +3128,9 @@ }, "node_modules/@eslint/eslintrc/node_modules/ignore": { "version": "4.0.6", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", + "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", "dev": true, - "license": "MIT", "engines": { "node": ">= 4" } @@ -4790,9 +4784,9 @@ } }, "node_modules/@will-stone/eslint-config": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/@will-stone/eslint-config/-/eslint-config-2.8.0.tgz", - "integrity": "sha512-Khr7zEqtkxcYWXvpXY4EsFQVbt2zCJzvpGuR2ZniB9GLS6ZkflVUFzLwXMsX9WudpgK5FTRRSoxQKAVVwtgUmw==", + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/@will-stone/eslint-config/-/eslint-config-2.9.0.tgz", + "integrity": "sha512-FCg+vCTIDVSnmWkJqc1H8QLq9zJiYL6KH6cQkmn6pX3bu9y3em4mtZZmzgbPNYbnDJ59/p7zyBiVOmk0wE8pIQ==", "dev": true, "dependencies": { "@typescript-eslint/eslint-plugin": "^4.18.0", @@ -4808,7 +4802,7 @@ "eslint-plugin-react-hooks": "^4.2.0", "eslint-plugin-simple-import-sort": "^7.0.0", "eslint-plugin-switch-case": "^1.1.2", - "eslint-plugin-unicorn": "^32.0.1" + "eslint-plugin-unicorn": "^33.0.1" }, "engines": { "node": ">=12.0.0" @@ -4871,9 +4865,10 @@ } }, "node_modules/acorn": { - "version": "7.3.1", + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", "dev": true, - "license": "MIT", "bin": { "acorn": "bin/acorn" }, @@ -4891,6 +4886,15 @@ "acorn-walk": "^7.1.1" } }, + "node_modules/acorn-jsx": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.1.tgz", + "integrity": "sha512-K0Ptm/47OKfQRpNQ2J/oIN/3QYiK6FwW+eJbILhsdxh2WTLdl+30o8aGdTbm5JbffpFFAg/g+zi1E+jvJha5ng==", + "dev": true, + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, "node_modules/acorn-node": { "version": "1.8.2", "dev": true, @@ -9173,25 +9177,27 @@ } }, "node_modules/eslint": { - "version": "7.24.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.24.0.tgz", - "integrity": "sha512-k9gaHeHiFmGCDQ2rEfvULlSLruz6tgfA8DEn+rY9/oYPFFTlz55mM/Q/Rij1b2Y42jwZiK3lXvNTw6w6TXzcKQ==", + "version": "7.27.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.27.0.tgz", + "integrity": "sha512-JZuR6La2ZF0UD384lcbnd0Cgg6QJjiCwhMD6eU4h/VGPcVGwawNNzKU41tgokGXnfjOOyI6QIffthhJTPzzuRA==", "dev": true, "dependencies": { "@babel/code-frame": "7.12.11", - "@eslint/eslintrc": "^0.4.0", + "@eslint/eslintrc": "^0.4.1", "ajv": "^6.10.0", "chalk": "^4.0.0", "cross-spawn": "^7.0.2", "debug": "^4.0.1", "doctrine": "^3.0.0", "enquirer": "^2.3.5", + "escape-string-regexp": "^4.0.0", "eslint-scope": "^5.1.1", "eslint-utils": "^2.1.0", "eslint-visitor-keys": "^2.0.0", "espree": "^7.3.1", "esquery": "^1.4.0", "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", "file-entry-cache": "^6.0.1", "functional-red-black-tree": "^1.0.1", "glob-parent": "^5.0.0", @@ -9203,7 +9209,7 @@ "js-yaml": "^3.13.1", "json-stable-stringify-without-jsonify": "^1.0.1", "levn": "^0.4.1", - "lodash": "^4.17.21", + "lodash.merge": "^4.6.2", "minimatch": "^3.0.4", "natural-compare": "^1.4.0", "optionator": "^0.9.1", @@ -9212,7 +9218,7 @@ "semver": "^7.2.1", "strip-ansi": "^6.0.0", "strip-json-comments": "^3.1.0", - "table": "^6.0.4", + "table": "^6.0.9", "text-table": "^0.2.0", "v8-compile-cache": "^2.0.3" }, @@ -9604,15 +9610,15 @@ } }, "node_modules/eslint-plugin-unicorn": { - "version": "32.0.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-unicorn/-/eslint-plugin-unicorn-32.0.1.tgz", - "integrity": "sha512-LaZ9utnXtOJjnoDkpm+nQsONUUmyRR0WD6PGROSdQRRW3LRmgK/ZP8wxjW+Ai+2uolKTtuJzLx2mvbIeIoLqpg==", + "version": "33.0.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-unicorn/-/eslint-plugin-unicorn-33.0.1.tgz", + "integrity": "sha512-VxX/L/9DUEyB3D0v00185LrgsB5/fBwkgA4IC7ehHRu5hFSgA6VecmdpFybhsr4GQ/Y1iyXMHf6q+JKvcR2MwA==", "dev": true, "dependencies": { "ci-info": "^3.1.1", "clean-regexp": "^1.0.0", "eslint-template-visitor": "^2.3.2", - "eslint-utils": "^2.1.0", + "eslint-utils": "^3.0.0", "import-modules": "^2.1.0", "is-builtin-module": "^3.1.0", "lodash": "^4.17.21", @@ -9633,6 +9639,24 @@ "eslint": ">=7.23.0" } }, + "node_modules/eslint-plugin-unicorn/node_modules/eslint-utils": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz", + "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==", + "dev": true, + "dependencies": { + "eslint-visitor-keys": "^2.0.0" + }, + "engines": { + "node": "^10.0.0 || ^12.0.0 || >= 14.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" + }, + "peerDependencies": { + "eslint": ">=5" + } + }, "node_modules/eslint-plugin-unicorn/node_modules/read-pkg": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", @@ -9735,11 +9759,24 @@ } }, "node_modules/eslint-visitor-keys": { - "version": "2.0.0", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", + "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/eslint/node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", "dev": true, - "license": "Apache-2.0", "engines": { "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/eslint/node_modules/eslint-scope": { @@ -9791,8 +9828,9 @@ }, "node_modules/espree": { "version": "7.3.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz", + "integrity": "sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==", "dev": true, - "license": "BSD-2-Clause", "dependencies": { "acorn": "^7.4.0", "acorn-jsx": "^5.3.1", @@ -9802,29 +9840,11 @@ "node": "^10.12.0 || >=12.0.0" } }, - "node_modules/espree/node_modules/acorn": { - "version": "7.4.0", - "dev": true, - "license": "MIT", - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/espree/node_modules/acorn-jsx": { - "version": "5.3.1", - "dev": true, - "license": "MIT", - "peerDependencies": { - "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" - } - }, "node_modules/espree/node_modules/eslint-visitor-keys": { "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", "dev": true, - "license": "Apache-2.0", "engines": { "node": ">=4" } @@ -15047,6 +15067,12 @@ "integrity": "sha1-soqmKIorn8ZRA1x3EfZathkDMaY=", "dev": true }, + "node_modules/lodash.clonedeep": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", + "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=", + "dev": true + }, "node_modules/lodash.difference": { "version": "4.5.0", "dev": true, @@ -15072,6 +15098,12 @@ "dev": true, "license": "MIT" }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true + }, "node_modules/lodash.sortby": { "version": "4.7.0", "dev": true, @@ -15109,6 +15141,12 @@ "integrity": "sha1-NhY1Hzu6YZlKCTGYlmC9AyVP0Ak=", "dev": true }, + "node_modules/lodash.truncate": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz", + "integrity": "sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM=", + "dev": true + }, "node_modules/lodash.zipobject": { "version": "4.1.3", "dev": true, @@ -18961,8 +18999,9 @@ }, "node_modules/require-from-string": { "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -20261,8 +20300,9 @@ }, "node_modules/strip-json-comments": { "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" }, @@ -20400,23 +20440,27 @@ "dev": true }, "node_modules/table": { - "version": "6.0.7", + "version": "6.7.1", + "resolved": "https://registry.npmjs.org/table/-/table-6.7.1.tgz", + "integrity": "sha512-ZGum47Yi6KOOFDE8m223td53ath2enHcYLgOCjGr5ngu8bdIARQk6mN/wRMv4yMRcHnCSnHbCEha4sobQx5yWg==", "dev": true, - "license": "BSD-3-Clause", "dependencies": { - "ajv": "^7.0.2", - "lodash": "^4.17.20", + "ajv": "^8.0.1", + "lodash.clonedeep": "^4.5.0", + "lodash.truncate": "^4.4.2", "slice-ansi": "^4.0.0", - "string-width": "^4.2.0" + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0" }, "engines": { "node": ">=10.0.0" } }, "node_modules/table/node_modules/ajv": { - "version": "7.0.3", + "version": "8.5.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.5.0.tgz", + "integrity": "sha512-Y2l399Tt1AguU3BPRP9Fn4eN+Or+StUGWCUpbnFyXSo8NZ9S4uj+AG2pjs5apK+ZMOwYOz1+a+VKvKH7CudXgQ==", "dev": true, - "license": "MIT", "dependencies": { "fast-deep-equal": "^3.1.1", "json-schema-traverse": "^1.0.0", @@ -20430,8 +20474,9 @@ }, "node_modules/table/node_modules/json-schema-traverse": { "version": "1.0.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true }, "node_modules/tailwindcss": { "version": "2.1.1", @@ -22685,13 +22730,13 @@ } }, "@babel/eslint-parser": { - "version": "7.13.14", - "resolved": "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.13.14.tgz", - "integrity": "sha512-I0HweR36D73Ibn/FfrRDMKlMqJHFwidIUgYdMpH+aXYuQC+waq59YaJ6t9e9N36axJ82v1jR041wwqDrDXEwRA==", + "version": "7.14.4", + "resolved": "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.14.4.tgz", + "integrity": "sha512-7CTckFLPBGEfCKqlrnJq2PIId3UmJ5hW+D4dsv/VvuA5DapgqyZFCttq+8oeRIJMZQizFIe5gel3xm2SbrqlYA==", "dev": true, "requires": { "eslint-scope": "^5.1.0", - "eslint-visitor-keys": "^1.3.0", + "eslint-visitor-keys": "^2.1.0", "semver": "^6.3.0" }, "dependencies": { @@ -22705,12 +22750,6 @@ "estraverse": "^4.1.1" } }, - "eslint-visitor-keys": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", - "dev": true - }, "semver": { "version": "6.3.0", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", @@ -24913,7 +24952,9 @@ } }, "@eslint/eslintrc": { - "version": "0.4.0", + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.1.tgz", + "integrity": "sha512-5v7TDE9plVhvxQeWLXDTvFvJBdH6pEsdnl2g/dAptmuFEPedQ4Erq5rsDsX+mvAM610IhNaO2W5V1dOOnDKxkQ==", "dev": true, "requires": { "ajv": "^6.12.4", @@ -24929,6 +24970,8 @@ "dependencies": { "globals": { "version": "12.4.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz", + "integrity": "sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==", "dev": true, "requires": { "type-fest": "^0.8.1" @@ -24936,6 +24979,8 @@ }, "ignore": { "version": "4.0.6", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", + "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", "dev": true } } @@ -26272,9 +26317,9 @@ } }, "@will-stone/eslint-config": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/@will-stone/eslint-config/-/eslint-config-2.8.0.tgz", - "integrity": "sha512-Khr7zEqtkxcYWXvpXY4EsFQVbt2zCJzvpGuR2ZniB9GLS6ZkflVUFzLwXMsX9WudpgK5FTRRSoxQKAVVwtgUmw==", + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/@will-stone/eslint-config/-/eslint-config-2.9.0.tgz", + "integrity": "sha512-FCg+vCTIDVSnmWkJqc1H8QLq9zJiYL6KH6cQkmn6pX3bu9y3em4mtZZmzgbPNYbnDJ59/p7zyBiVOmk0wE8pIQ==", "dev": true, "requires": { "@typescript-eslint/eslint-plugin": "^4.18.0", @@ -26290,7 +26335,7 @@ "eslint-plugin-react-hooks": "^4.2.0", "eslint-plugin-simple-import-sort": "^7.0.0", "eslint-plugin-switch-case": "^1.1.2", - "eslint-plugin-unicorn": "^32.0.1" + "eslint-plugin-unicorn": "^33.0.1" } }, "@will-stone/prettier-config": { @@ -26333,7 +26378,9 @@ } }, "acorn": { - "version": "7.3.1", + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", "dev": true }, "acorn-globals": { @@ -26346,6 +26393,13 @@ "acorn-walk": "^7.1.1" } }, + "acorn-jsx": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.1.tgz", + "integrity": "sha512-K0Ptm/47OKfQRpNQ2J/oIN/3QYiK6FwW+eJbILhsdxh2WTLdl+30o8aGdTbm5JbffpFFAg/g+zi1E+jvJha5ng==", + "dev": true, + "requires": {} + }, "acorn-node": { "version": "1.8.2", "dev": true, @@ -29504,25 +29558,27 @@ } }, "eslint": { - "version": "7.24.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.24.0.tgz", - "integrity": "sha512-k9gaHeHiFmGCDQ2rEfvULlSLruz6tgfA8DEn+rY9/oYPFFTlz55mM/Q/Rij1b2Y42jwZiK3lXvNTw6w6TXzcKQ==", + "version": "7.27.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.27.0.tgz", + "integrity": "sha512-JZuR6La2ZF0UD384lcbnd0Cgg6QJjiCwhMD6eU4h/VGPcVGwawNNzKU41tgokGXnfjOOyI6QIffthhJTPzzuRA==", "dev": true, "requires": { "@babel/code-frame": "7.12.11", - "@eslint/eslintrc": "^0.4.0", + "@eslint/eslintrc": "^0.4.1", "ajv": "^6.10.0", "chalk": "^4.0.0", "cross-spawn": "^7.0.2", "debug": "^4.0.1", "doctrine": "^3.0.0", "enquirer": "^2.3.5", + "escape-string-regexp": "^4.0.0", "eslint-scope": "^5.1.1", "eslint-utils": "^2.1.0", "eslint-visitor-keys": "^2.0.0", "espree": "^7.3.1", "esquery": "^1.4.0", "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", "file-entry-cache": "^6.0.1", "functional-red-black-tree": "^1.0.1", "glob-parent": "^5.0.0", @@ -29534,7 +29590,7 @@ "js-yaml": "^3.13.1", "json-stable-stringify-without-jsonify": "^1.0.1", "levn": "^0.4.1", - "lodash": "^4.17.21", + "lodash.merge": "^4.6.2", "minimatch": "^3.0.4", "natural-compare": "^1.4.0", "optionator": "^0.9.1", @@ -29543,11 +29599,17 @@ "semver": "^7.2.1", "strip-ansi": "^6.0.0", "strip-json-comments": "^3.1.0", - "table": "^6.0.4", + "table": "^6.0.9", "text-table": "^0.2.0", "v8-compile-cache": "^2.0.3" }, "dependencies": { + "escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true + }, "eslint-scope": { "version": "5.1.1", "dev": true, @@ -29833,15 +29895,15 @@ } }, "eslint-plugin-unicorn": { - "version": "32.0.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-unicorn/-/eslint-plugin-unicorn-32.0.1.tgz", - "integrity": "sha512-LaZ9utnXtOJjnoDkpm+nQsONUUmyRR0WD6PGROSdQRRW3LRmgK/ZP8wxjW+Ai+2uolKTtuJzLx2mvbIeIoLqpg==", + "version": "33.0.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-unicorn/-/eslint-plugin-unicorn-33.0.1.tgz", + "integrity": "sha512-VxX/L/9DUEyB3D0v00185LrgsB5/fBwkgA4IC7ehHRu5hFSgA6VecmdpFybhsr4GQ/Y1iyXMHf6q+JKvcR2MwA==", "dev": true, "requires": { "ci-info": "^3.1.1", "clean-regexp": "^1.0.0", "eslint-template-visitor": "^2.3.2", - "eslint-utils": "^2.1.0", + "eslint-utils": "^3.0.0", "import-modules": "^2.1.0", "is-builtin-module": "^3.1.0", "lodash": "^4.17.21", @@ -29853,6 +29915,15 @@ "semver": "^7.3.5" }, "dependencies": { + "eslint-utils": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz", + "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==", + "dev": true, + "requires": { + "eslint-visitor-keys": "^2.0.0" + } + }, "read-pkg": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", @@ -29931,11 +30002,15 @@ } }, "eslint-visitor-keys": { - "version": "2.0.0", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", + "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", "dev": true }, "espree": { "version": "7.3.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz", + "integrity": "sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==", "dev": true, "requires": { "acorn": "^7.4.0", @@ -29943,17 +30018,10 @@ "eslint-visitor-keys": "^1.3.0" }, "dependencies": { - "acorn": { - "version": "7.4.0", - "dev": true - }, - "acorn-jsx": { - "version": "5.3.1", - "dev": true, - "requires": {} - }, "eslint-visitor-keys": { "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", "dev": true } } @@ -33896,6 +33964,12 @@ "integrity": "sha1-soqmKIorn8ZRA1x3EfZathkDMaY=", "dev": true }, + "lodash.clonedeep": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", + "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=", + "dev": true + }, "lodash.difference": { "version": "4.5.0", "dev": true @@ -33916,6 +33990,12 @@ "version": "3.0.0", "dev": true }, + "lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true + }, "lodash.sortby": { "version": "4.7.0", "dev": true @@ -33951,6 +34031,12 @@ "integrity": "sha1-NhY1Hzu6YZlKCTGYlmC9AyVP0Ak=", "dev": true }, + "lodash.truncate": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz", + "integrity": "sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM=", + "dev": true + }, "lodash.zipobject": { "version": "4.1.3", "dev": true @@ -36775,6 +36861,8 @@ }, "require-from-string": { "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", "dev": true }, "require-main-filename": { @@ -37786,6 +37874,8 @@ }, "strip-json-comments": { "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", "dev": true }, "strip-outer": { @@ -37877,17 +37967,23 @@ "dev": true }, "table": { - "version": "6.0.7", + "version": "6.7.1", + "resolved": "https://registry.npmjs.org/table/-/table-6.7.1.tgz", + "integrity": "sha512-ZGum47Yi6KOOFDE8m223td53ath2enHcYLgOCjGr5ngu8bdIARQk6mN/wRMv4yMRcHnCSnHbCEha4sobQx5yWg==", "dev": true, "requires": { - "ajv": "^7.0.2", - "lodash": "^4.17.20", + "ajv": "^8.0.1", + "lodash.clonedeep": "^4.5.0", + "lodash.truncate": "^4.4.2", "slice-ansi": "^4.0.0", - "string-width": "^4.2.0" + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0" }, "dependencies": { "ajv": { - "version": "7.0.3", + "version": "8.5.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.5.0.tgz", + "integrity": "sha512-Y2l399Tt1AguU3BPRP9Fn4eN+Or+StUGWCUpbnFyXSo8NZ9S4uj+AG2pjs5apK+ZMOwYOz1+a+VKvKH7CudXgQ==", "dev": true, "requires": { "fast-deep-equal": "^3.1.1", @@ -37898,6 +37994,8 @@ }, "json-schema-traverse": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", "dev": true } } diff --git a/package.json b/package.json index 3f4b7a4c..38b3ced6 100644 --- a/package.json +++ b/package.json @@ -200,14 +200,14 @@ "@types/react": "^17.0.3", "@types/react-dom": "^17.0.3", "@types/react-redux": "^7.1.16", - "@will-stone/eslint-config": "^2.8.0", + "@will-stone/eslint-config": "^2.9.0", "@will-stone/prettier-config": "^4.0.0", "concurrently": "^6.0.1", "copy-webpack-plugin": "^6.0.3", "css-loader": "^5.2.4", "dotenv": "^8.2.0", "electron": "^13.0.0", - "eslint": "^7.24.0", + "eslint": "^7.27.0", "fork-ts-checker-webpack-plugin": "^5.2.0", "husky": "^6.0.0", "jest": "^27.0.3", From 2c9f384c3ad1c2f69261bed610a78246dd4e6864 Mon Sep 17 00:00:00 2001 From: Will Stone <654103+will-stone@users.noreply.github.com> Date: Fri, 4 Jun 2021 16:39:37 +0100 Subject: [PATCH 03/12] Fix min height --- src/main/main.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/main.ts b/src/main/main.ts index 9c392ba1..afefdc19 100644 --- a/src/main/main.ts +++ b/src/main/main.ts @@ -144,8 +144,8 @@ electron.app.on('ready', async () => { center: true, height: bounds?.height || 204, minHeight: 204, - width: bounds?.width || 458, - minWidth: 458, + width: bounds?.width || 424, + minWidth: 424, show: false, minimizable: false, maximizable: false, From 92e91285c6771358e328b3145ebff0b8eda08baa Mon Sep 17 00:00:00 2001 From: Will Stone <654103+will-stone@users.noreply.github.com> Date: Fri, 4 Jun 2021 16:59:03 +0100 Subject: [PATCH 04/12] Refactor app button --- src/renderer/components/atoms/app-button.tsx | 39 -------------------- src/renderer/components/molecules/tile.tsx | 21 ++++++++--- 2 files changed, 15 insertions(+), 45 deletions(-) delete mode 100644 src/renderer/components/atoms/app-button.tsx diff --git a/src/renderer/components/atoms/app-button.tsx b/src/renderer/components/atoms/app-button.tsx deleted file mode 100644 index 0f9ae3fe..00000000 --- a/src/renderer/components/atoms/app-button.tsx +++ /dev/null @@ -1,39 +0,0 @@ -import clsx from 'clsx' -import React from 'react' - -import { ExtendedApp } from '../../store/selector-hooks' - -interface Props extends React.ComponentPropsWithoutRef<'button'> { - app: ExtendedApp -} - -const AppButton: React.FC = ({ - app, - disabled, - onClick, - children, - className, -}) => { - return ( - - ) -} - -export default AppButton diff --git a/src/renderer/components/molecules/tile.tsx b/src/renderer/components/molecules/tile.tsx index 32ba3718..f783b466 100644 --- a/src/renderer/components/molecules/tile.tsx +++ b/src/renderer/components/molecules/tile.tsx @@ -15,7 +15,6 @@ import { clickedTile, } from '../../store/actions' import { ExtendedApp } from '../../store/selector-hooks' -import AppButton from '../atoms/app-button' import AppLogo from '../atoms/app-logo' import { Carrot } from '../atoms/carrot' import Kbd from '../atoms/kbd' @@ -34,11 +33,19 @@ const Tile: React.FC = ({ app, onClick, controls }) => { return (
- - onClick + !isEditMode && onClick ? onClick(event) : dispatch( clickedTile({ @@ -49,11 +56,13 @@ const Tile: React.FC = ({ app, onClick, controls }) => { }), ) } + title={app.name} + type="button" > { // TODO what can be done so this isn't hardcoded? app.id === 'carrot' ? ( - + ) : ( ) @@ -116,7 +125,7 @@ const Tile: React.FC = ({ app, onClick, controls }) => { )} {!controls.hotkey &&
{app.name}
} -
+ {isEditMode && controls.favourite && (
) } diff --git a/src/renderer/components/organisms/support-message.tsx b/src/renderer/components/organisms/support-message.tsx new file mode 100644 index 00000000..68179e98 --- /dev/null +++ b/src/renderer/components/organisms/support-message.tsx @@ -0,0 +1,65 @@ +import clsx from 'clsx' +import React from 'react' +import { useDispatch } from 'react-redux' + +import { + clickedAlreadyDonated, + clickedDonate, + clickedMaybeLater, +} from '../../store/actions' +import { useIsSupportMessageHidden } from '../../store/selector-hooks' + +const SupportMessage = (): JSX.Element => { + const dispatch = useDispatch() + const isSupportMessageHidden = useIsSupportMessageHidden() + + return ( +
+
+

+ Browserosaurus is freely available but funded by only a few. If you + use Browserosaurus in your day-to-day, please consider a contribution. +

+

+ Thank you{' '} + + 😘 + +

+

— Will

+
+ +
+ + + +
+
+ ) +} + +export default SupportMessage diff --git a/src/renderer/components/organisms/url-bar.tsx b/src/renderer/components/organisms/url-bar.tsx index b1276058..dc910c27 100644 --- a/src/renderer/components/organisms/url-bar.tsx +++ b/src/renderer/components/organisms/url-bar.tsx @@ -100,7 +100,7 @@ const UrlBar: React.FC = ({ className }) => { > {url === CARROT_URL && (
- Contribute + Donation URL:
)} {parsedUrl.protocol} diff --git a/src/renderer/store/actions.ts b/src/renderer/store/actions.ts index 51e2c960..7750dc4e 100644 --- a/src/renderer/store/actions.ts +++ b/src/renderer/store/actions.ts @@ -76,14 +76,24 @@ const clickedSettingsButton = cA('urlBar/clickedSettingsButton') const clickedUrlBackspaceButton = cA('urlBar/clickedUrlBackspaceButton') const clickedCopyButton = cA('urlBar/clickedCopyButton') +// ----------------------------------------------------------------------------- +// Support Message +// ----------------------------------------------------------------------------- +const clickedDonate = cA('urlBar/clickedDonate') +const clickedMaybeLater = cA('urlBar/clickedMaybeLater') +const clickedAlreadyDonated = cA('urlBar/clickedAlreadyDonated') + export { appStarted, changedHotkey, + clickedAlreadyDonated, clickedBWebsiteButton, clickedCloseMenuButton, clickedCopyButton, + clickedDonate, clickedEyeButton, clickedFavButton, + clickedMaybeLater, clickedQuitButton, clickedReloadButton, clickedSetAsDefaultBrowserButton, diff --git a/src/renderer/store/reducers.ts b/src/renderer/store/reducers.ts index b85bc208..f5098cf8 100644 --- a/src/renderer/store/reducers.ts +++ b/src/renderer/store/reducers.ts @@ -1,17 +1,20 @@ import { createReducer } from '@reduxjs/toolkit' import xor from 'lodash/xor' -import { B_URL } from '../../config/CONSTANTS' +import { B_URL, CARROT_URL } from '../../config/CONSTANTS' import { App } from '../../config/types' import { Store as MainStore } from '../../main/store' import { alterHotkeys } from '../../utils/alterHotkeys' import { backspaceUrlParse } from '../../utils/backspaceUrlParse' import { changedHotkey, + clickedAlreadyDonated, clickedBWebsiteButton, clickedCloseMenuButton, + clickedDonate, clickedEyeButton, clickedFavButton, + clickedMaybeLater, clickedSetAsDefaultBrowserButton, clickedSettingsButton, clickedUrlBackspaceButton, @@ -66,6 +69,7 @@ interface UiState { fav: MainStore['fav'] hiddenTileIds: MainStore['hiddenTileIds'] hotkeys: MainStore['hotkeys'] + supportMessage: MainStore['supportMessage'] } const ui = createReducer( @@ -80,6 +84,8 @@ const ui = createReducer( fav: '', hiddenTileIds: [], hotkeys: {}, + // Hide by default to prevent flash of message on reload + supportMessage: -1, }, (builder) => builder @@ -127,6 +133,7 @@ const ui = createReducer( state.fav = action.payload.fav state.hiddenTileIds = action.payload.hiddenTileIds state.hotkeys = action.payload.hotkeys + state.supportMessage = action.payload.supportMessage }) .addCase(receivedUpdateAvailable, (state) => { state.updateStatus = 'available' @@ -143,6 +150,16 @@ const ui = createReducer( }) .addCase(clickedSetAsDefaultBrowserButton, (state) => { state.isEditMode = false + }) + .addCase(clickedDonate, (state) => { + state.url = CARROT_URL + state.supportMessage = Date.now() + }) + .addCase(clickedMaybeLater, (state) => { + state.supportMessage = Date.now() + }) + .addCase(clickedAlreadyDonated, (state) => { + state.supportMessage = -1 }), ) diff --git a/src/renderer/store/selector-hooks.ts b/src/renderer/store/selector-hooks.ts index 3ccd9884..2b036c35 100644 --- a/src/renderer/store/selector-hooks.ts +++ b/src/renderer/store/selector-hooks.ts @@ -51,16 +51,15 @@ export const useNormalTiles = (): ExtendedApp[] => { return normalTiles } -export const useAffiliateApp = (): ExtendedApp | undefined => { - const hiddenTileIds = useShallowEqualSelector( - (state) => state.ui.hiddenTileIds, - ) +export const useIsSupportMessageHidden = (): boolean => { + const supportMessageNumber = useSelector((state) => state.ui.supportMessage) - return { - name: 'Contribute', - id: 'carrot', - isVisible: !hiddenTileIds.includes('carrot'), - isFav: false, - hotkey: undefined, - } + const ONE_WEEK = 604_800_000 + + return ( + // Hidden by user + supportMessageNumber === -1 || + // Snoozing + supportMessageNumber > Date.now() - ONE_WEEK + ) } diff --git a/tailwind.config.js b/tailwind.config.js index 02bf82f8..e8e61e38 100644 --- a/tailwind.config.js +++ b/tailwind.config.js @@ -1,8 +1,10 @@ const plugin = require('tailwindcss/plugin') +const colors = require('tailwindcss/colors') module.exports = { purge: ['./src/**/*.tsx', './src/**/*.html'], theme: { + colors, fontSize: { 'xxs': '.6rem', 'xs': '.75rem', From b28d5209a54e2da16597c4971daf05d7959a9803 Mon Sep 17 00:00:00 2001 From: Will Stone <654103+will-stone@users.noreply.github.com> Date: Fri, 4 Jun 2021 21:04:45 +0100 Subject: [PATCH 12/12] Up Electron --- package-lock.json | 14 +++++++------- package.json | 2 +- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/package-lock.json b/package-lock.json index 3c8d51e6..0930786f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -86,7 +86,7 @@ "copy-webpack-plugin": "^6.0.3", "css-loader": "^5.2.4", "dotenv": "^8.2.0", - "electron": "^13.0.0", + "electron": "^13.1.1", "eslint": "^7.27.0", "fork-ts-checker-webpack-plugin": "^5.2.0", "husky": "^6.0.0", @@ -8227,9 +8227,9 @@ "dev": true }, "node_modules/electron": { - "version": "13.0.0", - "resolved": "https://registry.npmjs.org/electron/-/electron-13.0.0.tgz", - "integrity": "sha512-5SgpU7BgR4DJM1TPuZmKQ89A0AMN9vq7J7OfJebbHjsAuYP+rmJwosVna/RpLYFBuQNM90gnny5sffYGDZFQ4w==", + "version": "13.1.1", + "resolved": "https://registry.npmjs.org/electron/-/electron-13.1.1.tgz", + "integrity": "sha512-kySSb5CbIkWU2Kd9mf2rpGZC9p1nWhVVNl+CJjuOUGeVPXHbojHvTkDU1iC8AvV28eik3gqHisSJss40Caprog==", "dev": true, "hasInstallScript": true, "dependencies": { @@ -28891,9 +28891,9 @@ "dev": true }, "electron": { - "version": "13.0.0", - "resolved": "https://registry.npmjs.org/electron/-/electron-13.0.0.tgz", - "integrity": "sha512-5SgpU7BgR4DJM1TPuZmKQ89A0AMN9vq7J7OfJebbHjsAuYP+rmJwosVna/RpLYFBuQNM90gnny5sffYGDZFQ4w==", + "version": "13.1.1", + "resolved": "https://registry.npmjs.org/electron/-/electron-13.1.1.tgz", + "integrity": "sha512-kySSb5CbIkWU2Kd9mf2rpGZC9p1nWhVVNl+CJjuOUGeVPXHbojHvTkDU1iC8AvV28eik3gqHisSJss40Caprog==", "dev": true, "requires": { "@electron/get": "^1.0.1", diff --git a/package.json b/package.json index 64021c50..f079efad 100644 --- a/package.json +++ b/package.json @@ -206,7 +206,7 @@ "copy-webpack-plugin": "^6.0.3", "css-loader": "^5.2.4", "dotenv": "^8.2.0", - "electron": "^13.0.0", + "electron": "^13.1.1", "eslint": "^7.27.0", "fork-ts-checker-webpack-plugin": "^5.2.0", "husky": "^6.0.0",