diff --git a/src/api/status.js b/src/api/status.js index 37f7e0c204dd07fcf91ff1ac0c4fd150985d7b98..fcc820e032a41fd9f95e12fb199e94462581ea8e 100644 --- a/src/api/status.js +++ b/src/api/status.js @@ -30,6 +30,15 @@ export async function fetchStatuses({ godmode, localOnly, authHost, token, pageS }) } +export async function fetchStatusesCount(authHost, token) { + return await request({ + baseURL: baseName(authHost), + url: `/api/pleroma/admin/stats`, + method: 'get', + headers: authHeaders(token) + }) +} + export async function fetchStatusesByInstance({ instance, authHost, token, pageSize, page }) { return await request({ baseURL: baseName(authHost), diff --git a/src/lang/en.js b/src/lang/en.js index 8b8e9ff7a6ec7f740b78f1e06524a77058d9f677..7311c0974944d3f6f49329b5c5fb2817d1d28eb6 100644 --- a/src/lang/en.js +++ b/src/lang/en.js @@ -241,12 +241,16 @@ export default { resendConfirmation: 'Resend confirmation email' }, statuses: { - statuses: 'Statuses by instance', + statuses: 'Statuses', instanceFilter: 'Instance filter', loadMore: 'Load more', noInstances: 'No other instances found', onlyLocalStatuses: 'Show only local statuses', - showPrivateStatuses: 'Show private statuses' + showPrivateStatuses: 'Show private statuses', + direct: 'Direct', + private: 'Private', + public: 'Public', + unlisted: 'Unlisted' }, userProfile: { tags: 'Tags', diff --git a/src/store/modules/status.js b/src/store/modules/status.js index e0cc5d9740b6d1ff7970d0662e80653f251071b6..8847e8bfd2716298278c1b33e4fc8c94ed7ee0b9 100644 --- a/src/store/modules/status.js +++ b/src/store/modules/status.js @@ -1,4 +1,4 @@ -import { changeStatusScope, deleteStatus, fetchStatuses, fetchStatusesByInstance } from '@/api/status' +import { changeStatusScope, deleteStatus, fetchStatuses, fetchStatusesCount, fetchStatusesByInstance } from '@/api/status' const status = { state: { @@ -12,7 +12,8 @@ const status = { pageSize: 20, buttonLoading: false, allLoaded: false - } + }, + statusVisibility: {} }, mutations: { CHANGE_GODMODE_CHECKBOX_VALUE: (state, value) => { @@ -41,6 +42,9 @@ const status = { }, SET_LOADING: (state, status) => { state.loading = status + }, + SET_STATUS_VISIBILITY: (state, visibility) => { + state.statusVisibility = visibility } }, actions: { @@ -64,6 +68,12 @@ const status = { dispatch('FetchStatusesByInstance') } }, + async FetchStatusesCount({ commit, getters }) { + commit('SET_LOADING', true) + const { data } = await fetchStatusesCount(getters.authHost, getters.token) + commit('SET_STATUS_VISIBILITY', data.status_visibility) + commit('SET_LOADING', false) + }, async FetchStatusesByInstance({ commit, getters, state, rootState }) { commit('SET_LOADING', true) if (state.statusesByInstance.selectedInstance === '') { diff --git a/src/views/emojiPacks/index.vue b/src/views/emojiPacks/index.vue index e13df39a35e236ece5b550335317d3c74bf1875f..2757e3a4cbc4acffbdd8552bf5309dddd058a4df 100644 --- a/src/views/emojiPacks/index.vue +++ b/src/views/emojiPacks/index.vue @@ -155,7 +155,7 @@ export default { margin: 0 30px; } .emoji-packs-header { - margin: 22px 0 20px 15px; + margin: 10px 0 20px 15px; } .import-pack-button { margin-left: 10px; diff --git a/src/views/invites/index.vue b/src/views/invites/index.vue index 2497bfc0d2189015b42013c5d8e99a392844d5f6..60111430f2d113b6a57da0ccbd653db1fd3c407d 100644 --- a/src/views/invites/index.vue +++ b/src/views/invites/index.vue @@ -246,7 +246,7 @@ export default { padding: 5px 20px 0 20px } h1 { - margin: 22px 0 0 15px; + margin: 10px 0 0 15px; } .icon { margin-right: 5px; diff --git a/src/views/moderation_log/index.vue b/src/views/moderation_log/index.vue index 2e249b806c55fdcc6a2cd2ae61f01b85984a1d61..9dcee370f5ab21de6d7f3ad50f11cad3fc09c28a 100644 --- a/src/views/moderation_log/index.vue +++ b/src/views/moderation_log/index.vue @@ -130,7 +130,7 @@ export default { margin: 0 15px; } h1 { - margin: 22px 0 20px 0; + margin: 10px 0 20px 0; } .el-timeline { margin: 25px 45px 0 0; diff --git a/src/views/reports/index.vue b/src/views/reports/index.vue index 64993da3c457a5472ad179190d1557437d44723f..729cbe641bfb5cecf338e0b36a40e15df62aa8eb 100644 --- a/src/views/reports/index.vue +++ b/src/views/reports/index.vue @@ -50,7 +50,7 @@ export default { padding-bottom: 0 } h1 { - margin: 22px 0 0 15px; + margin: 10px 0 0 15px; } .no-reports-message { color: gray; diff --git a/src/views/settings/styles/main.scss b/src/views/settings/styles/main.scss index 562308b5d0ba03a6dba215dd489ef48a7c6938c9..8e6cb4cf4e63cc25cf63d30b356e420855869869 100644 --- a/src/views/settings/styles/main.scss +++ b/src/views/settings/styles/main.scss @@ -444,7 +444,7 @@ margin: 0; } .settings-header-container { - margin: 15px; + margin: 10px 15px 15px 15px; } .nav-container { display: flex; diff --git a/src/views/statuses/index.vue b/src/views/statuses/index.vue index 74e3f55b90a327ac0146456ea4f5ef66a4a07b1a..88bfab6cefb8859eebe95c828dd1b3c667b33a88 100644 --- a/src/views/statuses/index.vue +++ b/src/views/statuses/index.vue @@ -3,6 +3,12 @@ <h1> {{ $t('statuses.statuses') }} </h1> + <el-button-group> + <el-button plain>{{ $t('statuses.direct') }}: {{ statusVisibility.direct }}</el-button> + <el-button plain>{{ $t('statuses.private') }}: {{ statusVisibility.private }}</el-button> + <el-button plain>{{ $t('statuses.public') }}: {{ statusVisibility.public }}</el-button> + <el-button plain>{{ $t('statuses.unlisted') }}: {{ statusVisibility.unlisted }}</el-button> + </el-button-group> <div class="filter-container"> <el-select v-model="selectedInstance" @@ -111,10 +117,14 @@ export default { }, statuses() { return this.$store.state.status.fetchedStatuses + }, + statusVisibility() { + return this.$store.state.status.statusVisibility } }, mounted() { this.$store.dispatch('FetchPeers') + this.$store.dispatch('FetchStatusesCount') }, methods: { handleFilterChange() { @@ -142,6 +152,9 @@ export default { <style rel='stylesheet/scss' lang='scss'> .statuses-container { padding: 0 15px; + h1 { + margin: 10px 0 15px 0; + } .status-container { margin: 0 0 10px; } @@ -163,9 +176,6 @@ export default { padding: 15px 0; text-align: center; } -h1 { - margin: 22px 0 0 0; -} @media only screen and (max-width:480px) { .checkbox-container { diff --git a/src/views/users/index.vue b/src/views/users/index.vue index 780f9b392abdfc3efbc993de405ed9c50fb9a380..d6b12e68d167d0e1102b19b305d2ca1e8bfd6c56 100644 --- a/src/views/users/index.vue +++ b/src/views/users/index.vue @@ -245,7 +245,7 @@ export default { } .users-container { h1 { - margin: 22px 0 0 15px; + margin: 10px 0 0 15px; } .pagination {