aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorShpuld Shpludson <shp@cock.li>2021-01-12 16:01:15 +0000
committerShpuld Shpludson <shp@cock.li>2021-01-12 16:01:15 +0000
commitf52bca04c9fe272daf81d4c4f839234ce6a80944 (patch)
tree610cd2803475c0ba4a50ca94bddf378b993ae77c /src
parent728726cf17b770f736ff3cba2896ee65e1d784cf (diff)
parent0ee0551a471266066050e059876ee24a4637c1ad (diff)
Merge branch 'feat/allow-reporting-status-directly' into 'develop'
Add report button to status ellipsis menu See merge request pleroma/pleroma-fe!1324
Diffstat (limited to 'src')
-rw-r--r--src/components/account_actions/account_actions.js2
-rw-r--r--src/components/extra_buttons/extra_buttons.js9
-rw-r--r--src/components/extra_buttons/extra_buttons.vue10
-rw-r--r--src/components/user_reporting_modal/user_reporting_modal.js10
-rw-r--r--src/modules/reports.js16
-rw-r--r--src/services/entity_normalizer/entity_normalizer.service.js1
6 files changed, 38 insertions, 10 deletions
diff --git a/src/components/account_actions/account_actions.js b/src/components/account_actions/account_actions.js
index 395d6685..e53c4f77 100644
--- a/src/components/account_actions/account_actions.js
+++ b/src/components/account_actions/account_actions.js
@@ -35,7 +35,7 @@ const AccountActions = {
this.$store.dispatch('unblockUser', this.user.id)
},
reportUser () {
- this.$store.dispatch('openUserReportingModal', this.user.id)
+ this.$store.dispatch('openUserReportingModal', { userId: this.user.id })
},
openChat () {
this.$router.push({
diff --git a/src/components/extra_buttons/extra_buttons.js b/src/components/extra_buttons/extra_buttons.js
index b5b29e8a..dd45b6b9 100644
--- a/src/components/extra_buttons/extra_buttons.js
+++ b/src/components/extra_buttons/extra_buttons.js
@@ -9,7 +9,8 @@ import {
faExternalLinkAlt
} from '@fortawesome/free-solid-svg-icons'
import {
- faBookmark as faBookmarkReg
+ faBookmark as faBookmarkReg,
+ faFlag
} from '@fortawesome/free-regular-svg-icons'
library.add(
@@ -19,7 +20,8 @@ library.add(
faEyeSlash,
faThumbtack,
faShareAlt,
- faExternalLinkAlt
+ faExternalLinkAlt,
+ faFlag
)
const ExtraButtons = {
@@ -66,6 +68,9 @@ const ExtraButtons = {
this.$store.dispatch('unbookmark', { id: this.status.id })
.then(() => this.$emit('onSuccess'))
.catch(err => this.$emit('onError', err.error.error))
+ },
+ reportStatus () {
+ this.$store.dispatch('openUserReportingModal', { userId: this.status.user.id, statusIds: [this.status.id] })
}
},
computed: {
diff --git a/src/components/extra_buttons/extra_buttons.vue b/src/components/extra_buttons/extra_buttons.vue
index dc790cad..e845d8fc 100644
--- a/src/components/extra_buttons/extra_buttons.vue
+++ b/src/components/extra_buttons/extra_buttons.vue
@@ -109,6 +109,16 @@
icon="external-link-alt"
/><span>{{ $t("status.external_source") }}</span>
</a>
+ <button
+ class="button-default dropdown-item dropdown-item-icon"
+ @click.prevent="reportStatus"
+ @click="close"
+ >
+ <FAIcon
+ fixed-width
+ :icon="['far', 'flag']"
+ /><span>{{ $t("user_card.report") }}</span>
+ </button>
</div>
</div>
<span
diff --git a/src/components/user_reporting_modal/user_reporting_modal.js b/src/components/user_reporting_modal/user_reporting_modal.js
index 38cf117b..8d171b2d 100644
--- a/src/components/user_reporting_modal/user_reporting_modal.js
+++ b/src/components/user_reporting_modal/user_reporting_modal.js
@@ -38,17 +38,23 @@ const UserReportingModal = {
},
statuses () {
return this.$store.state.reports.statuses
+ },
+ preTickedIds () {
+ return this.$store.state.reports.preTickedIds
}
},
watch: {
- userId: 'resetState'
+ userId: 'resetState',
+ preTickedIds (newValue) {
+ this.statusIdsToReport = newValue
+ }
},
methods: {
resetState () {
// Reset state
this.comment = ''
this.forward = false
- this.statusIdsToReport = []
+ this.statusIdsToReport = this.preTickedIds
this.processing = false
this.error = false
},
diff --git a/src/modules/reports.js b/src/modules/reports.js
index 904022f1..fea83e5f 100644
--- a/src/modules/reports.js
+++ b/src/modules/reports.js
@@ -4,12 +4,14 @@ const reports = {
state: {
userId: null,
statuses: [],
+ preTickedIds: [],
modalActivated: false
},
mutations: {
- openUserReportingModal (state, { userId, statuses }) {
+ openUserReportingModal (state, { userId, statuses, preTickedIds }) {
state.userId = userId
state.statuses = statuses
+ state.preTickedIds = preTickedIds
state.modalActivated = true
},
closeUserReportingModal (state) {
@@ -17,9 +19,15 @@ const reports = {
}
},
actions: {
- openUserReportingModal ({ rootState, commit }, userId) {
- const statuses = filter(rootState.statuses.allStatuses, status => status.user.id === userId)
- commit('openUserReportingModal', { userId, statuses })
+ openUserReportingModal ({ rootState, commit }, { userId, statusIds = [] }) {
+ const preTickedStatuses = statusIds.map(id => rootState.statuses.allStatusesObject[id])
+ const preTickedIds = statusIds
+ const statuses = preTickedStatuses.concat(
+ filter(rootState.statuses.allStatuses,
+ status => status.user.id === userId && !preTickedIds.includes(status.id)
+ )
+ )
+ commit('openUserReportingModal', { userId, statuses, preTickedIds })
},
closeUserReportingModal ({ commit }) {
commit('closeUserReportingModal')
diff --git a/src/services/entity_normalizer/entity_normalizer.service.js b/src/services/entity_normalizer/entity_normalizer.service.js
index 206e6281..625f593e 100644
--- a/src/services/entity_normalizer/entity_normalizer.service.js
+++ b/src/services/entity_normalizer/entity_normalizer.service.js
@@ -201,7 +201,6 @@ export const parseUser = (data) => {
// Convert punycode to unicode
if (output.screen_name.includes('@')) {
const parts = output.screen_name.split('@')
- console.log(parts)
let unicodeDomain = punycode.toUnicode(parts[1])
if (unicodeDomain !== parts[1]) {
// Add some identifier so users can potentially spot spoofing attempts: