diff --git a/.vscode/settings.json b/.vscode/settings.json index 2091e5e03..8565bda8e 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -8,5 +8,4 @@ } ], "editor.formatOnSave": false, - "eslint.autoFixOnSave": true } diff --git a/backend/package.json b/backend/package.json index 95d8cf6f2..99026dd54 100644 --- a/backend/package.json +++ b/backend/package.json @@ -39,7 +39,7 @@ "apollo-link-context": "~1.0.19", "apollo-link-http": "~1.5.16", "apollo-server": "~2.9.13", - "apollo-server-express": "^2.9.7", + "apollo-server-express": "^2.9.14", "babel-plugin-transform-runtime": "^6.23.0", "bcryptjs": "~2.4.3", "cheerio": "~1.0.0-rc.3", @@ -62,24 +62,24 @@ "linkifyjs": "~2.1.8", "lodash": "~4.17.14", "merge-graphql-schemas": "^1.7.3", - "metascraper": "^5.8.9", + "metascraper": "^5.8.12", "metascraper-audio": "^5.8.10", - "metascraper-author": "^5.8.7", + "metascraper-author": "^5.8.12", "metascraper-clearbit-logo": "^5.3.0", - "metascraper-date": "^5.8.7", - "metascraper-description": "^5.8.10", + "metascraper-date": "^5.8.12", + "metascraper-description": "^5.8.12", "metascraper-image": "^5.8.10", - "metascraper-lang": "^5.8.9", + "metascraper-lang": "^5.8.10", "metascraper-lang-detector": "^4.10.2", - "metascraper-logo": "^5.8.10", + "metascraper-logo": "^5.8.12", "metascraper-publisher": "^5.8.7", - "metascraper-soundcloud": "^5.8.10", - "metascraper-title": "^5.8.7", + "metascraper-soundcloud": "^5.8.12", + "metascraper-title": "^5.8.12", "metascraper-url": "^5.8.7", - "metascraper-video": "^5.8.10", - "metascraper-youtube": "^5.8.9", + "metascraper-video": "^5.8.12", + "metascraper-youtube": "^5.8.12", "minimatch": "^3.0.4", - "mustache": "^3.1.0", + "mustache": "^3.2.0", "neo4j-driver": "^4.0.1", "neo4j-graphql-js": "^2.10.2", "neode": "^0.3.6", @@ -99,11 +99,11 @@ "devDependencies": { "@babel/cli": "~7.7.5", "@babel/core": "~7.7.5", - "@babel/node": "~7.7.4", + "@babel/node": "~7.7.7", "@babel/plugin-proposal-throw-expressions": "^7.7.4", "@babel/preset-env": "~7.7.6", "@babel/register": "~7.7.0", - "apollo-server-testing": "~2.9.13", + "apollo-server-testing": "~2.9.14", "babel-core": "~7.0.0-0", "babel-eslint": "~10.0.3", "babel-jest": "~24.9.0", diff --git a/backend/src/models/Post.js b/backend/src/models/Post.js index 18dc0e464..bd6eda2e4 100644 --- a/backend/src/models/Post.js +++ b/backend/src/models/Post.js @@ -39,5 +39,6 @@ module.exports = { default: () => new Date().toISOString(), }, language: { type: 'string', allow: [null] }, + imageBlurred: { type: 'boolean', default: false }, imageAspectRatio: { type: 'float', default: 1.0 }, } diff --git a/backend/src/schema/resolvers/posts.js b/backend/src/schema/resolvers/posts.js index 6ae3a81d9..47223faea 100644 --- a/backend/src/schema/resolvers/posts.js +++ b/backend/src/schema/resolvers/posts.js @@ -341,6 +341,7 @@ export default { 'language', 'pinnedAt', 'pinned', + 'imageBlurred', 'imageAspectRatio', ], hasMany: { diff --git a/backend/src/schema/types/type/Post.gql b/backend/src/schema/types/type/Post.gql index 0f1817971..2e4358b3e 100644 --- a/backend/src/schema/types/type/Post.gql +++ b/backend/src/schema/types/type/Post.gql @@ -82,6 +82,7 @@ input _PostFilter { emotions_none: _PostEMOTEDFilter emotions_single: _PostEMOTEDFilter emotions_every: _PostEMOTEDFilter + imageBlurred: Boolean } enum _PostOrdering { @@ -127,6 +128,7 @@ type Post { createdAt: String updatedAt: String language: String + imageBlurred: Boolean pinnedAt: String @cypher( statement: "MATCH (this)<-[pinned:PINNED]-(:User) WHERE NOT this.deleted = true AND NOT this.disabled = true RETURN pinned.createdAt" ) @@ -140,7 +142,6 @@ type Post { LIMIT 10 """ ) - tags: [Tag]! @relation(name: "TAGGED", direction: "OUT") categories: [Category]! @relation(name: "CATEGORIZED", direction: "OUT") @@ -183,6 +184,7 @@ type Mutation { language: String categoryIds: [ID] contentExcerpt: String + imageBlurred: Boolean imageAspectRatio: Float ): Post UpdatePost( @@ -196,6 +198,7 @@ type Mutation { visibility: Visibility language: String categoryIds: [ID] + imageBlurred: Boolean imageAspectRatio: Float ): Post DeletePost(id: ID!): Post @@ -217,6 +220,7 @@ type Query { createdAt: String updatedAt: String language: String + imageBlurred: Boolean first: Int offset: Int orderBy: [_PostOrdering] diff --git a/backend/src/seed/factories/posts.js b/backend/src/seed/factories/posts.js index 2443619ae..d1a46d71b 100644 --- a/backend/src/seed/factories/posts.js +++ b/backend/src/seed/factories/posts.js @@ -19,6 +19,7 @@ export default function create() { visibility: 'public', deleted: false, categoryIds: [], + imageBlurred: false, imageAspectRatio: 1.333, } args = { diff --git a/backend/src/seed/seed-db.js b/backend/src/seed/seed-db.js index 475a7b54f..4178169bb 100644 --- a/backend/src/seed/seed-db.js +++ b/backend/src/seed/seed-db.js @@ -352,6 +352,7 @@ const languages = ['de', 'en', 'es', 'fr', 'it', 'pt', 'pl'] language: sample(languages), image: faker.image.unsplash.food(300, 169), categoryIds: ['cat16'], + imageBlurred: true, imageAspectRatio: 300 / 169, }), factory.create('Post', { @@ -398,6 +399,7 @@ const languages = ['de', 'en', 'es', 'fr', 'it', 'pt', 'pl'] author: dewey, id: 'p10', categoryIds: ['cat10'], + imageBlurred: true, }), factory.create('Post', { author: louie, @@ -444,6 +446,7 @@ const languages = ['de', 'en', 'es', 'fr', 'it', 'pt', 'pl'] $title: String! $content: String! $categoryIds: [ID] + $imageBlurred: Boolean $imageAspectRatio: Float ) { CreatePost( @@ -451,6 +454,7 @@ const languages = ['de', 'en', 'es', 'fr', 'it', 'pt', 'pl'] title: $title content: $content categoryIds: $categoryIds + imageBlurred: $imageBlurred imageAspectRatio: $imageAspectRatio ) { id diff --git a/backend/yarn.lock b/backend/yarn.lock index a6ccb543c..9bd7f3537 100644 --- a/backend/yarn.lock +++ b/backend/yarn.lock @@ -279,17 +279,18 @@ esutils "^2.0.2" js-tokens "^4.0.0" -"@babel/node@~7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/node/-/node-7.7.4.tgz#de1cc9c67b335a19e4f71208554779bc63719f5a" - integrity sha512-Vhhq2kK+BpsR2tW35zP8yOJZ7ONMVBwCD9fmNeRTU3MNNpcJDrrtVP5NK8ZX4nQAs0GSq6ky8noyn6MCVgL08g== +"@babel/node@~7.7.7": + version "7.7.7" + resolved "https://registry.yarnpkg.com/@babel/node/-/node-7.7.7.tgz#10c488ca36da07670be0131679c4e22f9d7795d4" + integrity sha512-QWWbQ6AyDffz6mA2mF0jixb/3IyRlqWgz5JNa2F6kSYe4vhPEytwuGmanx0NQJxBufDjffm/jYPuIfKfAyVzuA== dependencies: - "@babel/register" "^7.7.4" + "@babel/register" "^7.7.7" commander "^2.8.1" core-js "^3.2.1" lodash "^4.17.13" node-environment-flags "^1.0.5" regenerator-runtime "^0.13.3" + resolve "^1.13.1" v8flags "^3.1.1" "@babel/parser@^7.0.0", "@babel/parser@^7.1.0", "@babel/parser@^7.4.3", "@babel/parser@^7.7.4", "@babel/parser@^7.7.5": @@ -704,10 +705,10 @@ js-levenshtein "^1.1.3" semver "^5.5.0" -"@babel/register@^7.7.4", "@babel/register@~7.7.0": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/register/-/register-7.7.4.tgz#45a4956471a9df3b012b747f5781cc084ee8f128" - integrity sha512-/fmONZqL6ZMl9KJUYajetCrID6m0xmL4odX7v+Xvoxcv0DdbP/oO0TWIeLUCHqczQ6L6njDMqmqHFy2cp3FFsA== +"@babel/register@^7.7.7", "@babel/register@~7.7.0": + version "7.7.7" + resolved "https://registry.yarnpkg.com/@babel/register/-/register-7.7.7.tgz#46910c4d1926b9c6096421b23d1f9e159c1dcee1" + integrity sha512-S2mv9a5dc2pcpg/ConlKZx/6wXaEwHeqfo7x/QbXsdCAZm+WJC1ekVvL1TVxNsedTs5y/gG63MhJTEsmwmjtiA== dependencies: find-cache-dir "^2.0.0" lodash "^4.17.13" @@ -1034,10 +1035,10 @@ url-regex "~4.1.1" video-extensions "~1.1.0" -"@metascraper/helpers@^5.8.10", "@metascraper/helpers@^5.8.7": - version "5.8.10" - resolved "https://registry.yarnpkg.com/@metascraper/helpers/-/helpers-5.8.10.tgz#efaae1d57afca6db1f0846852fe88d1608601f13" - integrity sha512-o7vrlNC+wzfArTkQcQfHKT4iHUYEQYs6hoORTWN7A1dj5v8P1wl5oOs0oAc7MNGJ3nWnex3/bq/5SUWV301Arg== +"@metascraper/helpers@^5.8.10", "@metascraper/helpers@^5.8.12", "@metascraper/helpers@^5.8.7": + version "5.8.12" + resolved "https://registry.yarnpkg.com/@metascraper/helpers/-/helpers-5.8.12.tgz#c4c1375a90ee9b674f8fb4d5a65cce6f5c6ce30d" + integrity sha512-hmaIRXWcLGFWAXFKBHECHhf3VhHrbz/iV6spPtTeYyxCVO1TX62qYigqbizZwHk4dGeU1cTtbT2YN8/RCr1RiQ== dependencies: audio-extensions "0.0.0" chrono-node "~1.3.11" @@ -1606,13 +1607,13 @@ anymatch@~3.1.1: normalize-path "^3.0.0" picomatch "^2.0.4" -apollo-cache-control@^0.8.8: - version "0.8.8" - resolved "https://registry.yarnpkg.com/apollo-cache-control/-/apollo-cache-control-0.8.8.tgz#c6de9ef3a154560f6cf26ce7159e62438c1ac022" - integrity sha512-hpIJg3Tmb6quA111lrVO+d3qcyYRlJ8JqbeQdcgwLT3fb2VQzk21SrBZYl2oMM4ZqSOWCZWg4/Cn9ARYqdWjKA== +apollo-cache-control@^0.8.9: + version "0.8.9" + resolved "https://registry.yarnpkg.com/apollo-cache-control/-/apollo-cache-control-0.8.9.tgz#1c53dcb6cc209646b73b4ba8803ff6ea50bea2a7" + integrity sha512-EFRAEL13QkMbXhl0NSABVS0wfiKYIVV4sDR+XNtRy3EWf2rWw7xulYFDMPiujjtElF2qjTswzcpLtYOXgOZN9A== dependencies: apollo-server-env "^2.4.3" - graphql-extensions "^0.10.7" + graphql-extensions "^0.10.8" apollo-cache-inmemory@~1.6.5: version "1.6.5" @@ -1662,18 +1663,18 @@ apollo-engine-reporting-protobuf@^0.4.4: dependencies: "@apollo/protobufjs" "^1.0.3" -apollo-engine-reporting@^1.4.11: - version "1.4.11" - resolved "https://registry.yarnpkg.com/apollo-engine-reporting/-/apollo-engine-reporting-1.4.11.tgz#ea4501925c201e62729a11ce36284a89f1eaa4f5" - integrity sha512-7ZkbOGvPfWppN8+1KHzyHPrJTMOmrMUy38unao2c9TTToOAnEvx2MtUTo6mr3aw/g8UQYUf0x2Cq+K2YSlUTPw== +apollo-engine-reporting@^1.4.12: + version "1.4.12" + resolved "https://registry.yarnpkg.com/apollo-engine-reporting/-/apollo-engine-reporting-1.4.12.tgz#b33a6eae0ffa7b827dd813bed335260e6ad012d2" + integrity sha512-W1PpXaXSrqZu4Ae9NrjWXtTL9HFbQPynQLiGDAsDmCsL/wRAVyl6qRhVteSj7drwgXgAH5TwtUCnjJgSI+ixlg== dependencies: apollo-engine-reporting-protobuf "^0.4.4" apollo-graphql "^0.3.4" apollo-server-caching "^0.5.0" apollo-server-env "^2.4.3" - apollo-server-types "^0.2.8" + apollo-server-types "^0.2.9" async-retry "^1.2.1" - graphql-extensions "^0.10.7" + graphql-extensions "^0.10.8" apollo-env@0.5.1, apollo-env@^0.5.1: version "0.5.1" @@ -1743,26 +1744,26 @@ apollo-server-caching@^0.5.0: dependencies: lru-cache "^5.0.0" -apollo-server-core@^2.9.13: - version "2.9.13" - resolved "https://registry.yarnpkg.com/apollo-server-core/-/apollo-server-core-2.9.13.tgz#29fee69be56d30605b0a06cd755fd39e0409915f" - integrity sha512-iXTGNCtouB0Xe37ySovuZO69NBYOByJlZfUc87gj0pdcz0WbdfUp7qUtNzy3onp63Zo60TFkHWhGNcBJYFluzw== +apollo-server-core@^2.9.13, apollo-server-core@^2.9.14: + version "2.9.14" + resolved "https://registry.yarnpkg.com/apollo-server-core/-/apollo-server-core-2.9.14.tgz#9f68ec605df15cbe509a1b9f384923aef63d4169" + integrity sha512-Vc8TicXFFZGuEgo5AY1Ey0XuvHn7NQS1y7WxOQnr85KJ2zeRa6uIT8tU+73ZObzan3nlm9ysYtfSXh2QL21oyg== dependencies: "@apollographql/apollo-tools" "^0.4.0" "@apollographql/graphql-playground-html" "1.6.24" "@types/graphql-upload" "^8.0.0" "@types/ws" "^6.0.0" - apollo-cache-control "^0.8.8" + apollo-cache-control "^0.8.9" apollo-datasource "^0.6.3" - apollo-engine-reporting "^1.4.11" + apollo-engine-reporting "^1.4.12" apollo-server-caching "^0.5.0" apollo-server-env "^2.4.3" apollo-server-errors "^2.3.4" - apollo-server-plugin-base "^0.6.8" - apollo-server-types "^0.2.8" - apollo-tracing "^0.8.8" + apollo-server-plugin-base "^0.6.9" + apollo-server-types "^0.2.9" + apollo-tracing "^0.8.9" fast-json-stable-stringify "^2.0.0" - graphql-extensions "^0.10.7" + graphql-extensions "^0.10.8" graphql-tag "^2.9.2" graphql-tools "^4.0.0" graphql-upload "^8.0.2" @@ -1783,10 +1784,10 @@ apollo-server-errors@^2.3.4: resolved "https://registry.yarnpkg.com/apollo-server-errors/-/apollo-server-errors-2.3.4.tgz#b70ef01322f616cbcd876f3e0168a1a86b82db34" integrity sha512-Y0PKQvkrb2Kd18d1NPlHdSqmlr8TgqJ7JQcNIfhNDgdb45CnqZlxL1abuIRhr8tiw8OhVOcFxz2KyglBi8TKdA== -apollo-server-express@^2.9.13, apollo-server-express@^2.9.7: - version "2.9.13" - resolved "https://registry.yarnpkg.com/apollo-server-express/-/apollo-server-express-2.9.13.tgz#abb00bcf85d86a6e0e9105ce3b7fae9a7748156b" - integrity sha512-M306e07dpZ8YpZx4VBYa0FWlt+wopj4Bwn0Iy1iJ6VjaRyGx2HCUJvLpHZ+D0TIXtQ2nX3DTYeOouVaDDwJeqQ== +apollo-server-express@^2.9.13, apollo-server-express@^2.9.14: + version "2.9.14" + resolved "https://registry.yarnpkg.com/apollo-server-express/-/apollo-server-express-2.9.14.tgz#32b9c46248f7f4e71d51bfbdbec34e1880f1c93b" + integrity sha512-ai+VKPlOUzJsbSQcazjATNtWwdgcvZBWBCbTF7ZUC9Uo6FfSlKOmP3raQAq+gKqsnFwv34p4k17c/Asw5ZjSMQ== dependencies: "@apollographql/graphql-playground-html" "1.6.24" "@types/accepts" "^1.3.5" @@ -1794,8 +1795,8 @@ apollo-server-express@^2.9.13, apollo-server-express@^2.9.7: "@types/cors" "^2.8.4" "@types/express" "4.17.1" accepts "^1.3.5" - apollo-server-core "^2.9.13" - apollo-server-types "^0.2.8" + apollo-server-core "^2.9.14" + apollo-server-types "^0.2.9" body-parser "^1.18.3" cors "^2.8.4" express "^4.17.1" @@ -1805,24 +1806,24 @@ apollo-server-express@^2.9.13, apollo-server-express@^2.9.7: subscriptions-transport-ws "^0.9.16" type-is "^1.6.16" -apollo-server-plugin-base@^0.6.8: - version "0.6.8" - resolved "https://registry.yarnpkg.com/apollo-server-plugin-base/-/apollo-server-plugin-base-0.6.8.tgz#94cb9a6d806b7057d1d42202292d2adcf2cf0e7a" - integrity sha512-0pKCjcg9gHBK8qlb280+N0jl99meixQtxXnMJFyIfD+45OpKQ+WolHIbO0oZgNEt7r/lNWwH8v3l5yYm1ghz1A== +apollo-server-plugin-base@^0.6.9: + version "0.6.9" + resolved "https://registry.yarnpkg.com/apollo-server-plugin-base/-/apollo-server-plugin-base-0.6.9.tgz#0b47028f75066f2429935b0234fe58217bcc6de6" + integrity sha512-75rorl0y07PK7A/U1Oe9unLIGgbmy1T6uaCQ5zl8zy+mtmFFcH1nYERfXZha1eTDWLCx0F/xNI6YJmWxSisc5w== dependencies: - apollo-server-types "^0.2.8" + apollo-server-types "^0.2.9" -apollo-server-testing@~2.9.13: - version "2.9.13" - resolved "https://registry.yarnpkg.com/apollo-server-testing/-/apollo-server-testing-2.9.13.tgz#7a4efc0eb01d7297716f089121c7440a620bb640" - integrity sha512-c1xl4g5KhMfPpL5xdzxPJLY53+yK/kMAWxIASthRrOSZNgStTe7pCAJ06Nk3NB8M5GwfJK3cJiVkLfZRSt9+jQ== +apollo-server-testing@~2.9.14: + version "2.9.14" + resolved "https://registry.yarnpkg.com/apollo-server-testing/-/apollo-server-testing-2.9.14.tgz#3b442a22b109c7ef7758bc1749dc0ab9923eb605" + integrity sha512-An9T0kUpqPOJnuoqGRIbx/c5iy/WRyZnVrfbCjQ0ux9n1reAoMzhmIdDDCIkl8+tu4UfTcjuNl4af5WRY6Lakw== dependencies: - apollo-server-core "^2.9.13" + apollo-server-core "^2.9.14" -apollo-server-types@^0.2.8: - version "0.2.8" - resolved "https://registry.yarnpkg.com/apollo-server-types/-/apollo-server-types-0.2.8.tgz#729208a8dd72831af3aa4f1eb584022ada146e6b" - integrity sha512-5OclxkAqjhuO75tTNHpSO/+doJZ+VlRtTefnrPJdK/uwVew9U/VUCWkYdryZWwEyVe1nvQ/4E7RYR4tGb8l8wA== +apollo-server-types@^0.2.9: + version "0.2.9" + resolved "https://registry.yarnpkg.com/apollo-server-types/-/apollo-server-types-0.2.9.tgz#d943817772e8712c7479be2403878be849183995" + integrity sha512-Iu9twx3lycH41F8shmrb33b4y0mNBz1chBdTIaSgIMmNwPDR4xs4eB6iyTK5swnaYC1eW+c+t5lHRUk7yexs/g== dependencies: apollo-engine-reporting-protobuf "^0.4.4" apollo-server-caching "^0.5.0" @@ -1839,13 +1840,13 @@ apollo-server@~2.9.13: graphql-subscriptions "^1.0.0" graphql-tools "^4.0.0" -apollo-tracing@^0.8.8: - version "0.8.8" - resolved "https://registry.yarnpkg.com/apollo-tracing/-/apollo-tracing-0.8.8.tgz#bfaffd76dc12ed5cc1c1198b5411864affdb1b83" - integrity sha512-aIwT2PsH7VZZPaNrIoSjzLKMlG644d2Uf+GYcoMd3X6UEyg1sXdWqkKfCeoS6ChJKH2khO7MXAvOZC03UnCumQ== +apollo-tracing@^0.8.9: + version "0.8.9" + resolved "https://registry.yarnpkg.com/apollo-tracing/-/apollo-tracing-0.8.9.tgz#2fde222dd60d21a211ebdbe4bc8d8674fdfb5e14" + integrity sha512-DYHPUW0rFcxxtI8+qU3leNU+fKfq9NPTjgPMr/AJmxKfsdOI6QgfVzVP/khiik0kU0+BMl5zBplwEDDdgbkUlg== dependencies: apollo-server-env "^2.4.3" - graphql-extensions "^0.10.7" + graphql-extensions "^0.10.8" apollo-utilities@1.3.3, apollo-utilities@^1.0.1, apollo-utilities@^1.3.0, apollo-utilities@^1.3.3: version "1.3.3" @@ -2485,16 +2486,11 @@ class-utils@^0.3.5: isobject "^3.0.0" static-extend "^0.1.1" -clean-stack@^2.0.0: +clean-stack@^2.0.0, clean-stack@~2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-2.2.0.tgz#ee8472dbb129e727b31e8a10a427dee9dfe4008b" integrity sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A== -clean-stack@~2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-2.0.0.tgz#301bfa9e8dd2d3d984c0e542f7aa67b996f63e0a" - integrity sha512-VEoL9Qh7I8s8iHnV53DaeWSt8NJ0g3khMfK6NiCPB7H657juhro+cSw2O88uo3bo0c0X5usamtXk0/Of0wXa5A== - cli-boxes@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/cli-boxes/-/cli-boxes-1.0.0.tgz#4fa917c3e59c94a004cd61f8ee509da651687143" @@ -4133,14 +4129,14 @@ graphql-custom-directives@~0.2.14: moment "^2.22.2" numeral "^2.0.6" -graphql-extensions@^0.10.7: - version "0.10.7" - resolved "https://registry.yarnpkg.com/graphql-extensions/-/graphql-extensions-0.10.7.tgz#ca9f8ec3cb0af1739b48ca42280ec9162ad116d1" - integrity sha512-YuP7VQxNePG4bWRQ5Vk+KRMbZ9r1IWCqCCogOMz/1ueeQ4gZe93eGRcb0vhpOdMFnCX6Vyvd4+sC+N6LR3YFOQ== +graphql-extensions@^0.10.8: + version "0.10.8" + resolved "https://registry.yarnpkg.com/graphql-extensions/-/graphql-extensions-0.10.8.tgz#d338048dfd9f09ec7953c6da2c8c06b3520cbb20" + integrity sha512-cUcc014vz+pfwcER8pc4ts/WWhDCrC9jhNFIiWYYntd2TshS+tZFsZ362i4P2VYLbpYCgFiO+xRY1f2mylyz5A== dependencies: "@apollographql/apollo-tools" "^0.4.0" apollo-server-env "^2.4.3" - apollo-server-types "^0.2.8" + apollo-server-types "^0.2.9" graphql-iso-date@~3.6.1: version "3.6.1" @@ -5817,12 +5813,12 @@ metascraper-audio@^5.8.10: dependencies: "@metascraper/helpers" "^5.8.10" -metascraper-author@^5.8.7: - version "5.8.7" - resolved "https://registry.yarnpkg.com/metascraper-author/-/metascraper-author-5.8.7.tgz#c29db97a24af801101008a547caea6a33a56e467" - integrity sha512-PwuCZvHnDm10Q1zMQllpCLjtlYR1zSF+rDCRkf/TUuBC/ozz27/JkXDL+ml2nmK8IQGLGRUQKOzrQ0vVMFKvQw== +metascraper-author@^5.8.12: + version "5.8.12" + resolved "https://registry.yarnpkg.com/metascraper-author/-/metascraper-author-5.8.12.tgz#8e52136d983153822f93840efa2e45e51abc59f9" + integrity sha512-y23uFH9OXfYO+SgxSss6AR1ouE30N4QJ5Jty8BGzjjdz98jb2Je281wKSahVniz5sVn6RCzX8zw48BZBe/YtMw== dependencies: - "@metascraper/helpers" "^5.8.7" + "@metascraper/helpers" "^5.8.12" lodash "~4.17.15" metascraper-clearbit-logo@^5.3.0: @@ -5832,19 +5828,19 @@ metascraper-clearbit-logo@^5.3.0: dependencies: got "~9.6.0" -metascraper-date@^5.8.7: - version "5.8.7" - resolved "https://registry.yarnpkg.com/metascraper-date/-/metascraper-date-5.8.7.tgz#146733ecce34f8d4a53c7c6ddcfc51c033287757" - integrity sha512-9+IslaGg+J+4cwPU5qu/MEexkoWj7sBxycmCA6vgfuCQCqNwlQ68vk2a/UVDw8OJOYjwX81JGrzxOqrQP0/kXw== +metascraper-date@^5.8.12: + version "5.8.12" + resolved "https://registry.yarnpkg.com/metascraper-date/-/metascraper-date-5.8.12.tgz#c2b0c584932bb93072001753e2bf86ba87f0a0e8" + integrity sha512-+84JVWRv9wgjpqmIZ0OxKU/Uighxmf+mDuZk2m/bQ4pyQ0bvqlpeCa5JxQOPgQLKyZ+hgkEskdxeGaRk/Bi46g== dependencies: - "@metascraper/helpers" "^5.8.7" + "@metascraper/helpers" "^5.8.12" -metascraper-description@^5.8.10: - version "5.8.10" - resolved "https://registry.yarnpkg.com/metascraper-description/-/metascraper-description-5.8.10.tgz#1b69f59fa76263fcd2c15f8ce73052b81900177a" - integrity sha512-0stYkl5OPpM0yM6Dl3WcXxLjl2gY5k77E4seeHOqHAUx1EKXNgrSrtO0I3PX9p6vcxP+WBtK6zlqHYU4qAMlSA== +metascraper-description@^5.8.12: + version "5.8.12" + resolved "https://registry.yarnpkg.com/metascraper-description/-/metascraper-description-5.8.12.tgz#fa6d5a0f8f050ad19b6205529af68c6e6ed1ca2f" + integrity sha512-KEB5+urIcdqZGbLx/JULw3sjuzlfkagoEnTsOfZSCj5J6hUKpFHA5B44o9gNtNCm9miR5gfbYtbFP1XCnYji+Q== dependencies: - "@metascraper/helpers" "^5.8.10" + "@metascraper/helpers" "^5.8.12" metascraper-image@^5.8.10: version "5.8.10" @@ -5862,20 +5858,20 @@ metascraper-lang-detector@^4.10.2: franc "~4.0.0" iso-639-3 "~1.1.0" -metascraper-lang@^5.8.9: - version "5.8.9" - resolved "https://registry.yarnpkg.com/metascraper-lang/-/metascraper-lang-5.8.9.tgz#589bac0fdc523b5b6e6317a7b6295474eedfb872" - integrity sha512-VMiU+T9LFsra/bBc0w0+fw6lk8Snb/ULoIvHUF0+5wvkv4KzQicc0z1lTAL/28Et2Xa+R5Km5A9Ts7LYuQRqVw== - dependencies: - "@metascraper/helpers" "^5.8.7" - -metascraper-logo@^5.8.10: +metascraper-lang@^5.8.10: version "5.8.10" - resolved "https://registry.yarnpkg.com/metascraper-logo/-/metascraper-logo-5.8.10.tgz#8e0dc0296d71db03307584ecdb57cd3fcbad1d4b" - integrity sha512-l5LkzZcVzrKclzf3JGx2cnCtPI/8Rf+EQV/SfXUqz7FUwgfT3uzRw9wBbqP25056ukh6aOuywGClTdnEu2PJcw== + resolved "https://registry.yarnpkg.com/metascraper-lang/-/metascraper-lang-5.8.10.tgz#b8827282dea500b68e49ebbe8b0081fb6b6584d5" + integrity sha512-qydko4UkLGqTimKzT+AkcIaXOo7/GkHGtclGiLae80lHeKzI5NG7kYN4eMv1r4BfBkcluSNeJ/P532T6ZD2Y1Q== dependencies: "@metascraper/helpers" "^5.8.10" +metascraper-logo@^5.8.12: + version "5.8.12" + resolved "https://registry.yarnpkg.com/metascraper-logo/-/metascraper-logo-5.8.12.tgz#db030673a94fe460a24f25547c4e2dd1a8724db7" + integrity sha512-pnYxNxRKmbfV1KIPl7DlwVtFNyTMPKcYSepxCyOA94r3sjEHHZ41FStb4vB7qAq7nUD8IfUpkONp+mDEZ3HmkA== + dependencies: + "@metascraper/helpers" "^5.8.12" + metascraper-publisher@^5.8.7: version "5.8.7" resolved "https://registry.yarnpkg.com/metascraper-publisher/-/metascraper-publisher-5.8.7.tgz#2b67f04db46123f9c6d57eaa3de610921fd28e01" @@ -5883,20 +5879,20 @@ metascraper-publisher@^5.8.7: dependencies: "@metascraper/helpers" "^5.8.7" -metascraper-soundcloud@^5.8.10: - version "5.8.10" - resolved "https://registry.yarnpkg.com/metascraper-soundcloud/-/metascraper-soundcloud-5.8.10.tgz#c281a35e2e7289006bd304dfb4074f01451e7f26" - integrity sha512-IBGGBFrzRiS1bTyR9+eJwv+fPvC8KoggpAZnGPABep4ZhfajblI3B+8U1kIXHMaFR4b1BaD4d+tWh3gNLZCjwQ== +metascraper-soundcloud@^5.8.12: + version "5.8.12" + resolved "https://registry.yarnpkg.com/metascraper-soundcloud/-/metascraper-soundcloud-5.8.12.tgz#6cfc2b0d317da4ac1836153cad9c9ce674b327ec" + integrity sha512-4P8HBCKh//ej3jNv33/6rLPXug51JT3DmkwUouXGfWc++MXaNmUdN+BC2oYGJhYoJCADWitNHTjgzysd3kjZ7w== dependencies: - "@metascraper/helpers" "^5.8.10" + "@metascraper/helpers" "^5.8.12" tldts "~5.6.2" -metascraper-title@^5.8.7: - version "5.8.7" - resolved "https://registry.yarnpkg.com/metascraper-title/-/metascraper-title-5.8.7.tgz#aecbbd9515bd74d2aeafa587c83447d926508ba0" - integrity sha512-u+5KeJbsFKpi+pMnG71Gd49OLDQpkjiGIRTddhCZQhb45qHoTlGKN1nZuQ8nqJI6+ARWicFqtquomkaRXfBEnw== +metascraper-title@^5.8.12: + version "5.8.12" + resolved "https://registry.yarnpkg.com/metascraper-title/-/metascraper-title-5.8.12.tgz#1d57da4d0dd4566e622170630ba9b65fe26a4536" + integrity sha512-JJzJIp6O+BVFdxnYiz4lUGtzqeDLAxE5dz/Z0kj8iwJl6z/szdYTeFuI4Sc872GxN14xAgxNe1LJs2gAlZuHsg== dependencies: - "@metascraper/helpers" "^5.8.7" + "@metascraper/helpers" "^5.8.12" lodash "~4.17.15" metascraper-url@^5.8.7: @@ -5906,35 +5902,35 @@ metascraper-url@^5.8.7: dependencies: "@metascraper/helpers" "^5.8.7" -metascraper-video@^5.8.10: - version "5.8.10" - resolved "https://registry.yarnpkg.com/metascraper-video/-/metascraper-video-5.8.10.tgz#c43bdc3d4dc7ff97b94d45e0050fb50091da27be" - integrity sha512-ofO7OLt73iMZM6IkA3iHtD1EzbEeiTYJK/xKBp+Awyl/dLUWKfsFjOAjkz9XDzLANRT+7+rwzqQmc+a2/rBVVg== +metascraper-video@^5.8.12: + version "5.8.12" + resolved "https://registry.yarnpkg.com/metascraper-video/-/metascraper-video-5.8.12.tgz#1e2fdaaafeae55bf9ac2e2d7c1fc567758acdb1b" + integrity sha512-9Vy/i+hPbbl5a+DQmTnUdaqQP5N1nNOzMZWdJJqLtr85JSFxayyuFzzHIN+Zk07H/FrHw1q8e6NjqD9U1Fo1Ww== dependencies: - "@metascraper/helpers" "^5.8.10" + "@metascraper/helpers" "^5.8.12" lodash "~4.17.15" -metascraper-youtube@^5.8.9: - version "5.8.9" - resolved "https://registry.yarnpkg.com/metascraper-youtube/-/metascraper-youtube-5.8.9.tgz#595f5e384e0db519378ca2023bd8aa6603866c9d" - integrity sha512-Zuew1tLSC14ceL9ZaNvlQ4GmFopbYDalr8gL+Ofo4ha4jKyX58VaPQtmIgASAJv/jlOXd9zCwEdhNw8/YyZZWw== +metascraper-youtube@^5.8.12: + version "5.8.12" + resolved "https://registry.yarnpkg.com/metascraper-youtube/-/metascraper-youtube-5.8.12.tgz#e502ee30b93ddf68e0bbfd4786ffc190b631de10" + integrity sha512-9Vqpl0VBehDjRXgocCMf5Hna8igyFfcW+KQGAAZZWPH+QLtC+Uu3nvT7ns5CQAIqCdCK+2zlpoy6up+OAJk1zw== dependencies: - "@metascraper/helpers" "^5.8.7" + "@metascraper/helpers" "^5.8.12" get-video-id "~3.1.4" is-reachable "~4.0.0" p-locate "~4.1.0" -metascraper@^5.8.9: - version "5.8.9" - resolved "https://registry.yarnpkg.com/metascraper/-/metascraper-5.8.9.tgz#7bb468f9660bd86be8dd774cab3457d098b87e61" - integrity sha512-vuOwnSaGIG8346ZAQCE+YqvpzFVXfaMvCUdLbb8spobz7BG3945WNa43NjSl2HK5iH1WYOibvSYRZdL6wQsRJg== +metascraper@^5.8.12: + version "5.8.12" + resolved "https://registry.yarnpkg.com/metascraper/-/metascraper-5.8.12.tgz#3ee41b14864cd82a6f3cd9389c359b255ee3c2ac" + integrity sha512-EUKSva/cEl99/XxGEvdbTAG/hlG6/te/wWXM0Tqy3hX0MHjbZI569MBOjIf+mR6mj37XD817LUkrl99RgWMItw== dependencies: - "@metascraper/helpers" "^5.8.7" + "@metascraper/helpers" "^5.8.12" cheerio "~1.0.0-rc.2" cheerio-advanced-selectors "~2.0.1" lodash "~4.17.15" map-values-deep "~1.0.2" - whoops "~4.0.2" + whoops "~4.1.0" xss "~1.0.6" methods@^1.1.1, methods@^1.1.2, methods@~1.1.2: @@ -5995,10 +5991,10 @@ mimic-fn@^2.1.0: resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== -mimic-fn@~2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.0.0.tgz#0913ff0b121db44ef5848242c38bbb35d44cabde" - integrity sha512-jbex9Yd/3lmICXwYT6gA/j2mNQGU48wCh/VzRd+/Y/PjYQtlg1gLMdZqvu9s/xH7qKvngxRObl56XZR609IMbA== +mimic-fn@~3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-3.0.0.tgz#76044cfa8818bbf6999c5c9acadf2d3649b14b4b" + integrity sha512-PiVO95TKvhiwgSwg1IdLYlCTdul38yZxZMIcnDSFIBUm4BNZha2qpQ4GpJ++15bHoKDtrW2D69lMfFwdFYtNZQ== mimic-response@^1.0.0, mimic-response@^1.0.1: version "1.0.1" @@ -6082,10 +6078,10 @@ ms@^2.1.1: resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== -mustache@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/mustache/-/mustache-3.1.0.tgz#9fba26e7aefc5709f07ff585abb7e0abced6c372" - integrity sha512-3Bxq1R5LBZp7fbFPZzFe5WN4s0q3+gxZaZuZVY+QctYJiCiVgXHOTIC0/HgZuOPFt/6BQcx5u0H2CUOxT/RoGQ== +mustache@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/mustache/-/mustache-3.2.0.tgz#1c68e0bf77817a92e8a9216e35c53bbb342345f6" + integrity sha512-n5de2nQ1g2iz3PO9cmq/ZZx3W7glqjf0kavThtqfuNlZRllgU2a2Q0jWoQy3BloT5A6no7sjCTHBVn1rEKjx1Q== mute-stream@0.0.8: version "0.0.8" @@ -7326,10 +7322,10 @@ resolve@1.1.7: resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b" integrity sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs= -resolve@^1.10.0, resolve@^1.10.1, resolve@^1.12.0, resolve@^1.3.2, resolve@^1.3.3, resolve@^1.5.0: - version "1.12.0" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.12.0.tgz#3fc644a35c84a48554609ff26ec52b66fa577df6" - integrity sha512-B/dOmuoAik5bKcD6s6nXDCjzUKnaDvdkRyAk6rsmsKLipWj4797iothd7jmmUhWTfinVMU+wc56rYKsit2Qy4w== +resolve@^1.10.0, resolve@^1.10.1, resolve@^1.12.0, resolve@^1.13.1, resolve@^1.3.2, resolve@^1.3.3, resolve@^1.5.0: + version "1.14.1" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.14.1.tgz#9e018c540fcf0c427d678b9931cbf45e984bcaff" + integrity sha512-fn5Wobh4cxbLzuHaE+nphztHy43/b++4M6SsGFC2gB8uYwf0C8LcarfCz1un7UTW8OFQg9iNjZ4xpcFVGebDPg== dependencies: path-parse "^1.0.6" @@ -8634,13 +8630,13 @@ which@^1.2.9, which@^1.3.0: dependencies: isexe "^2.0.0" -whoops@~4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/whoops/-/whoops-4.0.2.tgz#60e1281d47a1600f5f5013059afaad369d83e9d4" - integrity sha512-b1ofth7xMOAkukgzMhAPKBrgieGJAgKVMyu54DXAOVLmkhpQEfNKe4wS0R7LbdxIsm6FD2CFUjBOdN7Sj+zLSg== +whoops@~4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/whoops/-/whoops-4.1.0.tgz#f42e51514c7af19a9491a44cabf2712292c6a8e1" + integrity sha512-42soctqvFs9FaU1r4ZadCy2F6A9dUc4SN3ud+tbDEdmyZDTeYBgKKqtIdo6NiQlnZnJegWRCyKLk2edYH9DsHA== dependencies: - clean-stack "~2.0.0" - mimic-fn "~2.0.0" + clean-stack "~2.2.0" + mimic-fn "~3.0.0" wide-align@^1.1.0: version "1.1.3" diff --git a/locale/ru.json b/locale/ru.json index efd425f63..75483edfb 100644 --- a/locale/ru.json +++ b/locale/ru.json @@ -36,7 +36,7 @@ "name": "Хэштеги", "nameOfHashtag": "Имя", "number": "№", - "tagCount": "Сообщений", + "tagCount": "Посты", "tagCountUnique": "Пользователи" }, "invites": { @@ -59,7 +59,7 @@ }, "tags": { "name": "Теги", - "tagCount": "Сообщения", + "tagCount": "Посты", "tagCountUnique": "Пользователи" }, "users": { @@ -119,7 +119,7 @@ "unacceptable-behaviour": { "description": "В нашем сообществе неприемлемо следующее поведение:", "list": { - "0": "Дискриминационные сообщения, комментарии, высказывания или оскорбления, в частности, касающиеся пола, сексуальной ориентации, расы, религии, политической или мировоззренческой ориентации, или инвалидности.", + "0": "Дискриминационные посты, комментарии, высказывания или оскорбления, в частности, касающиеся пола, сексуальной ориентации, расы, религии, политической или мировоззренческой ориентации, или инвалидности.", "1": "Публикация или ссылка на явно порнографические материалы.", "2": "Прославление или умаление жестоких, или бесчеловечных актов насилия.", "3": "Публикация персональных данных других лиц без их согласия или угрозы (\"Доксинг\").", @@ -271,7 +271,7 @@ "delete": { "cancel": "Отменить", "comment": { - "message": "Ты уверены, что хочешь удалить комментарий \"{name}<\/b>\"?", + "message": "Вы уверены, что хотите удалить комментарий \"{name}<\/b>\"?", "success": "Комментарий успешно удален!", "title": "Удалить комментарий", "type": "Комментарий" @@ -360,7 +360,7 @@ "email": "Электронная почта", "failure": "Неверный адрес электронной почты или пароль.", "forgotPassword": "Забыли пароль?", - "hello": "Привет", + "hello": "Здравствуйте", "login": "Вход", "logout": "Выйти", "moreInfo": "Что такое Human Connection?", @@ -387,32 +387,32 @@ "cancel": "Отменить", "Comment": { "disable": { - "message": "Ты действительно хочешь, чтобы комментарий \"{name}<\/b>\" остановиться и отключен<\/b>?", + "message": "Вы действительно хотите, чтобы комментарий \"{name}<\/b>\" остановиться и отключен<\/b>?", "title": "Окончательно отключить комментарий" }, "enable": { - "message": "Ты действительно хочешь, чтобы комментарий \"{name}<\/b>\" остановиться и включен<\/b>?", + "message": "Вы действительно хотите, чтобы комментарий \"{name}<\/b>\" остановиться и включен<\/b>?", "title": "Окончательно включить комментарий" } }, "Post": { "disable": { - "message": "Ты действительно хочешь, чтобы пост \"{name}<\/b>\" остановиться и отключен<\/b>?", + "message": "Вы действительно хотите, чтобы пост \"{name}<\/b>\" остановиться и отключен<\/b>?", "title": "Окончательно отключить пост" }, "enable": { - "message": "Ты действительно хочешь, чтобы пост \"{name}<\/b>\" остановиться и включен<\/b>?", + "message": "Вы действительно хотите, чтобы пост \"{name}<\/b>\" остановиться и включен<\/b>?", "title": "Окончательно включить пост" } }, "submit": "Подтвердить решение", "User": { "disable": { - "message": "Ты действительно хочешь, чтобы пользователь \"{name}<\/b>\" остановиться и отключен<\/b>?", + "message": "Вы действительно хотите, чтобы пользователь \"{name}<\/b>\" остановиться и отключен<\/b>?", "title": "Окончательно отключить пользователя" }, "enable": { - "message": "Ты уверены, что хочешь поделиться пользователем \"{name}<\/b>\"?", + "message": "Вы уверены, что хотите поделиться пользователем \"{name}<\/b>\"?", "title": "Окончательно включить пост" } } @@ -477,7 +477,7 @@ "pin": "Закрепить пост", "pinnedSuccessfully": "Пост больше не закреплен!", "unpin": "Открепить пост", - "unpinnedSuccessfully": "Сообщение успешно не закреплено!" + "unpinnedSuccessfully": "Пост успешно не закреплено!" }, "moreInfo": { "description": "Здесь содержится дополнительная информация по теме.", @@ -630,7 +630,7 @@ "name": "Удалить аккаунт" }, "deleteUserAccount": { - "accountDescription": "Обратите внимание, что ваши сообщения и комментарии важны для сообщества. Если вы все равно хотите их удалить, то вы должны отметить соответствующие опции ниже.", + "accountDescription": "Обратите внимание, что ваши посты и комментарии важны для сообщества. Если вы все равно хотите их удалить, то вы должны отметить соответствующие опции ниже.", "accountWarning": "Вы НЕ СМОЖЕТЕ<\/b> восстановить свой аккаунт, посты или комментарии после удаления.", "commentedCount": "Удалить мои комментарии: {count}", "contributionsCount": "Удалить мои посты: {count}", @@ -716,10 +716,10 @@ "social-media": { "name": "Социальные Медиа", "placeholder": "Ссылка на профиль социальной сети", - "requireUnique": "Cсылка уже существует", + "requireUnique": "Ссылка уже существует", "submit": "Добавить ссылку", - "successAdd": "Добавлены социальные медиа. Профиль обновлен!", - "successDelete": "Социальные мадиа удалены. Профиль обновлен!" + "successAdd": "Добавлены социальные меди. Профиль обновлен!", + "successDelete": "Социальные Меди удалены. Профиль обновлен!" }, "validation": { "slug": { @@ -791,11 +791,11 @@ "title": "Нет коммерческого использования" }, "privacy-statement": { - "description": "Наша сеть — это социальная сеть знаний и действий. Поэтому для нас особенно важно, чтобы как можно больше контента было общедоступным. В процессе развития нашей сети будет добавлено больше возможностей для управления видимостью личных данных. Об этих новых функциях мы сообщим дополнительно. В противном случае вы должны думать о том, какие личные данные вы раскрываете о себе (или других). Это особенно актуально для содержания постов и комментариев, поскольку они имеют в основном общедоступный характер. Позже появятся возможности ограничения видимости вашего профиля. Часть условий использования — это наша политика конфиденциальности, которая информирует вас об обработке персональных данных в нашей сети: https:\/\/human-connection.org\/datenschutz\/#netzwerk<\/a> или https:\/\/human-connection.org\/datenschutz<\/a>. Наше заявление о конфиденциальности корректируется в соответствии с законодательством и характеристиками нашей сети и является действительной в настоящей версии.", + "description": "Наша сеть — это социальная сеть знаний и действий. Поэтому для нас особенно важно, чтобы как можно больше контента было общедоступным. В процессе развития нашей сети будет добавлено больше возможностей для управления видимостью личных данных. Об этих новых функциях мы сообщим дополнительно. В противном случае вы должны думать о том, какие личные данные вы раскрываете о себе (или других). Это особенно актуально для содержания постов и комментариев, поскольку они имеют в основном общедоступный характер. Позже появятся возможности ограничения видимости вашего профиля. Часть условий использования — это наша политика конфиденциальности, которая информирует вас об обработке персональных данных в нашей сети: https:\/\/human-connection.org\/datenschutz\/#netzwerk<\/a> или https:\/\/human-connection.org\/datenschutz<\/a>. Наше заявление о конфиденциальности корректируется в соответствии с законодательством и характеристиками нашей сети и является действительной в настоящей версии.", "title": "Заявление о конфиденциальности" }, "terms-of-service": { - "description": "Следующие условия использования являются основой для использования нашей сети. При регистрации вы должны принять их, а мы при необходимости сообщим вам об изменениях. Сеть Human Connection работает в Германии и поэтому регулируется немецким законодательством. Место юрисдикции - Kirchheim \/ Teck. Подробности в выходных данных: https:\/\/human-connection.org\/en\/imprint<\/a>.", + "description": "Следующие условия использования являются основой для использования нашей сети. При регистрации вы должны принять их, а мы при необходимости сообщим вам об изменениях. Сеть Human Connection работает в Германии и поэтому регулируется немецким законодательством. Место юрисдикции - Kirchheim \/ Teck. Подробности в выходных данных: https:\/\/human-connection.org\/en\/imprint<\/a>.", "title": "Условия обслуживания" }, "termsAndConditionsConfirmed": "Я прочитал(а) и подтверждаю Условия и положения<\/a>.", diff --git a/neo4j/db_manipulation/add_image_aspect_ratio.sh b/neo4j/db_manipulation/add_image_aspect_ratio.sh index 7fe2c5871..8e2a16a01 100755 --- a/neo4j/db_manipulation/add_image_aspect_ratio.sh +++ b/neo4j/db_manipulation/add_image_aspect_ratio.sh @@ -12,19 +12,11 @@ do sleep 1 done -shopt -s nullglob -for image in uploads/*; do - [ -e "$image" ] || continue - IMAGE_WIDTH=$( identify -format '%w' "$image" ) - IMAGE_HEIGHT=$( identify -format '%h' "$image" ) - IMAGE_ASPECT_RATIO=$(echo | awk "{ print ${IMAGE_WIDTH}/${IMAGE_HEIGHT}}") - - - echo "$image" - echo "$IMAGE_ASPECT_RATIO" - echo " - match (post:Post {image: '/"${image}"'}) - set post.imageAspectRatio = "${IMAGE_ASPECT_RATIO}" - return post; - " | cypher-shell -done +echo " + CALL apoc.periodic.iterate(' + CALL apoc.load.csv("out.csv") yield map as row return row + ',' + MATCH (post:Post) where post.image = row.image + set post.imageAspectRatio = row.aspectRatio + ', {batchSize:10000, iterateList:true, parallel:true}); +" | cypher-shell diff --git a/package.json b/package.json index f7610b11e..f06beaf4a 100644 --- a/package.json +++ b/package.json @@ -22,7 +22,7 @@ }, "devDependencies": { "@babel/core": "^7.7.5", - "@babel/preset-env": "^7.7.6", + "@babel/preset-env": "^7.7.7", "@babel/register": "^7.7.4", "auto-changelog": "^1.16.2", "bcryptjs": "^2.4.3", @@ -30,7 +30,7 @@ "cross-env": "^6.0.3", "cucumber": "^6.0.5", "cypress": "^3.8.0", - "cypress-cucumber-preprocessor": "^1.18.0", + "cypress-cucumber-preprocessor": "^1.19.0", "cypress-file-upload": "^3.5.1", "cypress-plugin-retries": "^1.5.0", "date-fns": "^2.8.1", diff --git a/webapp/Dockerfile b/webapp/Dockerfile index 91f19a486..a20ca4111 100644 --- a/webapp/Dockerfile +++ b/webapp/Dockerfile @@ -1,4 +1,4 @@ -FROM node:13.3.0-alpine as base +FROM node:13.4.0-alpine as base LABEL Description="Web Frontend of the Social Network Human-Connection.org" Vendor="Human-Connection gGmbH" Version="0.0.1" Maintainer="Human-Connection gGmbH (developer@human-connection.org)" EXPOSE 3000 diff --git a/webapp/Dockerfile.maintenance b/webapp/Dockerfile.maintenance index adcaca13a..2efec964b 100644 --- a/webapp/Dockerfile.maintenance +++ b/webapp/Dockerfile.maintenance @@ -1,4 +1,4 @@ -FROM node:13.3.0-alpine as build +FROM node:13.4.0-alpine as build LABEL Description="Maintenance page of the Social Network Human-Connection.org" Vendor="Human-Connection gGmbH" Version="0.0.1" Maintainer="Human-Connection gGmbH (developer@human-connection.org)" EXPOSE 3000 diff --git a/webapp/components/ContributionForm/ContributionForm.spec.js b/webapp/components/ContributionForm/ContributionForm.spec.js index 8c50f30b6..2f0f2e30d 100644 --- a/webapp/components/ContributionForm/ContributionForm.spec.js +++ b/webapp/components/ContributionForm/ContributionForm.spec.js @@ -200,6 +200,7 @@ describe('ContributionForm.vue', () => { imageUpload: null, imageAspectRatio: null, image: null, + imageBlurred: false, }, } postTitleInput = wrapper.find('.ds-input') diff --git a/webapp/components/ContributionForm/ContributionForm.vue b/webapp/components/ContributionForm/ContributionForm.vue index eeba47b72..92000edf2 100644 --- a/webapp/components/ContributionForm/ContributionForm.vue +++ b/webapp/components/ContributionForm/ContributionForm.vue @@ -10,6 +10,7 @@ + + + @@ -80,6 +97,7 @@ +
this.contribution.language === o.value) : null form.categoryIds = this.categoryIds(this.contribution.categories) + form.blurImage = this.contribution.imageBlurred } + return { form, formSchema: { @@ -167,6 +189,7 @@ export default { }, }, language: { required: true }, + blurImage: { required: false }, }, languageOptions, id, @@ -175,6 +198,7 @@ export default { users: [], contentMin: 3, hashtags: [], + elem: null, } }, computed: { @@ -195,6 +219,7 @@ export default { teaserImage, imageAspectRatio, categoryIds, + blurImage, } = this.form this.loading = true this.$apollo @@ -208,6 +233,7 @@ export default { language, image, imageUpload: teaserImage, + imageBlurred: blurImage, imageAspectRatio, }, }) @@ -273,28 +299,35 @@ export default { } - diff --git a/webapp/components/LocaleSwitch/LocaleSwitch.vue b/webapp/components/LocaleSwitch/LocaleSwitch.vue index 075e28579..564de20f7 100644 --- a/webapp/components/LocaleSwitch/LocaleSwitch.vue +++ b/webapp/components/LocaleSwitch/LocaleSwitch.vue @@ -33,12 +33,12 @@ diff --git a/webapp/components/PostCard/PostCard.vue b/webapp/components/PostCard/PostCard.vue index d5afe90e1..f9c1fa325 100644 --- a/webapp/components/PostCard/PostCard.vue +++ b/webapp/components/PostCard/PostCard.vue @@ -2,7 +2,12 @@ {}, }, }, + mounted() { + const width = this.$el.offsetWidth + const height = Math.min(width / this.post.imageAspectRatio, 2000) + const imageElement = this.$el.querySelector('.ds-card-image') + if (imageElement) { + imageElement.style.height = `${height}px` + } + }, computed: { ...mapGetters({ user: 'auth/user', @@ -143,23 +156,26 @@ export default { }, } - - diff --git a/webapp/components/TeaserImage/TeaserImage.vue b/webapp/components/TeaserImage/TeaserImage.vue index 95d94d70f..a08b9e0ef 100644 --- a/webapp/components/TeaserImage/TeaserImage.vue +++ b/webapp/components/TeaserImage/TeaserImage.vue @@ -140,7 +140,7 @@ export default {