From 1a333aabba759fb68449ead9c47e986f456e8c8c Mon Sep 17 00:00:00 2001 From: Sean King Date: Tue, 7 Jun 2022 21:31:48 -0600 Subject: Add edit status functionality --- src/modules/api.js | 2 ++ src/modules/editStatus.js | 25 +++++++++++++++++++++++++ src/modules/statuses.js | 6 ++++++ 3 files changed, 33 insertions(+) create mode 100644 src/modules/editStatus.js (limited to 'src/modules') diff --git a/src/modules/api.js b/src/modules/api.js index 54f94356..e23cc030 100644 --- a/src/modules/api.js +++ b/src/modules/api.js @@ -100,6 +100,8 @@ const api = { showImmediately: timelineData.visibleStatuses.length === 0, timeline: 'friends' }) + } else if (message.event === 'status.update') { + // Insert dispatch code here. } else if (message.event === 'delete') { dispatch('deleteStatusById', message.id) } else if (message.event === 'pleroma:chat_update') { diff --git a/src/modules/editStatus.js b/src/modules/editStatus.js new file mode 100644 index 00000000..fd316519 --- /dev/null +++ b/src/modules/editStatus.js @@ -0,0 +1,25 @@ +const editStatus = { + state: { + params: null, + modalActivated: false + }, + mutations: { + openEditStatusModal (state, params) { + state.params = params + state.modalActivated = true + }, + closeEditStatusModal (state) { + state.modalActivated = false + } + }, + actions: { + openEditStatusModal ({ commit }, params) { + commit('openEditStatusModal', params) + }, + closeEditStatusModal ({ commit }) { + commit('closeEditStatusModal') + } + } +} + +export default editStatus diff --git a/src/modules/statuses.js b/src/modules/statuses.js index a13930e9..19220442 100644 --- a/src/modules/statuses.js +++ b/src/modules/statuses.js @@ -248,6 +248,9 @@ const addNewStatuses = (state, { statuses, showImmediately = false, timeline, us 'status': (status) => { addStatus(status, showImmediately) }, + 'edit': (status) => { + addStatus(status, showImmediately) + }, 'retweet': (status) => { // RetweetedStatuses are never shown immediately const retweetedStatus = addStatus(status.retweeted_status, false, false) @@ -600,6 +603,9 @@ const statuses = { return rootState.api.backendInteractor.fetchStatus({ id }) .then((status) => dispatch('addNewStatuses', { statuses: [status] })) }, + fetchStatusSource ({ rootState, dispatch }, status) { + return apiService.fetchStatusSource({ id: status.id, credentials: rootState.users.currentUser.credentials }) + }, deleteStatus ({ rootState, commit }, status) { commit('setDeleted', { status }) apiService.deleteStatus({ id: status.id, credentials: rootState.users.currentUser.credentials }) -- cgit v1.2.3-70-g09d2 From bb5aed09cf0fcdaf9e2e2974bfe44888f43f14fa Mon Sep 17 00:00:00 2001 From: Tusooa Zhu Date: Sat, 11 Jun 2022 12:20:11 -0400 Subject: Display edited status --- src/modules/api.js | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'src/modules') diff --git a/src/modules/api.js b/src/modules/api.js index e23cc030..d123dd7e 100644 --- a/src/modules/api.js +++ b/src/modules/api.js @@ -101,7 +101,12 @@ const api = { timeline: 'friends' }) } else if (message.event === 'status.update') { - // Insert dispatch code here. + dispatch('addNewStatuses', { + statuses: [message.status], + userId: false, + showImmediately: message.status.id in timelineData.visibleStatusesObject, + timeline: 'friends' + }) } else if (message.event === 'delete') { dispatch('deleteStatusById', message.id) } else if (message.event === 'pleroma:chat_update') { -- cgit v1.2.3-70-g09d2 From fa5d35523dd081b6948d38325374cac5707b7868 Mon Sep 17 00:00:00 2001 From: Sean King Date: Mon, 20 Jun 2022 22:52:08 -0600 Subject: Add ability to view status history for edited statuses --- src/App.js | 2 + src/App.vue | 1 + src/components/extra_buttons/extra_buttons.js | 23 ++++++++- src/components/extra_buttons/extra_buttons.vue | 11 ++++ .../status_history_modal/status_history_modal.js | 60 ++++++++++++++++++++++ .../status_history_modal/status_history_modal.vue | 46 +++++++++++++++++ src/i18n/en.json | 3 +- src/main.js | 2 + src/modules/statusHistory.js | 25 +++++++++ src/modules/statuses.js | 3 ++ src/services/api/api.service.js | 17 +++--- .../entity_normalizer/entity_normalizer.service.js | 6 ++- 12 files changed, 186 insertions(+), 13 deletions(-) create mode 100644 src/components/status_history_modal/status_history_modal.js create mode 100644 src/components/status_history_modal/status_history_modal.vue create mode 100644 src/modules/statusHistory.js (limited to 'src/modules') diff --git a/src/App.js b/src/App.js index 6e0e34a8..af638a1c 100644 --- a/src/App.js +++ b/src/App.js @@ -13,6 +13,7 @@ import DesktopNav from './components/desktop_nav/desktop_nav.vue' import UserReportingModal from './components/user_reporting_modal/user_reporting_modal.vue' import EditStatusModal from './components/edit_status_modal/edit_status_modal.vue' import PostStatusModal from './components/post_status_modal/post_status_modal.vue' +import StatusHistoryModal from './components/status_history_modal/status_history_modal.vue' import GlobalNoticeList from './components/global_notice_list/global_notice_list.vue' import { windowWidth, windowHeight } from './services/window_utils/window_utils' import { mapGetters } from 'vuex' @@ -37,6 +38,7 @@ export default { UserReportingModal, PostStatusModal, EditStatusModal, + StatusHistoryModal, GlobalNoticeList }, data: () => ({ diff --git a/src/App.vue b/src/App.vue index 9484f993..1b513e08 100644 --- a/src/App.vue +++ b/src/App.vue @@ -53,6 +53,7 @@ +