From c7303598df6c63420b4dcdd65290635fe48430f0 Mon Sep 17 00:00:00 2001 From: Pleroma Renovate Bot Date: Wed, 3 May 2023 09:08:20 +0000 Subject: [PATCH 01/49] Update dependency selenium-server to v3 --- package.json | 2 +- yarn.lock | 7 ++++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/package.json b/package.json index 169dd609c..0f5c6e0c2 100644 --- a/package.json +++ b/package.json @@ -108,7 +108,7 @@ "postcss-scss": "^4.0.6", "sass": "1.60.0", "sass-loader": "13.2.2", - "selenium-server": "2.53.1", + "selenium-server": "3.141.59", "semver": "7.3.8", "serviceworker-webpack5-plugin": "2.0.0", "shelljs": "0.8.5", diff --git a/yarn.lock b/yarn.lock index 1ccc9b058..0636b3724 100644 --- a/yarn.lock +++ b/yarn.lock @@ -8011,9 +8011,10 @@ schema-utils@^4.0.0: ajv-formats "^2.1.1" ajv-keywords "^5.0.0" -selenium-server@2.53.1: - version "2.53.1" - resolved "https://registry.yarnpkg.com/selenium-server/-/selenium-server-2.53.1.tgz#d681528812f3c2e0531a6b7e613e23bb02cce8a6" +selenium-server@3.141.59: + version "3.141.59" + resolved "https://registry.yarnpkg.com/selenium-server/-/selenium-server-3.141.59.tgz#cbefdf50aae636ee4c67b819532a8233ce3fd6b0" + integrity sha512-pL7T1YtAqOEXiBbTx0KdZMkE2U7PYucemd7i0nDLcxcR1APXYZlJfNr5hrvL3mZgwXb7AJEZPINzC6mDU3eP5g== selenium-webdriver@4.6.1: version "4.6.1" From c04570b1e4b2aaffe54baa13e8a201544d178930 Mon Sep 17 00:00:00 2001 From: Pleroma User <66706-pleromian@users.noreply.git.pleroma.social> Date: Mon, 6 Jan 2025 00:24:02 +0000 Subject: [PATCH 02/49] Enable store access in the vue devtools --- changelog.d/vuex-devtools.skip | 0 src/main.js | 3 +++ 2 files changed, 3 insertions(+) create mode 100644 changelog.d/vuex-devtools.skip diff --git a/changelog.d/vuex-devtools.skip b/changelog.d/vuex-devtools.skip new file mode 100644 index 000000000..e69de29bb diff --git a/src/main.js b/src/main.js index 6b634e742..6948d0f62 100644 --- a/src/main.js +++ b/src/main.js @@ -131,6 +131,9 @@ const persistedStateOptions = { bookmarkFolders: bookmarkFoldersModule }, plugins, + options: { + devtools: process.env.NODE_ENV !== 'production' + }, strict: false // Socket modifies itself, let's ignore this for now. // strict: process.env.NODE_ENV !== 'production' }) From 2ad5c3d3fe097e2db9aff764124f51dbb728185a Mon Sep 17 00:00:00 2001 From: tusooa Date: Tue, 7 Jan 2025 20:31:07 -0500 Subject: [PATCH 03/49] Do not check npm version This project does not make use of npm at all. In addition, corepack's npm will refuse to run in a project that defines packageManager in package.json to be yarn. If we are using standalone yarn legacy, it will just run fine. If using corepack, it will automatically download (if needed) and use yarn v1. --- build/check-versions.js | 5 ----- changelog.d/no-check-npm.skip | 0 package.json | 7 +++---- 3 files changed, 3 insertions(+), 9 deletions(-) create mode 100644 changelog.d/no-check-npm.skip diff --git a/build/check-versions.js b/build/check-versions.js index e2b6cf74c..a269a5bc3 100644 --- a/build/check-versions.js +++ b/build/check-versions.js @@ -11,11 +11,6 @@ var versionRequirements = [ name: 'node', currentVersion: semver.clean(process.version), versionRequirement: packageConfig.engines.node - }, - { - name: 'npm', - currentVersion: exec('npm --version'), - versionRequirement: packageConfig.engines.npm } ] diff --git a/changelog.d/no-check-npm.skip b/changelog.d/no-check-npm.skip new file mode 100644 index 000000000..e69de29bb diff --git a/package.json b/package.json index 182a541d9..b3c44aa2a 100644 --- a/package.json +++ b/package.json @@ -10,8 +10,8 @@ "unit": "karma start test/unit/karma.conf.js --single-run", "unit:watch": "karma start test/unit/karma.conf.js --single-run=false", "e2e": "node test/e2e/runner.js", - "test": "npm run unit && npm run e2e", - "stylelint": "npx stylelint '**/*.scss' '**/*.vue'", + "test": "yarn run unit && yarn run e2e", + "stylelint": "yarn exec stylelint '**/*.scss' '**/*.vue'", "lint": "eslint --ext .js,.vue src test/unit/specs test/e2e/specs", "lint-fix": "eslint --fix --ext .js,.vue src test/unit/specs test/e2e/specs" }, @@ -131,8 +131,7 @@ "webpack-merge": "0.20.0" }, "engines": { - "node": ">= 16.0.0", - "npm": ">= 3.0.0" + "node": ">= 16.0.0" }, "packageManager": "yarn@1.22.22+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e" } From f6ec13b64df8be279c7f3f8bebb14ce760031ee0 Mon Sep 17 00:00:00 2001 From: Sean King Date: Tue, 7 Jan 2025 21:05:56 -0700 Subject: [PATCH 04/49] Change npm run to yarn in the GitLab CI Signed-off-by: Sean King --- .gitlab-ci.yml | 6 +++--- changelog.d/denpmify-gitlab-ci.skip | 0 2 files changed, 3 insertions(+), 3 deletions(-) create mode 100644 changelog.d/denpmify-gitlab-ci.skip diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index f4c5cf43a..b01dc4aac 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -38,8 +38,8 @@ lint: stage: lint script: - yarn - - npm run lint - - npm run stylelint + - yarn lint + - yarn stylelint test: stage: test @@ -62,7 +62,7 @@ build: - himem script: - yarn - - npm run build + - yarn build artifacts: paths: - dist/ diff --git a/changelog.d/denpmify-gitlab-ci.skip b/changelog.d/denpmify-gitlab-ci.skip new file mode 100644 index 000000000..e69de29bb From 35409ad9ebb366202bfe4f685c62bd05d433df99 Mon Sep 17 00:00:00 2001 From: Henry Jameson Date: Thu, 9 Jan 2025 00:01:32 +0200 Subject: [PATCH 05/49] initial buttons definitions --- .../status_action_buttons.js | 269 ++++++++++++++++++ .../status_action_buttons.vue | 21 ++ 2 files changed, 290 insertions(+) create mode 100644 src/components/status_action_buttons/status_action_buttons.js create mode 100644 src/components/status_action_buttons/status_action_buttons.vue diff --git a/src/components/status_action_buttons/status_action_buttons.js b/src/components/status_action_buttons/status_action_buttons.js new file mode 100644 index 000000000..5de69d56d --- /dev/null +++ b/src/components/status_action_buttons/status_action_buttons.js @@ -0,0 +1,269 @@ +import ConfirmModal from '../confirm_modal/confirm_modal.vue' +import { library } from '@fortawesome/fontawesome-svg-core' +import { + faRetweet, + faPlus, + faMinus, + faCheck +} from '@fortawesome/free-solid-svg-icons' + +library.add( + faRetweet, + faPlus, + faMinus, + faCheck +) +const PRIVATE_SCOPES = new Set(['private', 'direct']) +const PUBLIC_SCOPES = new Set(['public', 'unlisted']) +const BUTTONS = [{ + // ========= + // REPLY + // ========= + name: 'reply', + label: 'tool_tip.reply', + icon: 'reply', + active: ({ replying }) => replying, + counter: ({ status }) => status.replies_count, + anon: true, + anonLink: true, + toggleable: true, + action ({ emit }) { + emit('toggle') + } +}, { + // ========= + // REPEAT + // ========= + name: 'retweet', + label: 'tool_tip.repeat', + icon ({ status }) { + if (PRIVATE_SCOPES.has(status.visibility)) { + return 'lock' + } + return 'retweet' + }, + animated: true, + active: ({ status }) => status.repeated, + counter: ({ status }) => status.replies_count, + anonLink: true, + interactive: ({ status }) => !PRIVATE_SCOPES.has(status.visibility), + toggleable: true, + confirm: ({ status, getters }) => !status.repeated && getters.mergedConfig.modalOnRepeat, + action ({ status, store }) { + if (!status.repeated) { + return store.dispatch('retweet', { id: status.id }) + } else { + return store.dispatch('unretweet', { id: status.id }) + } + } +}, { + // ========= + // FAVORITE + // ========= + name: 'favorite', + label: 'tool_tip.favorite', + icon: 'star', + animated: true, + active: ({ status }) => status.favorited, + counter: ({ status }) => status.fave_count, + anonLink: true, + toggleable: true, + action ({ status, store }) { + if (!status.favorited) { + return store.dispatch('favorite', { id: status.id }) + } else { + return store.dispatch('unfavorite', { id: status.id }) + } + } +}, { + // ========= + // EMOJI REACTIONS + // ========= + name: 'emoji', + label: 'tool_lip.add_reaction', + icon: 'smile-beam', + anonLink: true, + action ({ emojiPicker }) { + emojiPicker.show() + } +}, { + // ========= + // MUTE CONVERSATION, my beloved + // ========= + name: 'mute-conversation', + icon: 'eye-slash', + label: ({ status }) => status.thread_muted + ? 'status.unmute_conversation' + : 'status.mute_conversation', + if: ({ loggedIn }) => loggedIn, + toggleable: true, + action ({ status, dispatch, emit }) { + if (status.thread_muted) { + return dispatch('unmuteConversation', { id: status.id }) + } else { + return dispatch('muteConversation', { id: status.id }) + } + } +}, { + // ========= + // PIN STATUS + // ========= + name: 'pin', + icon: 'thumbtack', + label: ({ status }) => status.pinned + ? 'status.pin' + : 'status.unpin', + if ({ status, loggedIn, currentUser }) { + return loggedIn && + status.user.id === currentUser.id && + PUBLIC_SCOPES.has(status.visibility) + }, + action ({ status, dispatch, emit }) { + if (status.pinned) { + return dispatch('unpinStatus', { id: status.id }) + } else { + return dispatch('pinStatus', { id: status.id }) + } + } +}, { + // ========= + // BOOKMARK + // ========= + name: 'bookmark', + icon: 'bookmark', + label: ({ status }) => status.bookmarked + ? 'status.bookmark' + : 'status.unbookmark', + if: ({ loggedIn }) => loggedIn, + action ({ status, dispatch, emit }) { + if (status.bookmarked) { + return dispatch('unbookmark', { id: status.id }) + } else { + return dispatch('bookmark', { id: status.id }) + } + } +}, { + // ========= + // EDIT + // ========= + name: 'edit', + icon: 'pen', + label: 'status.edit', + if ({ status, loggedIn, currentUser, state }) { + return loggedIn && + state.instance.editingAvailable && + status.user.id === currentUser.id + }, + action ({ dispatch, status }) { + return dispatch('fetchStatusSource', { id: status.id }) + .then(data => dispatch('openEditStatusModal', { + statusId: status.id, + subject: data.spoiler_text, + statusText: data.text, + statusIsSensitive: status.nsfw, + statusPoll: status.poll, + statusFiles: [...status.attachments], + visibility: status.visibility, + statusContentType: data.content_type + })) + } +}, { + // ========= + // DELETE + // ========= + name: 'delete', + icon: 'times', + label: 'status.delete', + if ({ status, loggedIn, currentUser }) { + return loggedIn && ( + status.user.id === currentUser.id || + currentUser.privileges.includes('messages_delete') + ) + }, + action ({ dispatch, status }) { + dispatch('deleteStatus', { id: status.id }) + } +}, { + // ========= + // SHARE/COPY + // ========= + name: 'share', + icon: 'share-alt', + label: 'status.copy_link', + action ({ state, status, router }) { + navigator.clipboard.writeText([ + state.instance.server, + router.resolve({ name: 'conversation', params: { id: status.id } }).href + ].join('')) + } +}, { + // ========= + // EXTERNAL + // ========= + name: 'external', + icon: 'external-link-alt', + label: 'status.external_source', + link: ({ status }) => status.external_url +}, { + // ========= + // REPORT + // ========= + name: 'report', + icon: 'flag', + label: 'status.report', + if: ({ loggedIn }) => loggedIn, + action ({ dispatch, status }) { + dispatch('openUserReportingModal', { userId: status.user.id, statusIds: [status.id] }) + } +}] + +const StatusActionButtons = { + props: ['status'], + components: { + ConfirmModal + }, + data () { + return { + } + }, + methods: { + retweet () { + if (!this.status.repeated && this.shouldConfirmRepeat) { + this.showConfirmDialog() + } else { + this.doRetweet() + } + }, + doRetweet () { + if (!this.status.repeated) { + this.$store.dispatch('retweet', { id: this.status.id }) + } else { + this.$store.dispatch('unretweet', { id: this.status.id }) + } + this.animated = true + setTimeout(() => { + this.animated = false + }, 500) + this.hideConfirmDialog() + }, + showConfirmDialog () { + this.showingConfirmDialog = true + }, + hideConfirmDialog () { + this.showingConfirmDialog = false + } + }, + computed: { + mergedConfig () { + return this.$store.getters.mergedConfig + }, + remoteInteractionLink () { + return this.$store.getters.remoteInteractionLink({ statusId: this.status.id }) + }, + shouldConfirmRepeat () { + return this.mergedConfig.modalOnRepeat + } + } +} + +export default StatusActionButtons diff --git a/src/components/status_action_buttons/status_action_buttons.vue b/src/components/status_action_buttons/status_action_buttons.vue new file mode 100644 index 000000000..83cd1eb73 --- /dev/null +++ b/src/components/status_action_buttons/status_action_buttons.vue @@ -0,0 +1,21 @@ + + + + + From 804bacb7ba0c68f3f13267677e47749163baba40 Mon Sep 17 00:00:00 2001 From: Pleroma Renovate Bot Date: Thu, 9 Jan 2025 09:04:37 +0000 Subject: [PATCH 06/49] Update dependency karma-coverage to v2.2.1 --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index b3c44aa2a..b06fcff76 100644 --- a/package.json +++ b/package.json @@ -90,7 +90,7 @@ "iso-639-1": "2.1.15", "json-loader": "0.5.7", "karma": "6.4.4", - "karma-coverage": "2.2.0", + "karma-coverage": "2.2.1", "karma-firefox-launcher": "2.1.3", "karma-mocha": "2.0.1", "karma-mocha-reporter": "2.2.5", diff --git a/yarn.lock b/yarn.lock index cf76a257d..8e7e8acf0 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5985,10 +5985,10 @@ just-extend@^4.0.2: resolved "https://registry.yarnpkg.com/just-extend/-/just-extend-4.2.1.tgz#ef5e589afb61e5d66b24eca749409a8939a8c744" integrity sha512-g3UB796vUFIY90VIv/WX3L2c8CS2MdWUww3CNrYmqza1Fg0DURc2K/O4YrnklBdQarSJ/y8JnJYDGc+1iumQjg== -karma-coverage@2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/karma-coverage/-/karma-coverage-2.2.0.tgz#64f838b66b71327802e7f6f6c39d569b7024e40c" - integrity sha512-gPVdoZBNDZ08UCzdMHHhEImKrw1+PAOQOIiffv1YsvxFhBjqvo/SVXNk4tqn1SYqX0BJZT6S/59zgxiBe+9OuA== +karma-coverage@2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/karma-coverage/-/karma-coverage-2.2.1.tgz#e1cc074f93ace9dc4fb7e7aeca7135879c2e358c" + integrity sha512-yj7hbequkQP2qOSb20GuNSIyE//PgJWHwC2IydLE6XRtsnaflv+/OSGNssPjobYUlhVVagy99TQpqUt3vAUG7A== dependencies: istanbul-lib-coverage "^3.2.0" istanbul-lib-instrument "^5.1.0" From 6908ddeec1604fdb64834ac606ab7ef3c3f65a70 Mon Sep 17 00:00:00 2001 From: Pleroma Renovate Bot Date: Thu, 9 Jan 2025 09:04:57 +0000 Subject: [PATCH 07/49] Update dependency express to v4.21.2 --- package.json | 2 +- yarn.lock | 258 ++++++++++++++++++++++++++++++++++++++++----------- 2 files changed, 205 insertions(+), 55 deletions(-) diff --git a/package.json b/package.json index b3c44aa2a..a69f81d2f 100644 --- a/package.json +++ b/package.json @@ -83,7 +83,7 @@ "eslint-plugin-vue": "9.9.0", "eslint-webpack-plugin": "3.2.0", "eventsource-polyfill": "0.9.6", - "express": "4.18.2", + "express": "4.21.2", "function-bind": "1.1.1", "html-webpack-plugin": "5.5.1", "http-proxy-middleware": "2.0.6", diff --git a/yarn.lock b/yarn.lock index cf76a257d..eb015bdd0 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2979,21 +2979,21 @@ bl@^4.1.0: inherits "^2.0.4" readable-stream "^3.4.0" -body-parser@1.20.1: - version "1.20.1" - resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.20.1.tgz#b1812a8912c195cd371a3ee5e66faa2338a5c668" - integrity sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw== +body-parser@1.20.3: + version "1.20.3" + resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.20.3.tgz#1953431221c6fb5cd63c4b36d53fab0928e548c6" + integrity sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g== dependencies: bytes "3.1.2" - content-type "~1.0.4" + content-type "~1.0.5" debug "2.6.9" depd "2.0.0" destroy "1.2.0" http-errors "2.0.0" iconv-lite "0.4.24" on-finished "2.4.1" - qs "6.11.0" - raw-body "2.5.1" + qs "6.13.0" + raw-body "2.5.2" type-is "~1.6.18" unpipe "1.0.0" @@ -3137,6 +3137,14 @@ bytes@3.1.2: resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.2.tgz#8b0beeb98605adf1b128fa4386403c009e0221a5" integrity sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg== +call-bind-apply-helpers@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.1.tgz#32e5892e6361b29b0b545ba6f7763378daca2840" + integrity sha512-BhYE+WDaywFg2TBWYNXAE+8B1ATnThNBqXHP5nQu0jWJdVvY2hvkpyB3qOmtmDePiS5/BDQ8wASEWGMWRG148g== + dependencies: + es-errors "^1.3.0" + function-bind "^1.1.2" + call-bind@^1.0.0, call-bind@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c" @@ -3145,6 +3153,14 @@ call-bind@^1.0.0, call-bind@^1.0.2: function-bind "^1.1.1" get-intrinsic "^1.0.2" +call-bound@^1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/call-bound/-/call-bound-1.0.3.tgz#41cfd032b593e39176a71533ab4f384aa04fd681" + integrity sha512-YTd+6wGlNlPxSuri7Y6X8tY2dmm12UMH66RpKMhiX6rsk5wXXnYgbUcOt8kiS31/AjfoTOvCsE+w8nZQLQnzHA== + dependencies: + call-bind-apply-helpers "^1.0.1" + get-intrinsic "^1.2.6" + callsites@^3.0.0: version "3.1.0" resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" @@ -3493,6 +3509,11 @@ content-type@~1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b" +content-type@~1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.5.tgz#8b773162656d1d1086784c8f23a54ce6d73d7918" + integrity sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA== + convert-source-map@^1.7.0: version "1.7.0" resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.7.0.tgz#17a2cb882d7f77d3490585e2ce6c524424a3a442" @@ -3504,10 +3525,10 @@ cookie-signature@1.0.6: version "1.0.6" resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c" -cookie@0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.5.0.tgz#d1f5d71adec6558c58f389987c366aa47e994f8b" - integrity sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw== +cookie@0.7.1: + version "0.7.1" + resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.7.1.tgz#2f73c42142d5d5cf71310a74fc4ae61670e5dbc9" + integrity sha512-6DnInpx7SJ2AK3+CTUE/ZM0vWTUboZCegxhC2xiIydHR9jNuTAASBrfEpHhiGOZw/nX51bHt6YQl8jsGo4y/0w== cookie@~0.4.1: version "0.4.2" @@ -4037,6 +4058,15 @@ dotenv@10.0.0: resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-10.0.0.tgz#3d4227b8fb95f81096cdd2b66653fb2c7085ba81" integrity sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q== +dunder-proto@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/dunder-proto/-/dunder-proto-1.0.1.tgz#d7ae667e1dc83482f8b70fd0f6eefc50da30f58a" + integrity sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A== + dependencies: + call-bind-apply-helpers "^1.0.1" + es-errors "^1.3.0" + gopd "^1.2.0" + editorconfig@^0.15.3: version "0.15.3" resolved "https://registry.yarnpkg.com/editorconfig/-/editorconfig-0.15.3.tgz#bef84c4e75fb8dcb0ce5cee8efd51c15999befc5" @@ -4101,6 +4131,11 @@ encodeurl@~1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" +encodeurl@~2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-2.0.0.tgz#7b8ea898077d7e409d3ac45474ea38eaf0857a58" + integrity sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg== + end-of-stream@^1.1.0: version "1.4.1" resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.1.tgz#ed29634d19baba463b6ce6b80a37213eab71ec43" @@ -4237,11 +4272,28 @@ es-abstract@^1.20.4: unbox-primitive "^1.0.2" which-typed-array "^1.1.9" +es-define-property@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/es-define-property/-/es-define-property-1.0.1.tgz#983eb2f9a6724e9303f61addf011c72e09e0b0fa" + integrity sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g== + +es-errors@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/es-errors/-/es-errors-1.3.0.tgz#05f75a25dab98e4fb1dcd5e1472c0546d5057c8f" + integrity sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw== + es-module-lexer@^0.9.0: version "0.9.3" resolved "https://registry.yarnpkg.com/es-module-lexer/-/es-module-lexer-0.9.3.tgz#6f13db00cc38417137daf74366f535c8eb438f19" integrity sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ== +es-object-atoms@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/es-object-atoms/-/es-object-atoms-1.0.0.tgz#ddb55cd47ac2e240701260bc2a8e31ecb643d941" + integrity sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw== + dependencies: + es-errors "^1.3.0" + es-set-tostringtag@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz#338d502f6f674301d710b80c8592de8a15f09cd8" @@ -4575,37 +4627,37 @@ eventsource-polyfill@0.9.6: resolved "https://registry.yarnpkg.com/eventsource-polyfill/-/eventsource-polyfill-0.9.6.tgz#10e0d187f111b167f28fdab918843ce7d818f13c" integrity sha1-EODRh/ERsWfyj9q5GIQ859gY8Tw= -express@4.18.2: - version "4.18.2" - resolved "https://registry.yarnpkg.com/express/-/express-4.18.2.tgz#3fabe08296e930c796c19e3c516979386ba9fd59" - integrity sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ== +express@4.21.2: + version "4.21.2" + resolved "https://registry.yarnpkg.com/express/-/express-4.21.2.tgz#cf250e48362174ead6cea4a566abef0162c1ec32" + integrity sha512-28HqgMZAmih1Czt9ny7qr6ek2qddF4FclbMzwhCREB6OFfH+rXAnuNCwo1/wFvrtbgsQDb4kSbX9de9lFbrXnA== dependencies: accepts "~1.3.8" array-flatten "1.1.1" - body-parser "1.20.1" + body-parser "1.20.3" content-disposition "0.5.4" content-type "~1.0.4" - cookie "0.5.0" + cookie "0.7.1" cookie-signature "1.0.6" debug "2.6.9" depd "2.0.0" - encodeurl "~1.0.2" + encodeurl "~2.0.0" escape-html "~1.0.3" etag "~1.8.1" - finalhandler "1.2.0" + finalhandler "1.3.1" fresh "0.5.2" http-errors "2.0.0" - merge-descriptors "1.0.1" + merge-descriptors "1.0.3" methods "~1.1.2" on-finished "2.4.1" parseurl "~1.3.3" - path-to-regexp "0.1.7" + path-to-regexp "0.1.12" proxy-addr "~2.0.7" - qs "6.11.0" + qs "6.13.0" range-parser "~1.2.1" safe-buffer "5.2.1" - send "0.18.0" - serve-static "1.15.0" + send "0.19.0" + serve-static "1.16.2" setprototypeof "1.2.0" statuses "2.0.1" type-is "~1.6.18" @@ -4717,13 +4769,13 @@ finalhandler@1.1.2: statuses "~1.5.0" unpipe "~1.0.0" -finalhandler@1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.2.0.tgz#7d23fe5731b207b4640e4fcd00aec1f9207a7b32" - integrity sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg== +finalhandler@1.3.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.3.1.tgz#0c575f1d1d324ddd1da35ad7ece3df7d19088019" + integrity sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ== dependencies: debug "2.6.9" - encodeurl "~1.0.2" + encodeurl "~2.0.0" escape-html "~1.0.3" on-finished "2.4.1" parseurl "~1.3.3" @@ -4875,6 +4927,11 @@ function-bind@1.1.1, function-bind@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" +function-bind@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.2.tgz#2c02d864d97f3ea6c8830c464cbd11ab6eab7a1c" + integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA== + function.prototype.name@^1.1.5: version "1.1.5" resolved "https://registry.yarnpkg.com/function.prototype.name/-/function.prototype.name-1.1.5.tgz#cce0505fe1ffb80503e6f9e46cc64e46a12a9621" @@ -4923,6 +4980,30 @@ get-intrinsic@^1.1.3: has "^1.0.3" has-symbols "^1.0.3" +get-intrinsic@^1.2.5, get-intrinsic@^1.2.6: + version "1.2.7" + resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.2.7.tgz#dcfcb33d3272e15f445d15124bc0a216189b9044" + integrity sha512-VW6Pxhsrk0KAOqs3WEd0klDiF/+V7gQOpAvY1jVU/LHmaD/kQO4523aiJuikX/QAKYiW6x8Jh+RJej1almdtCA== + dependencies: + call-bind-apply-helpers "^1.0.1" + es-define-property "^1.0.1" + es-errors "^1.3.0" + es-object-atoms "^1.0.0" + function-bind "^1.1.2" + get-proto "^1.0.0" + gopd "^1.2.0" + has-symbols "^1.1.0" + hasown "^2.0.2" + math-intrinsics "^1.1.0" + +get-proto@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/get-proto/-/get-proto-1.0.1.tgz#150b3f2743869ef3e851ec0c49d15b1d14d00ee1" + integrity sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g== + dependencies: + dunder-proto "^1.0.1" + es-object-atoms "^1.0.0" + get-stream@^5.1.0: version "5.2.0" resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-5.2.0.tgz#4966a1795ee5ace65e706c4b7beb71257d6e22d3" @@ -5072,6 +5153,11 @@ gopd@^1.0.1: dependencies: get-intrinsic "^1.1.3" +gopd@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/gopd/-/gopd-1.2.0.tgz#89f56b8217bdbc8802bd299df6d7f1081d7e51a1" + integrity sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg== + graceful-fs@^4.1.2: version "4.1.15" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.15.tgz#ffb703e1066e8a0eeaa4c8b80ba9253eeefbfb00" @@ -5152,6 +5238,11 @@ has-symbols@^1.0.1, has-symbols@^1.0.2, has-symbols@^1.0.3: resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8" integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== +has-symbols@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.1.0.tgz#fc9c6a783a084951d0b971fe1018de813707a338" + integrity sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ== + has-tostringtag@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.0.tgz#7e133818a7d394734f941e73c3d3f9291e658b25" @@ -5174,6 +5265,13 @@ hash-sum@^2.0.0: resolved "https://registry.yarnpkg.com/hash-sum/-/hash-sum-2.0.0.tgz#81d01bb5de8ea4a214ad5d6ead1b523460b0b45a" integrity sha512-WdZTbAByD+pHfl/g9QSsBIIwy8IT+EsPiKDs0KNX+zSHhdDLFKdZu0BQHljvO+0QI/BasbMSUa8wYNCZTvhslg== +hasown@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/hasown/-/hasown-2.0.2.tgz#003eaf91be7adc372e84ec59dc37252cedb80003" + integrity sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ== + dependencies: + function-bind "^1.1.2" + he@1.2.0, he@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" @@ -6538,6 +6636,11 @@ map-obj@^4.0.0: resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-4.1.0.tgz#b91221b542734b9f14256c0132c897c5d7256fd5" integrity sha512-glc9y00wgtwcDmp7GaE/0b0OnxpNJsVf3ael/An6Fe2Q51LLwN1er6sdomLRzz5h0+yMpiYLhWYF5R7HeqVd4g== +math-intrinsics@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/math-intrinsics/-/math-intrinsics-1.1.0.tgz#a0dd74be81e2aa5c2f27e65ce283605ee4e2b7f9" + integrity sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g== + mathml-tag-names@^2.1.3: version "2.1.3" resolved "https://registry.yarnpkg.com/mathml-tag-names/-/mathml-tag-names-2.1.3.tgz#4ddadd67308e780cf16a47685878ee27b736a0a3" @@ -6577,9 +6680,10 @@ meow@^9.0.0: type-fest "^0.18.0" yargs-parser "^20.2.3" -merge-descriptors@1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" +merge-descriptors@1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.3.tgz#d80319a65f3c7935351e5cfdac8f9318504dbed5" + integrity sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ== merge-stream@^2.0.0: version "2.0.0" @@ -7001,6 +7105,11 @@ object-inspect@^1.12.2: resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.12.3.tgz#ba62dffd67ee256c8c086dfae69e016cd1f198b9" integrity sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g== +object-inspect@^1.13.3: + version "1.13.3" + resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.13.3.tgz#f14c183de51130243d6d18ae149375ff50ea488a" + integrity sha512-kDCGIbxkDSXE3euJZZXzc6to7fCrKHNI/hSRQnRuQ+BWjFNzZwiFF8fj/6o2t2G9/jTj8PSIYTfCLelLZEeRpA== + object-keys@^1.0.12, object-keys@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" @@ -7280,9 +7389,10 @@ path-parse@^1.0.7: resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== -path-to-regexp@0.1.7: - version "0.1.7" - resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c" +path-to-regexp@0.1.12: + version "0.1.12" + resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.12.tgz#d5e1a12e478a976d432ef3c58d534b9923164bb7" + integrity sha512-RA1GjUVMnvYFxuqovrEqZoxxW5NUZqbwKtYz/Tt7nXerk0LbLblQmrsgdeOxV5SFHf0UDggjS/bSeOZwt1pmEQ== path-to-regexp@^1.7.0: version "1.7.0" @@ -7804,12 +7914,12 @@ qrcode@1.5.3: pngjs "^5.0.0" yargs "^15.3.1" -qs@6.11.0: - version "6.11.0" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.11.0.tgz#fd0d963446f7a65e1367e01abd85429453f0c37a" - integrity sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q== +qs@6.13.0: + version "6.13.0" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.13.0.tgz#6ca3bd58439f7e245655798997787b0d88a51906" + integrity sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg== dependencies: - side-channel "^1.0.4" + side-channel "^1.0.6" qs@6.9.7: version "6.9.7" @@ -7858,10 +7968,10 @@ raw-body@2.4.3: iconv-lite "0.4.24" unpipe "1.0.0" -raw-body@2.5.1: - version "2.5.1" - resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.5.1.tgz#fe1b1628b181b700215e5fd42389f98b71392857" - integrity sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig== +raw-body@2.5.2: + version "2.5.2" + resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.5.2.tgz#99febd83b90e08975087e8f1f9419a149366b68a" + integrity sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA== dependencies: bytes "3.1.2" http-errors "2.0.0" @@ -8274,10 +8384,10 @@ semver@^7.5.4: dependencies: lru-cache "^6.0.0" -send@0.18.0: - version "0.18.0" - resolved "https://registry.yarnpkg.com/send/-/send-0.18.0.tgz#670167cc654b05f5aa4a767f9113bb371bc706be" - integrity sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg== +send@0.19.0: + version "0.19.0" + resolved "https://registry.yarnpkg.com/send/-/send-0.19.0.tgz#bbc5a388c8ea6c048967049dbeac0e4a3f09d7f8" + integrity sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw== dependencies: debug "2.6.9" depd "2.0.0" @@ -8300,15 +8410,15 @@ serialize-javascript@6.0.0, serialize-javascript@^6.0.0: dependencies: randombytes "^2.1.0" -serve-static@1.15.0: - version "1.15.0" - resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.15.0.tgz#faaef08cffe0a1a62f60cad0c4e513cff0ac9540" - integrity sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g== +serve-static@1.16.2: + version "1.16.2" + resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.16.2.tgz#b6a5343da47f6bdd2673848bf45754941e803296" + integrity sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw== dependencies: - encodeurl "~1.0.2" + encodeurl "~2.0.0" escape-html "~1.0.3" parseurl "~1.3.3" - send "0.18.0" + send "0.19.0" serviceworker-webpack5-plugin@2.0.0: version "2.0.0" @@ -8358,6 +8468,35 @@ shelljs@0.8.5: interpret "^1.0.0" rechoir "^0.6.2" +side-channel-list@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/side-channel-list/-/side-channel-list-1.0.0.tgz#10cb5984263115d3b7a0e336591e290a830af8ad" + integrity sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA== + dependencies: + es-errors "^1.3.0" + object-inspect "^1.13.3" + +side-channel-map@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/side-channel-map/-/side-channel-map-1.0.1.tgz#d6bb6b37902c6fef5174e5f533fab4c732a26f42" + integrity sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA== + dependencies: + call-bound "^1.0.2" + es-errors "^1.3.0" + get-intrinsic "^1.2.5" + object-inspect "^1.13.3" + +side-channel-weakmap@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz#11dda19d5368e40ce9ec2bdc1fb0ecbc0790ecea" + integrity sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A== + dependencies: + call-bound "^1.0.2" + es-errors "^1.3.0" + get-intrinsic "^1.2.5" + object-inspect "^1.13.3" + side-channel-map "^1.0.1" + side-channel@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.4.tgz#efce5c8fdc104ee751b25c58d4290011fa5ea2cf" @@ -8367,6 +8506,17 @@ side-channel@^1.0.4: get-intrinsic "^1.0.2" object-inspect "^1.9.0" +side-channel@^1.0.6: + version "1.1.0" + resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.1.0.tgz#c3fcff9c4da932784873335ec9765fa94ff66bc9" + integrity sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw== + dependencies: + es-errors "^1.3.0" + object-inspect "^1.13.3" + side-channel-list "^1.0.0" + side-channel-map "^1.0.1" + side-channel-weakmap "^1.0.2" + sigmund@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/sigmund/-/sigmund-1.0.1.tgz#3ff21f198cad2175f9f3b781853fd94d0d19b590" From fe84a52dcc0a1cfe5088363edd5116bd0a61f36e Mon Sep 17 00:00:00 2001 From: Henry Jameson Date: Thu, 9 Jan 2025 17:43:48 +0200 Subject: [PATCH 08/49] initial work on quick actions --- src/components/status/status.js | 4 +- src/components/status/status.vue | 10 +- .../status_action_buttons.js | 119 ++++++++++------- .../status_action_buttons.vue | 126 +++++++++++++++++- src/i18n/en.json | 1 + 5 files changed, 206 insertions(+), 54 deletions(-) diff --git a/src/components/status/status.js b/src/components/status/status.js index ccecaac7e..903542564 100644 --- a/src/components/status/status.js +++ b/src/components/status/status.js @@ -16,6 +16,7 @@ import EmojiReactions from '../emoji_reactions/emoji_reactions.vue' import UserLink from '../user_link/user_link.vue' import MentionsLine from 'src/components/mentions_line/mentions_line.vue' import MentionLink from 'src/components/mention_link/mention_link.vue' +import StatusActionButtons from 'src/components/status_action_buttons/status_action_buttons.vue' import generateProfileLink from 'src/services/user_profile_link_generator/user_profile_link_generator' import { highlightClass, highlightStyle } from '../../services/user_highlighter/user_highlighter.js' import { muteWordHits } from '../../services/status_parser/status_parser.js' @@ -119,7 +120,8 @@ const Status = { MentionLink, MentionsLine, UserPopover, - UserLink + UserLink, + StatusActionButtons }, props: [ 'statusoid', diff --git a/src/components/status/status.vue b/src/components/status/status.vue index c58178b3c..4e6c3f2d1 100644 --- a/src/components/status/status.vue +++ b/src/components/status/status.vue @@ -65,7 +65,6 @@ v-if="retweet" class="left-side repeater-avatar" :show-actor-type-indicator="showActorTypeIndicator" - :better-shadow="betterShadow" :user="statusoid.user" />
@@ -120,7 +119,6 @@ class="post-avatar" :show-actor-type-indicator="showActorTypeIndicator" :compact="compact" - :better-shadow="betterShadow" :user="status.user" /> @@ -537,6 +535,12 @@ :status="status" /> +
diff --git a/src/components/status_action_buttons/status_action_buttons.js b/src/components/status_action_buttons/status_action_buttons.js index 5de69d56d..2a7c70a41 100644 --- a/src/components/status_action_buttons/status_action_buttons.js +++ b/src/components/status_action_buttons/status_action_buttons.js @@ -28,7 +28,8 @@ const BUTTONS = [{ anonLink: true, toggleable: true, action ({ emit }) { - emit('toggle') + emit('toggleReplying') + return Promise.resolve() } }, { // ========= @@ -44,11 +45,16 @@ const BUTTONS = [{ }, animated: true, active: ({ status }) => status.repeated, - counter: ({ status }) => status.replies_count, + counter: ({ status }) => status.repeat_num, anonLink: true, interactive: ({ status }) => !PRIVATE_SCOPES.has(status.visibility), toggleable: true, confirm: ({ status, getters }) => !status.repeated && getters.mergedConfig.modalOnRepeat, + confirmStrings: { + title: 'status.repeat_confirm_title', + confirm: 'status.repeat_confirm_accept_button', + cancel: 'status.repeat_confirm_cancel_button' + }, action ({ status, store }) { if (!status.repeated) { return store.dispatch('retweet', { id: status.id }) @@ -62,10 +68,12 @@ const BUTTONS = [{ // ========= name: 'favorite', label: 'tool_tip.favorite', - icon: 'star', + icon: ({ status }) => status.favorited + ? ['fas', 'star'] + : ['far', 'star'], animated: true, active: ({ status }) => status.favorited, - counter: ({ status }) => status.fave_count, + counter: ({ status }) => status.fave_num, anonLink: true, toggleable: true, action ({ status, store }) { @@ -81,11 +89,9 @@ const BUTTONS = [{ // ========= name: 'emoji', label: 'tool_lip.add_reaction', - icon: 'smile-beam', + icon: ['far', 'smile-beam'], anonLink: true, - action ({ emojiPicker }) { - emojiPicker.show() - } + popover: 'emoji-picker' }, { // ========= // MUTE CONVERSATION, my beloved @@ -141,7 +147,8 @@ const BUTTONS = [{ } else { return dispatch('bookmark', { id: status.id }) } - } + }, + popover: 'bookmark-folders' }, { // ========= // EDIT @@ -180,8 +187,13 @@ const BUTTONS = [{ currentUser.privileges.includes('messages_delete') ) }, + confirmStrings: { + title: 'status.delete_confirm_title', + confirm: 'status.delete_confirm_cancel_button', + cancel: 'status.delete_confirm_accept_button' + }, action ({ dispatch, status }) { - dispatch('deleteStatus', { id: status.id }) + return dispatch('deleteStatus', { id: status.id }) } }, { // ========= @@ -195,6 +207,7 @@ const BUTTONS = [{ state.instance.server, router.resolve({ name: 'conversation', params: { id: status.id } }).href ].join('')) + return Promise.resolve() } }, { // ========= @@ -210,58 +223,74 @@ const BUTTONS = [{ // ========= name: 'report', icon: 'flag', - label: 'status.report', + label: 'user_card.report', if: ({ loggedIn }) => loggedIn, action ({ dispatch, status }) { dispatch('openUserReportingModal', { userId: status.user.id, statusIds: [status.id] }) } -}] +}].map(button => { + return Object.fromEntries( + Object.entries(button).map(([k, v]) => [k, typeof v === 'function' ? v : () => v]) + ) +}) +console.log(BUTTONS) const StatusActionButtons = { - props: ['status'], + props: ['status', 'replying'], + emits: ['toggleReplying'], + data () { + return { + buttons: BUTTONS, + showingConfirmDialog: false, + currentConfirmTitle: '', + currentConfirmOkText: '', + currentConfirmCancelText: '', + currentConfirmAction: () => {} + } + }, components: { ConfirmModal }, - data () { - return { - } - }, methods: { - retweet () { - if (!this.status.repeated && this.shouldConfirmRepeat) { - this.showConfirmDialog() + doAction (button) { + this.doActionReal(button) + }, + doActionReal (button) { + button.action(this.funcArg(button)) + .then(() => this.$emit('onSuccess')) + .catch(err => this.$emit('onError', err.error.error)) + }, + component (button) { + if (!this.$store.state.users.currentUser && button.anonLink) { + return 'a' + } else if (button.action == null && button.link != null) { + return 'a' } else { - this.doRetweet() + return 'button' } }, - doRetweet () { - if (!this.status.repeated) { - this.$store.dispatch('retweet', { id: this.status.id }) - } else { - this.$store.dispatch('unretweet', { id: this.status.id }) + funcArg () { + return { + status: this.status, + replying: this.replying, + emit: this.$emit, + dispatch: this.$store.dispatch, + state: this.$store.state, + getters: this.$store.getters, + router: this.$router, + currentUser: this.$store.state.users.currentUser, + loggedIn: !!this.$store.state.users.currentUser } - this.animated = true - setTimeout(() => { - this.animated = false - }, 500) - this.hideConfirmDialog() }, - showConfirmDialog () { - this.showingConfirmDialog = true + getClass (button) { + return { + [button.name() + '-button']: true, + '-active': button.active?.(this.funcArg()), + '-interactive': !!this.$store.state.users.currentUser + } }, - hideConfirmDialog () { - this.showingConfirmDialog = false - } - }, - computed: { - mergedConfig () { - return this.$store.getters.mergedConfig - }, - remoteInteractionLink () { + getRemoteInteractionLink () { return this.$store.getters.remoteInteractionLink({ statusId: this.status.id }) - }, - shouldConfirmRepeat () { - return this.mergedConfig.modalOnRepeat } } } diff --git a/src/components/status_action_buttons/status_action_buttons.vue b/src/components/status_action_buttons/status_action_buttons.vue index 83cd1eb73..3950e22db 100644 --- a/src/components/status_action_buttons/status_action_buttons.vue +++ b/src/components/status_action_buttons/status_action_buttons.vue @@ -1,21 +1,135 @@ - + diff --git a/src/i18n/en.json b/src/i18n/en.json index 3d7a674ce..a083e5757 100644 --- a/src/i18n/en.json +++ b/src/i18n/en.json @@ -1410,6 +1410,7 @@ "mentions": "Mentions", "repeat": "Repeat", "reply": "Reply", + "add_reaction": "Add reaction", "favorite": "Favorite", "add_reaction": "Add Reaction", "user_settings": "User Settings", From 1dcb641314314956732c4f24685b8149406ebbc6 Mon Sep 17 00:00:00 2001 From: Pleroma Renovate Bot Date: Fri, 10 Jan 2025 09:04:38 +0000 Subject: [PATCH 09/49] Update dependency autoprefixer to v10.4.20 --- package.json | 2 +- yarn.lock | 79 +++++++++++++++++++++++++++++++--------------------- 2 files changed, 48 insertions(+), 33 deletions(-) diff --git a/package.json b/package.json index b3c44aa2a..14454b940 100644 --- a/package.json +++ b/package.json @@ -62,7 +62,7 @@ "@vue/babel-plugin-jsx": "1.2.2", "@vue/compiler-sfc": "3.2.45", "@vue/test-utils": "2.2.8", - "autoprefixer": "10.4.19", + "autoprefixer": "10.4.20", "babel-loader": "9.1.3", "babel-plugin-lodash": "3.3.4", "chai": "4.3.7", diff --git a/yarn.lock b/yarn.lock index cf76a257d..9a48fe71c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2868,16 +2868,16 @@ asynckit@^0.4.0: resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q== -autoprefixer@10.4.19: - version "10.4.19" - resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.4.19.tgz#ad25a856e82ee9d7898c59583c1afeb3fa65f89f" - integrity sha512-BaENR2+zBZ8xXhM4pUaKUxlVdxZ0EZhjvbopwnXmxRUfqDmwSpC2lAi/QXvx7NRdPCo1WKEcEF6mV64si1z4Ew== +autoprefixer@10.4.20: + version "10.4.20" + resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.4.20.tgz#5caec14d43976ef42e32dcb4bd62878e96be5b3b" + integrity sha512-XY25y5xSv/wEoqzDyXXME4AFfkZI0P23z6Fs3YgymDnKJkCGOnkL0iTxCa85UTqaSgfcqyf3UA6+c7wUvx/16g== dependencies: - browserslist "^4.23.0" - caniuse-lite "^1.0.30001599" + browserslist "^4.23.3" + caniuse-lite "^1.0.30001646" fraction.js "^4.3.7" normalize-range "^0.1.2" - picocolors "^1.0.0" + picocolors "^1.0.1" postcss-value-parser "^4.2.0" available-typed-arrays@^1.0.5: @@ -3098,15 +3098,15 @@ browserslist@^4.21.3, browserslist@^4.21.4: node-releases "^2.0.6" update-browserslist-db "^1.0.9" -browserslist@^4.23.0: - version "4.23.0" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.23.0.tgz#8f3acc2bbe73af7213399430890f86c63a5674ab" - integrity sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ== +browserslist@^4.23.3: + version "4.24.4" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.24.4.tgz#c6b2865a3f08bcb860a0e827389003b9fe686e4b" + integrity sha512-KDi1Ny1gSePi1vm0q4oxSF8b4DR44GF4BbmS2YdhPLOEqd8pDviZOGH/GsmRwoWJ2+5Lr085X7naowMwKHDG1A== dependencies: - caniuse-lite "^1.0.30001587" - electron-to-chromium "^1.4.668" - node-releases "^2.0.14" - update-browserslist-db "^1.0.13" + caniuse-lite "^1.0.30001688" + electron-to-chromium "^1.5.73" + node-releases "^2.0.19" + update-browserslist-db "^1.1.1" buffer-crc32@~0.2.3: version "0.2.13" @@ -3195,11 +3195,16 @@ caniuse-api@^3.0.0: lodash.memoize "^4.1.2" lodash.uniq "^4.5.0" -caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001359, caniuse-lite@^1.0.30001370, caniuse-lite@^1.0.30001400, caniuse-lite@^1.0.30001587, caniuse-lite@^1.0.30001599: +caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001359, caniuse-lite@^1.0.30001370, caniuse-lite@^1.0.30001400: version "1.0.30001662" resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001662.tgz" integrity sha512-sgMUVwLmGseH8ZIrm1d51UbrhqMCH3jvS7gF/M6byuHOnKyLOBL7W8yz5V02OHwgLGA36o/AFhWzzh4uc5aqTA== +caniuse-lite@^1.0.30001646, caniuse-lite@^1.0.30001688: + version "1.0.30001692" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001692.tgz#4585729d95e6b95be5b439da6ab55250cd125bf9" + integrity sha512-A95VKan0kdtrsnMubMKxEKUKImOPSuCpYgxSQBo036P5YYgVIcOYJEgt/txJWqObiRQeISNCfef9nvlQ0vbV7A== + chai-nightwatch@0.5.3: version "0.5.3" resolved "https://registry.yarnpkg.com/chai-nightwatch/-/chai-nightwatch-0.5.3.tgz#980ecf63dde5a04e7f3524370682c7ff01178ffb" @@ -4073,10 +4078,10 @@ electron-to-chromium@^1.4.251: resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.276.tgz#17837b19dafcc43aba885c4689358b298c19b520" integrity sha512-EpuHPqu8YhonqLBXHoU6hDJCD98FCe6KDoet3/gY1qsQ6usjJoHqBH2YIVs8FXaAtHwVL8Uqa/fsYao/vq9VWQ== -electron-to-chromium@^1.4.668: - version "1.4.690" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.690.tgz#dd5145d45c49c08a9a6f7454127e660bdf9a3fa7" - integrity sha512-+2OAGjUx68xElQhydpcbqH50hE8Vs2K6TkAeLhICYfndb67CVH0UsZaijmRUE3rHlIxU1u0jxwhgVe6fK3YANA== +electron-to-chromium@^1.5.73: + version "1.5.80" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.5.80.tgz#ca7a8361d7305f0ec9e203ce4e633cbb8a8ef1b1" + integrity sha512-LTrKpW0AqIuHwmlVNV+cjFYTnXtM9K37OGhpe0ZI10ScPSxqVSryZHIY3WnCS5NSYbBODRTZyhRMS2h5FAEqAw== emoji-regex@^8.0.0: version "8.0.0" @@ -4272,6 +4277,11 @@ escalade@^3.1.1: resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== +escalade@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.2.0.tgz#011a3f69856ba189dffa7dc8fcce99d2a87903e5" + integrity sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA== + escape-html@1.0.3, escape-html@~1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" @@ -6925,10 +6935,10 @@ no-case@^3.0.4: lower-case "^2.0.2" tslib "^2.0.3" -node-releases@^2.0.14: - version "2.0.14" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.14.tgz#2ffb053bceb8b2be8495ece1ab6ce600c4461b0b" - integrity sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw== +node-releases@^2.0.19: + version "2.0.19" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.19.tgz#9e445a52950951ec4d177d843af370b411caf314" + integrity sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw== node-releases@^2.0.5, node-releases@^2.0.6: version "2.0.6" @@ -7314,6 +7324,11 @@ picocolors@^1.0.0: resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== +picocolors@^1.0.1, picocolors@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.1.1.tgz#3d321af3eab939b083c8f929a1d12cda81c26b6b" + integrity sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA== + picomatch@^2.0.4: version "2.2.3" resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.2.3.tgz#465547f359ccc206d3c48e46a1bcb89bf7ee619d" @@ -9076,14 +9091,6 @@ untildify@^4.0.0: resolved "https://registry.yarnpkg.com/untildify/-/untildify-4.0.0.tgz#2bc947b953652487e4600949fb091e3ae8cd919b" integrity sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw== -update-browserslist-db@^1.0.13: - version "1.0.13" - resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz#3c5e4f5c083661bd38ef64b6328c26ed6c8248c4" - integrity sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg== - dependencies: - escalade "^3.1.1" - picocolors "^1.0.0" - update-browserslist-db@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.4.tgz#dbfc5a789caa26b1db8990796c2c8ebbce304824" @@ -9108,6 +9115,14 @@ update-browserslist-db@^1.0.9: escalade "^3.1.1" picocolors "^1.0.0" +update-browserslist-db@^1.1.1: + version "1.1.2" + resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.1.2.tgz#97e9c96ab0ae7bcac08e9ae5151d26e6bc6b5580" + integrity sha512-PPypAm5qvlD7XMZC3BujecnaOxwhrtoFR+Dqkk5Aa/6DssiH0ibKoketaj9w8LP7Bont1rYeoV5plxD7RTEPRg== + dependencies: + escalade "^3.2.0" + picocolors "^1.1.1" + uri-js@^4.2.2: version "4.2.2" resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.2.2.tgz#94c540e1ff772956e2299507c010aea6c8838eb0" From e4085fb45704c4b7a0af88b1b8b9c0ee1b2bb843 Mon Sep 17 00:00:00 2001 From: Pleroma Renovate Bot Date: Fri, 10 Jan 2025 09:04:44 +0000 Subject: [PATCH 10/49] Update dependency cross-spawn to v7.0.6 --- package.json | 2 +- yarn.lock | 11 ++++++++++- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index b3c44aa2a..08d603707 100644 --- a/package.json +++ b/package.json @@ -70,7 +70,7 @@ "chromedriver": "108.0.0", "connect-history-api-fallback": "2.0.0", "copy-webpack-plugin": "11.0.0", - "cross-spawn": "7.0.3", + "cross-spawn": "7.0.6", "css-loader": "6.10.0", "css-minimizer-webpack-plugin": "4.2.2", "custom-event-polyfill": "1.0.7", diff --git a/yarn.lock b/yarn.lock index cf76a257d..806b2dc86 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3572,7 +3572,16 @@ cropperjs@1.5.13: resolved "https://registry.yarnpkg.com/cropperjs/-/cropperjs-1.5.13.tgz#eb1682f01d17c70ed5244317091d745c9a249ef8" integrity sha512-by7jKAo73y5/Do0K6sxdTKHgndY0NMjG2bEdgeJxycbcmHuCiMXqw8sxy5C5Y5WTOTcDGmbT7Sr5CgKOXR06OA== -cross-spawn@7.0.3, cross-spawn@^7.0.2: +cross-spawn@7.0.6: + version "7.0.6" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.6.tgz#8a58fe78f00dcd70c370451759dfbfaf03e8ee9f" + integrity sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA== + dependencies: + path-key "^3.1.0" + shebang-command "^2.0.0" + which "^2.0.1" + +cross-spawn@^7.0.2: version "7.0.3" resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== From e21fbeaa620e3a22f96d8dce80829911f7e459f4 Mon Sep 17 00:00:00 2001 From: Pleroma Renovate Bot Date: Sat, 11 Jan 2025 08:51:47 +0000 Subject: [PATCH 11/49] Update dependency @ruffle-rs/ruffle to v0.1.0-nightly.2025.1.11 --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index b3c44aa2a..e915f1137 100644 --- a/package.json +++ b/package.json @@ -24,7 +24,7 @@ "@fortawesome/vue-fontawesome": "3.0.3", "@kazvmoe-infra/pinch-zoom-element": "1.2.0", "@kazvmoe-infra/unicode-emoji-json": "0.4.0", - "@ruffle-rs/ruffle": "0.1.0-nightly.2024.8.21", + "@ruffle-rs/ruffle": "0.1.0-nightly.2025.1.11", "@vuelidate/core": "2.0.3", "@vuelidate/validators": "2.0.4", "body-scroll-lock": "3.1.5", diff --git a/yarn.lock b/yarn.lock index cf76a257d..509bb3d8f 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2070,10 +2070,10 @@ "@nodelib/fs.scandir" "2.1.5" fastq "^1.6.0" -"@ruffle-rs/ruffle@0.1.0-nightly.2024.8.21": - version "0.1.0-nightly.2024.8.21" - resolved "https://registry.yarnpkg.com/@ruffle-rs/ruffle/-/ruffle-0.1.0-nightly.2024.8.21.tgz#e4bdb6386b487dc12471681c7265f565d813e1cf" - integrity sha512-nfTPJEPJPo4MrUACuLoW19wNKgF1rrbxCO5if1MZfsWcUxZ6+pwlQWq1JxXalxEjYg8VwJtWzWEchWJQkMckwA== +"@ruffle-rs/ruffle@0.1.0-nightly.2025.1.11": + version "0.1.0-nightly.2025.1.11" + resolved "https://registry.yarnpkg.com/@ruffle-rs/ruffle/-/ruffle-0.1.0-nightly.2025.1.11.tgz#99df389836ec0d3ddef583cd19321a8687df5dad" + integrity sha512-Mfk8vN6XMR91avNSP7L2p5xeOJYHt2F8DEV3Hmz1WP63JnxxNhFLLLQhCqGtauHVK5S8Eo7NVwrM97HK0wGe+g== "@sinclair/typebox@^0.24.1": version "0.24.51" From 08f8b975b68212dc2ff7616c1b3c163402327a6a Mon Sep 17 00:00:00 2001 From: Henry Jameson Date: Sat, 11 Jan 2025 18:01:53 +0200 Subject: [PATCH 12/49] use computed instead of methods when possible --- .../status_action_buttons.js | 33 ++++++++++--------- .../status_action_buttons.vue | 18 +++++----- 2 files changed, 27 insertions(+), 24 deletions(-) diff --git a/src/components/status_action_buttons/status_action_buttons.js b/src/components/status_action_buttons/status_action_buttons.js index 2a7c70a41..52e3b3f8b 100644 --- a/src/components/status_action_buttons/status_action_buttons.js +++ b/src/components/status_action_buttons/status_action_buttons.js @@ -233,14 +233,12 @@ const BUTTONS = [{ Object.entries(button).map(([k, v]) => [k, typeof v === 'function' ? v : () => v]) ) }) -console.log(BUTTONS) const StatusActionButtons = { props: ['status', 'replying'], emits: ['toggleReplying'], data () { return { - buttons: BUTTONS, showingConfirmDialog: false, currentConfirmTitle: '', currentConfirmOkText: '', @@ -251,6 +249,24 @@ const StatusActionButtons = { components: { ConfirmModal }, + computed: { + buttons () { + return BUTTONS.filter(x => x.if(this.funcArg)) + }, + funcArg () { + return { + status: this.status, + replying: this.replying, + emit: this.$emit, + dispatch: this.$store.dispatch, + state: this.$store.state, + getters: this.$store.getters, + router: this.$router, + currentUser: this.$store.state.users.currentUser, + loggedIn: !!this.$store.state.users.currentUser + } + } + }, methods: { doAction (button) { this.doActionReal(button) @@ -269,19 +285,6 @@ const StatusActionButtons = { return 'button' } }, - funcArg () { - return { - status: this.status, - replying: this.replying, - emit: this.$emit, - dispatch: this.$store.dispatch, - state: this.$store.state, - getters: this.$store.getters, - router: this.$router, - currentUser: this.$store.state.users.currentUser, - loggedIn: !!this.$store.state.users.currentUser - } - }, getClass (button) { return { [button.name() + '-button']: true, diff --git a/src/components/status_action_buttons/status_action_buttons.vue b/src/components/status_action_buttons/status_action_buttons.vue index 3950e22db..b779ea46b 100644 --- a/src/components/status_action_buttons/status_action_buttons.vue +++ b/src/components/status_action_buttons/status_action_buttons.vue @@ -4,7 +4,7 @@ -