diff --git a/.node-version b/.node-version index 1fc51668f..9be0c7058 100644 --- a/.node-version +++ b/.node-version @@ -1 +1 @@ -18.20.6 +18.20.7 diff --git a/package.json b/package.json index 3e07e0a85..965204fc9 100644 --- a/package.json +++ b/package.json @@ -34,7 +34,7 @@ "click-outside-vue3": "4.0.1", "cropperjs": "1.6.2", "escape-html": "1.0.3", - "globals": "^15.14.0", + "globals": "^16.0.0", "hash-sum": "^2.0.0", "js-cookie": "3.0.5", "localforage": "1.10.0", diff --git a/public/static/styles/Redmond DX.iss b/public/static/styles/Redmond DX.iss index 08d9103ff..919be056b 100644 --- a/public/static/styles/Redmond DX.iss +++ b/public/static/styles/Redmond DX.iss @@ -129,6 +129,21 @@ PanelHeader { background: --fg } +PanelHeader ButtonUnstyled Icon { + textColor: --text; + textAuto: 'no-preserve' +} + +PanelHeader Button Icon { + textColor: --text; + textAuto: 'no-preserve' +} + +PanelHeader Button Text { + textColor: --text; + textAuto: 'no-preserve' +} + Tab:hover { background: --bg; shadow: --buttonDefaultBevel @@ -172,6 +187,14 @@ MenuItem:hover { background: --fg } +MenuItem:active { + background: --fg +} + +MenuItem:active:hover { + background: --fg +} + Popover { shadow: --buttonDefaultBevel, 5 5 0 0 #000000 / 0.2; roundness: 0 diff --git a/src/components/status/status.vue b/src/components/status/status.vue index e78b0931a..d0af91aef 100644 --- a/src/components/status/status.vue +++ b/src/components/status/status.vue @@ -540,6 +540,7 @@ :status="status" :replying="replying" @toggle-replying="toggleReplying" + @interacted="e => $emit('interacted')" /> diff --git a/src/components/status_action_buttons/action_button.js b/src/components/status_action_buttons/action_button.js index 87c5bb1e5..07affaafe 100644 --- a/src/components/status_action_buttons/action_button.js +++ b/src/components/status_action_buttons/action_button.js @@ -67,6 +67,9 @@ export default { 'doAction', 'outerClose' ], + emits: [ + 'interacted' + ], components: { StatusBookmarkFolderMenu, EmojiPicker, @@ -120,7 +123,8 @@ export default { this.$store.dispatch('reactWithEmoji', { id: this.status.id, emoji }) } }, - doActionWrap (button, close) { + doActionWrap (button, close = () => {}) { + this.$emit('interacted') if (button.name === 'emoji') { this.$refs.picker.showPicker() } else { diff --git a/src/components/status_action_buttons/action_button_container.js b/src/components/status_action_buttons/action_button_container.js index bd91b9404..313e3022f 100644 --- a/src/components/status_action_buttons/action_button_container.js +++ b/src/components/status_action_buttons/action_button_container.js @@ -22,6 +22,7 @@ export default { MuteConfirm }, props: ['button', 'status'], + emits: ['interacted'], mounted () { if (this.button.name === 'mute') { this.$store.dispatch('fetchDomainMutes') diff --git a/src/components/status_action_buttons/action_button_container.vue b/src/components/status_action_buttons/action_button_container.vue index deada02ae..931a40349 100644 --- a/src/components/status_action_buttons/action_button_container.vue +++ b/src/components/status_action_buttons/action_button_container.vue @@ -79,6 +79,7 @@ :button="button" :status="status" v-bind="$attrs" + @interacted="e => $emit('interacted')" /> delete originalStatus[p]) + useStatusHistoryStore().openStatusHistoryModal(originalStatus) + return Promise.resolve() + } }, { // ========= // EDIT @@ -216,8 +247,8 @@ export const BUTTONS = [{ icon: 'flag', label: 'user_card.report', if: ({ loggedIn }) => loggedIn, - action ({ dispatch, status }) { - dispatch('openUserReportingModal', { userId: status.user.id, statusIds: [status.id] }) + action ({ status }) { + return useReportsStore().openUserReportingModal({ userId: status.user.id, statusIds: [status.id] }) } }].map(button => { return Object.fromEntries( diff --git a/src/components/status_action_buttons/status_action_buttons.js b/src/components/status_action_buttons/status_action_buttons.js index 622f21ca5..6d4e4fbc0 100644 --- a/src/components/status_action_buttons/status_action_buttons.js +++ b/src/components/status_action_buttons/status_action_buttons.js @@ -18,7 +18,7 @@ library.add( const StatusActionButtons = { props: ['status', 'replying'], - emits: ['toggleReplying'], + emits: ['toggleReplying', 'interacted'], data () { return { showPin: false, diff --git a/src/components/status_action_buttons/status_action_buttons.vue b/src/components/status_action_buttons/status_action_buttons.vue index 6d5cd190c..8df6369b5 100644 --- a/src/components/status_action_buttons/status_action_buttons.vue +++ b/src/components/status_action_buttons/status_action_buttons.vue @@ -17,6 +17,7 @@ :get-component="getComponent" :close="() => {}" :do-action="doAction" + @interacted="e => $emit('interacted')" />