Merge branch 'master' of github.com:hackersanddesigners/chatty-pub
This commit is contained in:
commit
80ebc50514
2 changed files with 27 additions and 16 deletions
|
|
@ -102,18 +102,18 @@ export default {
|
|||
switch (event.type) {
|
||||
|
||||
case 'message':
|
||||
switch (event.message.subject) {
|
||||
case 'content':
|
||||
this.$store.commit('addMessage', event.message)
|
||||
break
|
||||
case 'rules':
|
||||
this.$store.commit('addRule', event.message)
|
||||
break
|
||||
if (event.message.subject == 'rules') {
|
||||
this.$store.commit('addRule', event.message)
|
||||
} else {
|
||||
this.$store.commit('addMessage', event.message)
|
||||
}
|
||||
break
|
||||
|
||||
case 'delete_message':
|
||||
this.$store.commit('deleteMessage', event.message_id)
|
||||
this.$store.commit('deleteMessage', {
|
||||
subject: event.topic,
|
||||
mid: event.message_id
|
||||
})
|
||||
break
|
||||
|
||||
case 'update_message':
|
||||
|
|
|
|||
|
|
@ -115,20 +115,29 @@ export default createStore({
|
|||
}
|
||||
}
|
||||
},
|
||||
deleteMessage: (state, mid) => {
|
||||
const message = state.contents.find(m => m.id == mid)
|
||||
if (message) {
|
||||
state.contents.splice(state.contents.indexOf(message), 1)
|
||||
deleteMessage: (state, { mid, subject }) => {
|
||||
const topic = state.topics.find(t => t.title == subject)
|
||||
if (topic) {
|
||||
const message = topic.messages.find(m => m.id == mid)
|
||||
if (message) {
|
||||
topic.messages.splice(topic.messages.indexOf(message), 1)
|
||||
}
|
||||
}
|
||||
},
|
||||
addReaction: (state, { mid, reaction }) => {
|
||||
const message = state.contents.find(m => m.id == mid)
|
||||
const message = state.topics
|
||||
.map(t => t.messages)
|
||||
.flat()
|
||||
.find(m => m.id == mid)
|
||||
if (message) {
|
||||
message.reactions.push(reaction)
|
||||
}
|
||||
},
|
||||
removeReaction: (state, { mid, reaction }) => {
|
||||
const message = state.contents.find(m => m.id == mid)
|
||||
const message = state.topics
|
||||
.map(t => t.messages)
|
||||
.flat()
|
||||
.find(m => m.id == mid)
|
||||
if (message) {
|
||||
message.reactions.splice(message.reactions.indexOf(reaction), 1)
|
||||
}
|
||||
|
|
@ -145,13 +154,15 @@ export default createStore({
|
|||
addRule: (state, rule) => {
|
||||
if (toCSS(rule) !== null) {
|
||||
// state.rules.push(toCSS(rule, state.currentStream))
|
||||
|
||||
// vue will not update if i use rules.push(rule)
|
||||
state.rules = [...state.rules,...[toCSS(rule, state.currentStream)]]
|
||||
}
|
||||
},
|
||||
editMessage: (state, { mid, content }) => {
|
||||
const message = state.contents.find(m => m.id == mid)
|
||||
const message = state.topics
|
||||
.map(t => t.messages)
|
||||
.flat()
|
||||
.find(m => m.id == mid)
|
||||
const rule = state.rules.find(r => r.id == mid)
|
||||
if (message) {
|
||||
message.content = content
|
||||
|
|
|
|||
Loading…
Reference in a new issue