Commit c9d6402c authored by Angelina Filippova's avatar Angelina Filippova

Add ability to delete status

parent 93866e78
...@@ -22,6 +22,15 @@ export async function changeStatusScope(id, sensitive, visibility, authHost, tok ...@@ -22,6 +22,15 @@ export async function changeStatusScope(id, sensitive, visibility, authHost, tok
}) })
} }
export async function deleteStatus(id, authHost, token) {
return await request({
baseURL: baseName(authHost),
url: `/api/pleroma/admin/statuses/${id}`,
method: 'delete',
headers: authHeaders(token)
})
}
export async function fetchReports(limit, max_id, authHost, token) { export async function fetchReports(limit, max_id, authHost, token) {
return await request({ return await request({
baseURL: baseName(authHost), baseURL: baseName(authHost),
......
...@@ -223,7 +223,8 @@ export default { ...@@ -223,7 +223,8 @@ export default {
public: 'Make status public', public: 'Make status public',
private: 'Make status private', private: 'Make status private',
unlisted: 'Make status unlisted', unlisted: 'Make status unlisted',
sensitive: 'Sensitive' sensitive: 'Sensitive',
deleteStatus: 'Delete status'
}, },
reportsFilter: { reportsFilter: {
inputPlaceholder: 'Select filter', inputPlaceholder: 'Select filter',
......
import { changeState, changeStatusScope, fetchReports, filterReports } from '@/api/reports' import { changeState, changeStatusScope, deleteStatus, fetchReports, filterReports } from '@/api/reports'
const reports = { const reports = {
state: { state: {
...@@ -40,6 +40,18 @@ const reports = { ...@@ -40,6 +40,18 @@ const reports = {
}) })
commit('SET_REPORTS', updatedReports) commit('SET_REPORTS', updatedReports)
}, },
async DeleteStatus({ commit, getters, state }, { statusId, reportId }) {
deleteStatus(statusId, getters.authHost, getters.token)
const updatedReports = state.fetchedReports.map(report => {
if (report.id === reportId) {
const statuses = report.statuses.filter(status => status.id !== statusId)
return { ...report, statuses }
} else {
return report
}
})
commit('SET_REPORTS', updatedReports)
},
async FetchReports({ commit, getters, state }) { async FetchReports({ commit, getters, state }) {
commit('SET_LOADING', true) commit('SET_LOADING', true)
const response = await fetchReports(state.page_limit, state.idOfLastReport, getters.authHost, getters.token) const response = await fetchReports(state.page_limit, state.idOfLastReport, getters.authHost, getters.token)
......
...@@ -38,6 +38,10 @@ ...@@ -38,6 +38,10 @@
@click.native="changeStatus(status.id, status.sensitive, 'unlisted', report.id)"> @click.native="changeStatus(status.id, status.sensitive, 'unlisted', report.id)">
{{ $t('reports.unlisted') }} {{ $t('reports.unlisted') }}
</el-dropdown-item> </el-dropdown-item>
<el-dropdown-item
@click.native="deleteStatus(status.id, report.id)">
{{ $t('reports.deleteStatus') }}
</el-dropdown-item>
</el-dropdown-menu> </el-dropdown-menu>
</el-dropdown> </el-dropdown>
</div> </div>
...@@ -74,6 +78,24 @@ export default { ...@@ -74,6 +78,24 @@ export default {
changeStatus(statusId, isSensitive, visibility, reportId) { changeStatus(statusId, isSensitive, visibility, reportId) {
this.$store.dispatch('ChangeStatusScope', { statusId, isSensitive, visibility, reportId }) this.$store.dispatch('ChangeStatusScope', { statusId, isSensitive, visibility, reportId })
}, },
deleteStatus(statusId, reportId) {
this.$confirm('Are you sure you want to delete this status?', 'Warning', {
confirmButtonText: 'OK',
cancelButtonText: 'Cancel',
type: 'warning'
}).then(() => {
this.$store.dispatch('DeleteStatus', { statusId, reportId })
this.$message({
type: 'success',
message: 'Delete completed'
})
}).catch(() => {
this.$message({
type: 'info',
message: 'Delete canceled'
})
})
},
getStatusesTitle(statuses) { getStatusesTitle(statuses) {
return `Reported statuses: ${statuses.length} item(s)` return `Reported statuses: ${statuses.length} item(s)`
}, },
......
...@@ -21,7 +21,7 @@ ...@@ -21,7 +21,7 @@
<span class="report-row-key">Account:</span> <span class="report-row-key">Account:</span>
<img <img
:src="report.account.avatar" :src="report.account.avatar"
alt="User's avatar" alt="avatar"
class="avatar-img"> class="avatar-img">
<a :href="report.account.url" target="_blank" class="account"> <a :href="report.account.url" target="_blank" class="account">
<span class="report-row-value">{{ report.account.acct }}</span> <span class="report-row-value">{{ report.account.acct }}</span>
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment