aboutsummaryrefslogtreecommitdiff
path: root/src/components/conversation/conversation.js
diff options
context:
space:
mode:
authorHenry Jameson <me@hjkos.com>2019-03-09 18:33:49 +0200
committerHenry Jameson <me@hjkos.com>2019-03-09 18:33:49 +0200
commit49b0f0a04a74039a1b82fbde731828e599123e93 (patch)
tree036888647c5540a7e3464c9e7544cfadb2d25648 /src/components/conversation/conversation.js
parent09736691ea79e66c9e41d6f723384769088eb2d0 (diff)
Fetching convos via MastoAPI. Had to change conversation component a bit for
better support, since MastoAPI doesn't have coversation ids
Diffstat (limited to 'src/components/conversation/conversation.js')
-rw-r--r--src/components/conversation/conversation.js23
1 files changed, 12 insertions, 11 deletions
diff --git a/src/components/conversation/conversation.js b/src/components/conversation/conversation.js
index 48b8aaaa..fd4303ca 100644
--- a/src/components/conversation/conversation.js
+++ b/src/components/conversation/conversation.js
@@ -25,7 +25,8 @@ const sortAndFilterConversation = (conversation) => {
const conversation = {
data () {
return {
- highlight: null
+ highlight: null,
+ relevantIds: []
}
},
props: [
@@ -48,9 +49,11 @@ const conversation = {
return []
}
- const conversationId = this.status.statusnet_conversation_id
- const statuses = this.$store.state.statuses.allStatuses
- const conversation = filter(statuses, { statusnet_conversation_id: conversationId })
+ const statusesObject = this.$store.state.statuses.allStatusesObject
+ const conversation = this.relevantIds.reduce((acc, id) => {
+ acc.push(statusesObject[id])
+ return acc
+ }, [])
return sortAndFilterConversation(conversation)
},
replies () {
@@ -83,15 +86,13 @@ const conversation = {
methods: {
fetchConversation () {
if (this.status) {
- const conversationId = this.status.statusnet_conversation_id
+ const conversationId = this.status.id
this.$store.state.api.backendInteractor.fetchConversation({id: conversationId})
- .then((statuses) => this.$store.dispatch('addNewStatuses', { statuses }))
+ .then((statuses) => {
+ this.$store.dispatch('addNewStatuses', { statuses })
+ statuses.forEach(status => this.relevantIds.push(status.id))
+ })
.then(() => this.setHighlight(this.statusId))
- } else {
- const id = this.$route.params.id
- this.$store.state.api.backendInteractor.fetchStatus({id})
- .then((status) => this.$store.dispatch('addNewStatuses', { statuses: [status] }))
- .then(() => this.fetchConversation())
}
},
getReplies (id) {