diff --git a/CHANGELOG.md b/CHANGELOG.md index 1c12c4190e41ece492de548c80eb6be59b76c408..cc8df6898552d83cd3e43a062e57a9dac6f58b7f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,12 @@ +# 0.1.37 + +_30th November 2020_ + +### Fixed + +- Add emoji reactions is no longer missing from Cards view. +- Long URLS now wrap when viewing on smaller screen sizes, to accommodate increased link text. + # 0.1.36 _20th November 2020_ diff --git a/app/package-lock.json b/app/package-lock.json index ecdbeeb6fb7d6e128fe168bfb99e25d87a12cb8e..b211b55844b321782cb787d13a14e0ef025ae740 100644 --- a/app/package-lock.json +++ b/app/package-lock.json @@ -1,6 +1,6 @@ { "name": "nodenogg.in", - "version": "0.1.35", + "version": "0.1.36", "lockfileVersion": 1, "requires": true, "dependencies": { @@ -1507,9 +1507,9 @@ "integrity": "sha512-WSrlgpvEqgPWkI18kkGELEZfXr0bYLtr16iIN4Krh9sRnzBZN6nnWxHFxtsnP684wueEySBbXPDg/WfA9xJdBQ==" }, "@hapi/hapi": { - "version": "20.0.2", - "resolved": "https://registry.npmjs.org/@hapi/hapi/-/hapi-20.0.2.tgz", - "integrity": "sha512-F59cZOZhEXpOL+o7RT76M/QDUwSn3u+RBkB+9l2NqTPEA11+inaiEZ0Z2DrRoo9g5EzWVU/gygdP4uo5aXQNHg==", + "version": "20.0.3", + "resolved": "https://registry.npmjs.org/@hapi/hapi/-/hapi-20.0.3.tgz", + "integrity": "sha512-aqJVHVjoY3phiZsgsGjDRG15CoUNIs1azScqLZDOCZUSKYGTbzPi+K0QP+RUjUJ0m8L9dRuTZ27c8HKxG3wEhA==", "requires": { "@hapi/accept": "^5.0.1", "@hapi/ammo": "^5.0.1", @@ -1844,9 +1844,9 @@ } }, "@hapi/wreck": { - "version": "17.0.0", - "resolved": "https://registry.npmjs.org/@hapi/wreck/-/wreck-17.0.0.tgz", - "integrity": "sha512-d8lqCinbKyDByn7GzJDRDbitddhIEydNm44UcAMejfhEH3o4IYvKYq6K8cAqXbilXPuvZc0ErlUOg9SDdgRtMw==", + "version": "17.1.0", + "resolved": "https://registry.npmjs.org/@hapi/wreck/-/wreck-17.1.0.tgz", + "integrity": "sha512-nx6sFyfqOpJ+EFrHX+XWwJAxs3ju4iHdbB/bwR8yTNZOiYmuhA8eCe7lYPtYmb4j7vyK/SlbaQsmTtUrMvPEBw==", "requires": { "@hapi/boom": "9.x.x", "@hapi/bourne": "2.x.x", @@ -5514,9 +5514,9 @@ } }, "core-js": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.7.0.tgz", - "integrity": "sha512-NwS7fI5M5B85EwpWuIwJN4i/fbisQUwLwiSNUWeXlkAZ0sbBjLEvLvFLf1uzAUV66PcEPt4xCGCmOZSxVf3xzA==" + "version": "3.8.0", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.8.0.tgz", + "integrity": "sha512-W2VYNB0nwQQE7tKS7HzXd7r2y/y2SVJl4ga6oH/dnaLFzM0o2lB2P3zCkWj5Wc/zyMYjtgd5Hmhk0ObkQFZOIA==" }, "core-js-compat": { "version": "3.7.0", @@ -5899,9 +5899,9 @@ }, "dependencies": { "buffer": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.2.tgz", - "integrity": "sha512-XeXCUm+F7uY7fIzq4pKy+BLbZk4SgYS5xwlZOFYD3UEcAD+PwOoTaFr/SaXvhR1yRa8SKyPSZ7LNX4N65w7h8A==", + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", + "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", "requires": { "base64-js": "^1.3.1", "ieee754": "^1.2.1" @@ -6654,6 +6654,14 @@ "integrity": "sha512-7vmuyh5+kuUyJKePhQfRQBhXV5Ce+RnaeeQArKu1EAMpL3WbgMt5WG6uQZpEVvYSSsxMXRKOewtDk9RaTKXRlA==", "dev": true }, + "electron-fetch": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/electron-fetch/-/electron-fetch-1.7.2.tgz", + "integrity": "sha512-J7D136rhxIhPwYJsnHPpKgbyd4NUCGnKM1CuXLhmVWZdc8f6+LBiJqUOTngtSacj+xvGWgaDWOAuCXnhqiMTCw==", + "requires": { + "encoding": "^0.1.13" + } + }, "electron-to-chromium": { "version": "1.3.603", "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.603.tgz", @@ -6973,9 +6981,9 @@ "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" }, "eslint": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.13.0.tgz", - "integrity": "sha512-uCORMuOO8tUzJmsdRtrvcGq5qposf7Rw0LwkTJkoDbOycVQtQjmnhZSuLQnozLE4TmAzlMVV45eCHmQ1OpDKUQ==", + "version": "7.14.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.14.0.tgz", + "integrity": "sha512-5YubdnPXrlrYAFCKybPuHIAH++PINe1pmKNc5wQRB9HSbqIK1ywAnntE3Wwua4giKu0bjligf1gLF6qxMGOYRA==", "dev": true, "requires": { "@babel/code-frame": "^7.0.0", @@ -7056,39 +7064,12 @@ "which": "^2.0.1" } }, - "eslint-scope": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", - "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", - "dev": true, - "requires": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - } - }, "eslint-visitor-keys": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.0.0.tgz", "integrity": "sha512-QudtT6av5WXels9WjIM7qz1XD1cWGvX4gGXvp/zBn9nXG02D0utdU3Em2m/QjTnrsk6bBjmCygl3rmj118msQQ==", "dev": true }, - "esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "dev": true, - "requires": { - "estraverse": "^5.2.0" - }, - "dependencies": { - "estraverse": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", - "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", - "dev": true - } - } - }, "globals": { "version": "12.4.0", "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz", @@ -9395,9 +9376,9 @@ }, "dependencies": { "buffer": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.2.tgz", - "integrity": "sha512-XeXCUm+F7uY7fIzq4pKy+BLbZk4SgYS5xwlZOFYD3UEcAD+PwOoTaFr/SaXvhR1yRa8SKyPSZ7LNX4N65w7h8A==", + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", + "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", "requires": { "base64-js": "^1.3.1", "ieee754": "^1.2.1" @@ -9535,13 +9516,13 @@ "dev": true }, "ipfs": { - "version": "0.52.1", - "resolved": "https://registry.npmjs.org/ipfs/-/ipfs-0.52.1.tgz", - "integrity": "sha512-L7QOSOIscgRS4qSpq8ewQo1FmCbyl6OM/EB+XsO0+UbN/bGamkTtW7K+noRs/1f++PZfqNTN2+c5dDxx2WfXzg==", + "version": "0.52.2", + "resolved": "https://registry.npmjs.org/ipfs/-/ipfs-0.52.2.tgz", + "integrity": "sha512-2OZe6HyHGzSfdv55RFuw89n43zj+hPGLfmsz0h2LL4OH7ERtQVCH/5foDEoV6NJsXnBnps8w6adCtyrZeze9IQ==", "requires": { "debug": "^4.1.1", - "ipfs-cli": "^0.2.1", - "ipfs-core": "^0.2.1", + "ipfs-cli": "^0.2.2", + "ipfs-core": "^0.3.0", "ipfs-repo": "^7.0.0", "semver": "^7.3.2", "update-notifier": "^5.0.0" @@ -9588,9 +9569,9 @@ } }, "ipfs-cli": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/ipfs-cli/-/ipfs-cli-0.2.1.tgz", - "integrity": "sha512-uOsk/4R4/hFWJBpgtJ/16rBVvtFKqiz8udjcCShissRN9YjjzwRevVHgEHSriY9nTBBGHX7ZZe+Q9mqTDr+qKw==", + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/ipfs-cli/-/ipfs-cli-0.2.2.tgz", + "integrity": "sha512-9DhIdTd8P/uvBv+IdhGjHEl2lpeXm8x2sj30PLddBHFo9PHOWUfqwo7FYHYIzn6MiakL0XWph4HAKX9Jw0iHJA==", "requires": { "bignumber.js": "^9.0.0", "byteman": "^1.3.5", @@ -9601,11 +9582,11 @@ "err-code": "^2.0.3", "execa": "^4.0.3", "get-folder-size": "^2.0.1", - "ipfs-core": "^0.2.1", - "ipfs-core-utils": "^0.5.2", - "ipfs-http-client": "^48.1.1", - "ipfs-http-gateway": "^0.1.2", - "ipfs-http-server": "^0.1.2", + "ipfs-core": "^0.3.0", + "ipfs-core-utils": "^0.5.3", + "ipfs-http-client": "^48.1.2", + "ipfs-http-gateway": "^0.1.3", + "ipfs-http-server": "^0.1.3", "ipfs-repo": "^7.0.0", "ipfs-utils": "^5.0.0", "ipld-dag-cbor": "^0.17.0", @@ -9783,11 +9764,10 @@ } }, "ipfs-core": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.2.1.tgz", - "integrity": "sha512-XMceB4MyDqn87dK0kZu4zSIHDTbpDZMC19M3NHYSTlTOPyKXW5hY9BxVH2esdW/Ny1+Kl38hxINKQg5FNeajNQ==", + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.3.0.tgz", + "integrity": "sha512-uBcYGsIM8lb8dixDvZ09OrMM5nBsvMQX9tUFS3+oo24JRhGKMWtDVV3umn26mXygobdQfGCTZFqjVMxoLssVEA==", "requires": { - "any-signal": "^2.0.0", "array-shuffle": "^1.0.1", "bignumber.js": "^9.0.0", "cbor": "^5.1.0", @@ -9804,7 +9784,7 @@ "interface-datastore": "^2.0.0", "ipfs-bitswap": "^4.0.0", "ipfs-block-service": "^0.18.0", - "ipfs-core-utils": "^0.5.2", + "ipfs-core-utils": "^0.5.3", "ipfs-repo": "^7.0.0", "ipfs-unixfs": "^2.0.3", "ipfs-unixfs-exporter": "^3.0.4", @@ -9849,15 +9829,15 @@ "parse-duration": "^0.4.4", "peer-id": "^0.14.1", "streaming-iterables": "^5.0.2", - "timeout-abort-controller": "^1.1.1", "uint8arrays": "^1.1.0" } }, "ipfs-core-utils": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/ipfs-core-utils/-/ipfs-core-utils-0.5.2.tgz", - "integrity": "sha512-Cfz4hRa1HUBZGexwfYKjROiam8GQ6V+tA7kA17/bdCea0rxep4OZ64qUw+HwBTGNWEKg8SwKNEFs/V7LLPM6kg==", + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/ipfs-core-utils/-/ipfs-core-utils-0.5.3.tgz", + "integrity": "sha512-JuJz+sp+9+g7U5j0+M6+biBnVtbJnlRNuBrqku/RcwoH4IIMTX99PctGGyo8AjCo5ZK+j0om1Pp2cWTZrlSdAQ==", "requires": { + "any-signal": "^2.0.0", "blob-to-it": "^1.0.1", "browser-readablestream-to-it": "^1.0.1", "cids": "^1.0.0", @@ -9868,20 +9848,22 @@ "it-peekable": "^1.0.1", "multiaddr": "^8.0.0", "multiaddr-to-uri": "^6.0.0", + "parse-duration": "^0.4.4", + "timeout-abort-controller": "^1.1.1", "uint8arrays": "^1.1.0" } }, "ipfs-http-client": { - "version": "48.1.1", - "resolved": "https://registry.npmjs.org/ipfs-http-client/-/ipfs-http-client-48.1.1.tgz", - "integrity": "sha512-DZVm6EvB3zCxuvEwW5blDKigKtvAWWzPSIQEIUeWr04qzVThEe5eYK+Siu1qxrpthnBK1fYxS3okK2WI4kmluA==", + "version": "48.1.2", + "resolved": "https://registry.npmjs.org/ipfs-http-client/-/ipfs-http-client-48.1.2.tgz", + "integrity": "sha512-eeqHhjYUgPNBKxkS29xYS7Mtc9JxzLKI9Bua2nphB5vG1l6W2hjDTntfVl4ddY07XqZogDu6yTL3UsFj0WJFeg==", "requires": { "any-signal": "^2.0.0", "bignumber.js": "^9.0.0", "cids": "^1.0.0", "debug": "^4.1.1", "form-data": "^3.0.0", - "ipfs-core-utils": "^0.5.2", + "ipfs-core-utils": "^0.5.3", "ipfs-utils": "^5.0.0", "ipld-block": "^0.11.0", "ipld-dag-cbor": "^0.17.0", @@ -9916,9 +9898,9 @@ } }, "ipfs-http-gateway": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/ipfs-http-gateway/-/ipfs-http-gateway-0.1.2.tgz", - "integrity": "sha512-9HP3VWacY8io8HGP8A+xjxHulfbUC4/37pYhX2VLa3R8CdCUm9O6caNhex9Y9WoBhi332OR9rcr/1rRpI9rNXg==", + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/ipfs-http-gateway/-/ipfs-http-gateway-0.1.3.tgz", + "integrity": "sha512-SwBRSvwwXxlYEUBlDOBngmKFifnCFjs7HM90mgJnRjahDZzGV8YKAZpVLys0szLybz+pqGKK7LxSo7+ALS2hKQ==", "requires": { "@hapi/ammo": "^5.0.1", "@hapi/boom": "^9.1.0", @@ -9926,7 +9908,7 @@ "cids": "^1.0.0", "debug": "^4.1.1", "hapi-pino": "^8.3.0", - "ipfs-core-utils": "^0.5.2", + "ipfs-core-utils": "^0.5.3", "ipfs-http-response": "^0.6.0", "is-ipfs": "^2.0.0", "it-last": "^1.0.4", @@ -9962,9 +9944,9 @@ } }, "ipfs-http-server": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/ipfs-http-server/-/ipfs-http-server-0.1.2.tgz", - "integrity": "sha512-QKAhfNWlX3BK8K/nthArHF2sRGOJAU5ySZO9T4khPqAFDQ3czLOYViRVkplBxzmVSk6Wz6sXB3P12wyyRhL1gg==", + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/ipfs-http-server/-/ipfs-http-server-0.1.3.tgz", + "integrity": "sha512-Hn7mEgfifHSVL1DFO1mIIytYiOW3Zlav+t6yQjdU+mgTzyH/4C7vwbz7V6ib5IfShROrfmeE6ahkt4IvEb9wxA==", "requires": { "@hapi/boom": "^9.1.0", "@hapi/content": "^5.0.2", @@ -9974,8 +9956,8 @@ "dlv": "^1.1.3", "err-code": "^2.0.3", "hapi-pino": "^8.3.0", - "ipfs-core-utils": "^0.5.2", - "ipfs-http-gateway": "^0.1.2", + "ipfs-core-utils": "^0.5.3", + "ipfs-http-gateway": "^0.1.3", "ipfs-unixfs": "^2.0.3", "ipld-dag-pb": "^0.20.0", "it-all": "^1.0.4", @@ -10032,9 +10014,9 @@ }, "dependencies": { "buffer": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.2.tgz", - "integrity": "sha512-XeXCUm+F7uY7fIzq4pKy+BLbZk4SgYS5xwlZOFYD3UEcAD+PwOoTaFr/SaXvhR1yRa8SKyPSZ7LNX4N65w7h8A==", + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", + "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", "requires": { "base64-js": "^1.3.1", "ieee754": "^1.2.1" @@ -10151,92 +10133,17 @@ } }, "ipfs-unixfs-exporter": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/ipfs-unixfs-exporter/-/ipfs-unixfs-exporter-3.0.6.tgz", - "integrity": "sha512-dalY2lZxTjyLJB2qXKzVTbMY6TOFAcLRVFMJ0+9ORuEKNV4zUViL0eTKSOaJuaFuRzhc8yFFkfB7FnCqfXamIg==", + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/ipfs-unixfs-exporter/-/ipfs-unixfs-exporter-3.0.7.tgz", + "integrity": "sha512-ZYpE8SVLcvxDVb9+aKwthf7a4gRFSHqbEJaVrvVOpeXKSG66WTrI0KQR14sIk0v4SYOaUSWrWVXsSjUbONrVHg==", "requires": { "cids": "^1.0.0", "err-code": "^2.0.0", "hamt-sharding": "^1.0.0", "ipfs-unixfs": "^2.0.4", - "ipfs-utils": "^4.0.0", + "ipfs-utils": "^5.0.0", "it-last": "^1.0.1", "multihashing-async": "^2.0.0" - }, - "dependencies": { - "buffer": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.2.tgz", - "integrity": "sha512-XeXCUm+F7uY7fIzq4pKy+BLbZk4SgYS5xwlZOFYD3UEcAD+PwOoTaFr/SaXvhR1yRa8SKyPSZ7LNX4N65w7h8A==", - "requires": { - "base64-js": "^1.3.1", - "ieee754": "^1.2.1" - } - }, - "fs-extra": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.0.1.tgz", - "integrity": "sha512-h2iAoN838FqAFJY2/qVpzFXy+EBxfVE220PalAqQLDVsFOHLJrZvut5puAbCdNv6WJk+B8ihI+k0c7JK5erwqQ==", - "requires": { - "at-least-node": "^1.0.0", - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^1.0.0" - } - }, - "ieee754": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==" - }, - "ipfs-utils": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/ipfs-utils/-/ipfs-utils-4.0.1.tgz", - "integrity": "sha512-6mg+S1sbjj+Ff+uoHOhVeC4myfV2tb2sHcdYwfpJ4ZcBo9WfdxSMnWFLiC5bIqByyJuN/g5aWgz3ozjKDzND1Q==", - "requires": { - "@achingbrain/electron-fetch": "^1.7.2", - "abort-controller": "^3.0.0", - "any-signal": "^2.1.0", - "buffer": "^6.0.1", - "err-code": "^2.0.0", - "fs-extra": "^9.0.1", - "is-electron": "^2.2.0", - "iso-url": "^1.0.0", - "it-glob": "0.0.10", - "merge-options": "^2.0.0", - "nanoid": "^3.1.3", - "native-abort-controller": "0.0.3", - "native-fetch": "^2.0.0", - "node-fetch": "^2.6.0", - "stream-to-it": "^0.2.0" - } - }, - "iso-url": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/iso-url/-/iso-url-1.0.0.tgz", - "integrity": "sha512-n/MsHgKOoHcFrhsxfbM3aaSdUujoFrrZ3537p3RW80AL7axL36acCseoMwIW4tNOl0n0SnkzNyVh4bREwmHoPQ==" - }, - "jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", - "requires": { - "graceful-fs": "^4.1.6", - "universalify": "^2.0.0" - }, - "dependencies": { - "universalify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==" - } - } - }, - "universalify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-1.0.0.tgz", - "integrity": "sha512-rb6X1W158d7pRQBg5gkR8uPaSfiids68LTJQYOtEUhoJUWBdaQHsuT/EUduxXYxcrt4r5PJ4fuHW1MHT6p0qug==" - } } }, "ipfs-unixfs-importer": { @@ -10261,9 +10168,9 @@ }, "dependencies": { "buffer": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.2.tgz", - "integrity": "sha512-XeXCUm+F7uY7fIzq4pKy+BLbZk4SgYS5xwlZOFYD3UEcAD+PwOoTaFr/SaXvhR1yRa8SKyPSZ7LNX4N65w7h8A==", + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", + "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", "requires": { "base64-js": "^1.3.1", "ieee754": "^1.2.1" @@ -10344,9 +10251,9 @@ } }, "merge-options": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/merge-options/-/merge-options-3.0.3.tgz", - "integrity": "sha512-jytfjQxL5mVrtD9O24zOXU4neV3uVbQdn1F0o1pzSa1yH9LTEUOtfwpWSsyAxrrrXqAFTxaU4ynqkmekHLvYew==", + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/merge-options/-/merge-options-3.0.4.tgz", + "integrity": "sha512-2Sug1+knBjkaMsMgf1ctR1Ujx+Ayku4EdJN4Z+C2+JzoeF7A3OZ9KM2GY0CpQS51NR61LTurMJrRKPhSs3ZRTQ==", "requires": { "is-plain-obj": "^2.1.0" } @@ -10359,14 +10266,14 @@ } }, "ipfs-utils": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ipfs-utils/-/ipfs-utils-5.0.0.tgz", - "integrity": "sha512-sD7UXxGvePXEPVO9hoyBFyq7Tww9mpShOQrxaF1GZtIvSxDpqUvly8XM/8m9XDoQYYXEUQ8eJIb2puKIJTd3tQ==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ipfs-utils/-/ipfs-utils-5.0.1.tgz", + "integrity": "sha512-28KZPgO4Uf5duT2ORLAYfboUp98iUshDD7yRAfbNxNAR8Dtidfn6o20rZfoXnkri2zKBVIPlJkuCPmPJB+6erg==", "requires": { - "@achingbrain/electron-fetch": "^1.7.2", "abort-controller": "^3.0.0", "any-signal": "^2.1.0", "buffer": "^6.0.1", + "electron-fetch": "^1.7.2", "err-code": "^2.0.0", "fs-extra": "^9.0.1", "is-electron": "^2.2.0", @@ -10382,9 +10289,9 @@ }, "dependencies": { "buffer": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.2.tgz", - "integrity": "sha512-XeXCUm+F7uY7fIzq4pKy+BLbZk4SgYS5xwlZOFYD3UEcAD+PwOoTaFr/SaXvhR1yRa8SKyPSZ7LNX4N65w7h8A==", + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", + "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", "requires": { "base64-js": "^1.3.1", "ieee754": "^1.2.1" @@ -11878,9 +11785,9 @@ } }, "libp2p-delegated-content-routing": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/libp2p-delegated-content-routing/-/libp2p-delegated-content-routing-0.8.0.tgz", - "integrity": "sha512-E5Wc5RZnohe9EEa5DMuhJgrTmWYDBuLihZCVpBeiFEzzeqJUDZwbu6jwyMEf7e1AzYlmWIGz6VvCkn0RnYR7UA==", + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/libp2p-delegated-content-routing/-/libp2p-delegated-content-routing-0.8.2.tgz", + "integrity": "sha512-3xfrNaX31VB+sj7/u5ZGjhSzbm7l5jCCzlYktEpQyET7JMI8d1ef8FAP3DiWEhbiSfivMMqlfCzfPEMsLxZG7g==", "requires": { "debug": "^4.1.1", "it-all": "^1.0.0", @@ -11890,9 +11797,9 @@ } }, "libp2p-delegated-peer-routing": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/libp2p-delegated-peer-routing/-/libp2p-delegated-peer-routing-0.8.0.tgz", - "integrity": "sha512-kqbC+P2c+XaQWMtQmQiRV0eQUWVW/T1P6ckbuKf3Tw3KZBkOmsLeAJ5ByG2/vFVzUUAuZiW46T1y2qOoq84Wsg==", + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/libp2p-delegated-peer-routing/-/libp2p-delegated-peer-routing-0.8.2.tgz", + "integrity": "sha512-q49zSTE7wpagt3FDY6S2e2Rr59kPoTMJAwlPeenZ1ajJLbKXRP26RfraK8RaUUw7mHw0BPo47VQcH7ieDkSO+A==", "requires": { "cids": "^1.0.0", "debug": "^4.1.1", @@ -12203,9 +12110,9 @@ } }, "libp2p-utils": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/libp2p-utils/-/libp2p-utils-0.2.2.tgz", - "integrity": "sha512-1V8M6iKcKqdUdLLcBbTTRl7whoa5KEHD7t5URiJ8gD2uvrkY5mp8nVo+DE3JxdNOxYRkA/02r02FYa7tbLeWCA==", + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/libp2p-utils/-/libp2p-utils-0.2.3.tgz", + "integrity": "sha512-9BoMCgvJF7LJ+JVMaHtqfCqhZN4i/sx0DrY6lf9U0Rq9uUgQ9qTai2O9LXcfr1LOS3OMMeRLsKk25MMgsf7W3w==", "requires": { "abortable-iterator": "^3.0.0", "debug": "^4.2.0", @@ -12213,7 +12120,7 @@ "ip-address": "^6.1.0", "is-loopback-addr": "^1.0.0", "multiaddr": "^8.0.0", - "private-ip": "^1.0.5" + "private-ip": "^2.1.1" }, "dependencies": { "debug": { @@ -13064,12 +12971,12 @@ } }, "multibase": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-3.0.1.tgz", - "integrity": "sha512-MRU5WpnSg81/vYO977MweoeUAxBdXl7+F5Af2Es+X6Vcgfk/g/EjIqXTgm3kb+xO3m1Kzr+aIV14oRX7nv5Z9w==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/multibase/-/multibase-3.1.0.tgz", + "integrity": "sha512-Z+pThrpbS7ckQ2DwW5mPiwCGe1a94f8DWi/OxmbyeRednVOyUKmLSE+60kL/WHFYwWnaD1OakXGk3PYI1NkMFw==", "requires": { "@multiformats/base-x": "^4.0.1", - "web-encoding": "^1.0.2" + "web-encoding": "^1.0.4" } }, "multicast-dns": { @@ -13109,13 +13016,20 @@ } }, "multihashes": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/multihashes/-/multihashes-3.0.1.tgz", - "integrity": "sha512-fFY67WOtb0359IjDZxaCU3gJILlkwkFbxbwrK9Bej5+NqNaYztzLOj8/NgMNMg/InxmhK+Uu8S/U4EcqsHzB7Q==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/multihashes/-/multihashes-3.1.0.tgz", + "integrity": "sha512-snU+w6aZy5bTrrqIHW3wkT0MfHmxcpOsaVNJt0NzUnseksbjFDVUZjSmhDMAVOVnIdLMS7xHjo55pKlBIGmC3g==", "requires": { - "multibase": "^3.0.0", + "multibase": "^3.1.0", "uint8arrays": "^1.0.0", - "varint": "^5.0.0" + "varint": "^6.0.0" + }, + "dependencies": { + "varint": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/varint/-/varint-6.0.0.tgz", + "integrity": "sha512-cXEIW6cfr15lFv563k4GuVuW/fiwjknytD37jIOLSdSWuOI6WnO/oKwmP2FQTU2l01LP8/M5TSAJpzUaGe3uWg==" + } } }, "multihashing-async": { @@ -13180,9 +13094,9 @@ "integrity": "sha512-M2ufzIiINKCuDfBSAUr1vWQ+vuVcA9kqx8JJUsbQi6yf1uGRyb7HfpdfUr5qLXf3B/t8dPvcjhKMmlfnP47EzQ==" }, "nanoid": { - "version": "3.1.17", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.17.tgz", - "integrity": "sha512-5mmlQz73ohlISpARejqTwgYzh92wwBccatETsLOI+VKkY6Lx/Dj3wvG7tCoKjX+eEaZWn0gB7Xkfl5JatHQTeA==" + "version": "3.1.18", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.18.tgz", + "integrity": "sha512-rndlDjbbHbcV3xi+R2fpJ+PbGMdfBxz5v1fATIQFq0DP64FsicQdwnKLy47K4kZHdRpmQXtz24eGsxQqamzYTA==" }, "nanomatch": { "version": "1.2.13", @@ -13241,6 +13155,11 @@ "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", "dev": true }, + "netmask": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/netmask/-/netmask-1.0.6.tgz", + "integrity": "sha1-ICl+idhvb2QA8lDZ9Pa0wZRfzTU=" + }, "nice-try": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", @@ -15021,9 +14940,9 @@ "dev": true }, "prettier": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.2.0.tgz", - "integrity": "sha512-yYerpkvseM4iKD/BXLYUkQV5aKt4tQPqaGW6EsZjzyu0r7sVZZNPJW4Y8MyKmicp6t42XUPcBVA+H6sB3gqndw==", + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.2.1.tgz", + "integrity": "sha512-PqyhM2yCjg/oKkFPtTGUojv7gnZAoG80ttl45O6x2Ug/rMJw4wcc9k6aaf2hibP7BGVCCM33gZoGjyvt9mm16Q==", "dev": true }, "prettier-linter-helpers": { @@ -15051,9 +14970,13 @@ } }, "private-ip": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/private-ip/-/private-ip-1.0.5.tgz", - "integrity": "sha1-ItAYP7oJ0OwaKk4PRv63cVY9FEk=" + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/private-ip/-/private-ip-2.1.1.tgz", + "integrity": "sha512-csxTtREJ7254nnUF14hjOrnd/vZH78vTS5opec6IDVZRwY3omKDcNL/r+vfxFZnCRsrBWVA8B0Q95lgMGrFuZQ==", + "requires": { + "is-ip": "^3.1.0", + "netmask": "^1.0.6" + } }, "process": { "version": "0.11.10", @@ -15140,9 +15063,9 @@ }, "dependencies": { "@types/node": { - "version": "13.13.32", - "resolved": "https://registry.npmjs.org/@types/node/-/node-13.13.32.tgz", - "integrity": "sha512-sPBvDnrwZE1uePhkCEyI/qQlgZM5kePPAhHIFDWNsOrWBFRBOk3LKJYmVCLeLZlL9Ub/FzMJb31OTWCg2F+06g==" + "version": "13.13.33", + "resolved": "https://registry.npmjs.org/@types/node/-/node-13.13.33.tgz", + "integrity": "sha512-1B3GM1yuYsFyEvBb+ljBqWBOylsWDYioZ5wpu8AhXdIhq20neXS7eaSC8GkwHE0yQYGiOIV43lMsgRYTgKZefQ==" } } }, @@ -15295,9 +15218,9 @@ "dev": true }, "queue-microtask": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.1.tgz", - "integrity": "sha512-MXDP6d9DIR+7/Tf2vxfB0Qacg9uRs6bQaWwT1RieFIMQVXDsbJ/+AZOI7tHTrzY+f0VsvSM5qQyh/orfZwOVzw==" + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.2.tgz", + "integrity": "sha512-dB15eXv3p2jDlbOiNLyMabYg1/sXvppd8DP2J3EOCQ0AkuSXCW2tP7mnVouVLJKgUMY6yP0kcQDVpLCN13h4Xg==" }, "quick-format-unescaped": { "version": "4.0.1", @@ -18129,9 +18052,9 @@ "dev": true }, "vuex": { - "version": "3.5.1", - "resolved": "https://registry.npmjs.org/vuex/-/vuex-3.5.1.tgz", - "integrity": "sha512-w7oJzmHQs0FM9LXodfskhw9wgKBiaB+totOdb8sNzbTB2KDCEEwEs29NzBZFh/lmEK1t5tDmM1vtsO7ubG1DFw==" + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/vuex/-/vuex-3.6.0.tgz", + "integrity": "sha512-W74OO2vCJPs9/YjNjW8lLbj+jzT24waTo2KShI8jLvJW8OaIkgb3wuAMA7D+ZiUxDOx3ubwSZTaJBip9G8a3aQ==" }, "vuvuzela": { "version": "1.0.3", diff --git a/app/package.json b/app/package.json index 545c544da192ba8ae23042b6b75da85bec0fa2f5..e3f7a8f55909069d1a6b6ca3cf921f1d6ea0fb4a 100644 --- a/app/package.json +++ b/app/package.json @@ -1,6 +1,6 @@ { "name": "nodenogg.in", - "version": "0.1.36", + "version": "0.1.37", "private": true, "scripts": { "serve": "vue-cli-service serve", @@ -9,9 +9,9 @@ "lint:fix": "vue-cli-service lint --fix" }, "dependencies": { - "core-js": "^3.7.0", + "core-js": "^3.8.0", "file-loader": "^6.2.0", - "ipfs": "^0.52.1", + "ipfs": "^0.52.2", "marked": "^1.2.5", "pixi.js": "^5.3.3", "pouchdb": "^7.2.2", @@ -19,7 +19,7 @@ "vue-draggable-resizable": "^2.2.0", "vue-emoji-picker": "^1.0.1", "vue-router": "^3.4.9", - "vuex": "^3.5.1" + "vuex": "^3.6.0" }, "devDependencies": { "@vue/cli-plugin-babel": "^4.5.9", @@ -29,10 +29,10 @@ "@vue/cli-service": "^4.5.9", "@vue/eslint-config-prettier": "^6.0.0", "babel-eslint": "^10.0.3", - "eslint": "^7.13.0", + "eslint": "^7.14.0", "eslint-plugin-prettier": "^3.1.4", "eslint-plugin-vue": "^7.0.0", - "prettier": "^2.2.0", + "prettier": "^2.2.1", "vue-template-compiler": "^2.6.12" } } diff --git a/app/src/components/CardsLayer.vue b/app/src/components/CardsLayer.vue index 2d743bb022bb8f1ca4f2fe635bccfec2c55b2f5a..b1d9fb42e215b0222df57b2efd61fda6f4086b23 100644 --- a/app/src/components/CardsLayer.vue +++ b/app/src/components/CardsLayer.vue @@ -198,6 +198,8 @@ textarea { @media only screen and (max-width: 600px) { .readmode >>> a { font-size: 2em; + word-break: break-all; + padding-right: 0.5em; } } </style> diff --git a/app/src/components/ListLayer.vue b/app/src/components/ListLayer.vue index 1c4a259e06704333faa09d3ad8945abc2772d705..80287dc605a0fc1f04431eadc4a0c626ac7552b2 100644 --- a/app/src/components/ListLayer.vue +++ b/app/src/components/ListLayer.vue @@ -190,6 +190,8 @@ textarea { @media only screen and (max-width: 600px) { .readmode >>> a { font-size: 2em; + word-break: break-all; + padding-right: 0.5em; } } </style> diff --git a/app/src/components/OtherCardslayer.vue b/app/src/components/OtherCardslayer.vue index 91c510372a4d6e1d7768f5752a8e5ac2ee82703a..f84d7c9025e87121a7a336992567729946c34648 100644 --- a/app/src/components/OtherCardslayer.vue +++ b/app/src/components/OtherCardslayer.vue @@ -4,15 +4,70 @@ <div class="nodes"> <p :inner-html.prop="nodetext | marked"></p> - <div class="allemoji"> - <div - class="eachemoji" - v-for="(emojis, index) in configEmoji" - :key="index" - > - <p v-if="nodeid == emojis.node_id"> - {{ emojis.emoji_text }} - </p> + <div class="eeee"> + <input :value="nodeid" name="id" readonly hidden /> + <input + id="emojifield" + class="regular-input" + v-model="input" + readonly + /> + + <emoji-picker @emoji="append" :search="search"> + <div + class="emoji-invoker" + slot="emoji-invoker" + slot-scope="{ events: { click: clickEvent } }" + @click.stop="clickEvent" + > + <svg + height="24" + viewBox="0 0 24 24" + width="24" + xmlns="http://www.w3.org/2000/svg" + > + <path d="M0 0h24v24H0z" fill="none" /> + <path + d="M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8zm3.5-9c.83 0 1.5-.67 1.5-1.5S16.33 8 15.5 8 14 8.67 14 9.5s.67 1.5 1.5 1.5zm-7 0c.83 0 1.5-.67 1.5-1.5S9.33 8 8.5 8 7 8.67 7 9.5 7.67 11 8.5 11zm3.5 6.5c2.33 0 4.31-1.46 5.11-3.5H6.89c.8 2.04 2.78 3.5 5.11 3.5z" + /> + </svg> + </div> + <div slot="emoji-picker" slot-scope="{ emojis, insert, display }"> + <div + class="emoji-picker" + :style="{ top: display.y + 'px', left: display.x + 'px' }" + > + <div class="emoji-picker__search"> + <input type="text" v-model="search" v-focus /> + </div> + <div> + <div v-for="(emojiGroup, category) in emojis" :key="category"> + <h5>{{ category }}</h5> + <div class="emojis"> + <span + v-for="(emoji, emojiName) in emojiGroup" + :key="emojiName" + @click="insert(emoji), sentReact()" + :title="emojiName" + >{{ emoji }}</span + > + </div> + </div> + </div> + </div> + </div> + </emoji-picker> + + <div class="allemoji"> + <div + class="eachemoji" + v-for="(emojis, index) in configEmoji" + :key="index" + > + <p v-if="nodeid == emojis.node_id"> + {{ emojis.emoji_text }} + </p> + </div> </div> </div> </div> @@ -22,12 +77,20 @@ <script> import { mapState } from 'vuex' +import EmojiPicker from 'vue-emoji-picker' import marked from 'marked' export default { name: 'OtherCardslayer', + components: { + EmojiPicker, + }, + data: function () { - return {} + return { + input: '', + search: '', + } }, props: { @@ -44,6 +107,22 @@ export default { filters: { marked: marked, }, + + methods: { + append(emoji) { + this.input += emoji + }, + sentReact(nodeid, emojitext) { + emojitext = this.input + nodeid = this.nodeid + this.$store.dispatch('addEmoji', { + nodeid, + emojitext, + }) + + this.input = '' + }, + }, } </script> @@ -78,6 +157,10 @@ p { border-radius: 4px; } +input { + display: none; +} + .allemoji { font-size: 2em; display: grid; @@ -89,4 +172,87 @@ p { .eachemoji p { margin: 0em; } + +.emoji-invoker { + top: -0.5rem; + right: 0.5rem; + width: 1.5rem; + height: 2.5rem; + /* transform: scale(1.6); */ + /* margin: 0em 0em 1em 0em; */ + /* border-radius: 50%; */ + cursor: pointer; + transition: all 0.8s; +} +.emoji-invoker:hover > svg { + fill: #84949b; + + /* transform: scale(1.5); */ +} +.emoji-invoker > svg { + fill: #b1c6d0; + margin-top: 10px; + margin-left: 0.2em; + transform: scale(1.5); +} + +.emoji-picker { + transform: scale(1.2); + z-index: 1; + font-family: Montserrat; + border: 1px solid #ccc; + width: 18rem; + height: 20rem; + overflow: scroll; + padding: 1rem; + box-sizing: border-box; + border-radius: 0.5rem; + background: #fff; + box-shadow: 1px 1px 8px #c7dbe6; + margin-top: 3em; +} +.emoji-picker__search { + display: flex; +} +.emoji-picker__search > input { + flex: 1; + border-radius: 10rem; + border: 1px solid #ccc; + padding: 0.5rem 1rem; + outline: none; +} +.emoji-picker h5 { + margin-top: 0; + margin-bottom: 0; + color: #b1b1b1; + text-transform: uppercase; + font-size: 0.8rem; + cursor: default; +} +.emoji-picker .emojis { + display: flex; + flex-wrap: wrap; + justify-content: space-between; +} +.emoji-picker .emojis:after { + content: ''; + flex: auto; +} +.emoji-picker .emojis span { + padding: 0.2rem; + cursor: pointer; + border-radius: 5px; +} +.emoji-picker .emojis span:hover { + background: #ececec; + cursor: pointer; +} + +@media only screen and (max-width: 600px) { + .readmode >>> a { + font-size: 2em; + word-break: break-all; + padding-right: 0.5em; + } +} </style> diff --git a/app/src/components/OtherNodeslayer.vue b/app/src/components/OtherNodeslayer.vue index 1da4fcc0bd3ba40f3ae8ed691f333cecc7260d56..35d1234de59da83c53cc46d4061d9b9c312bea21 100644 --- a/app/src/components/OtherNodeslayer.vue +++ b/app/src/components/OtherNodeslayer.vue @@ -350,13 +350,13 @@ export default { this.input = '' }, }, - directives: { - focus: { - inserted(el) { - el.focus() - }, - }, - }, + // directives: { + // focus: { + // inserted(el) { + // el.focus() + // }, + // }, + // }, } </script>