Fix badges
This commit is contained in:
parent
877a567a15
commit
af3f74f4b0
@ -4,6 +4,7 @@ import { ref, inject } from 'vue'
|
|||||||
import BadgeVue from './ChatBadge.vue'
|
import BadgeVue from './ChatBadge.vue'
|
||||||
import { getBadges } from '@/assets/badges'
|
import { getBadges } from '@/assets/badges'
|
||||||
import { parseMessage } from '@/assets/messageParser'
|
import { parseMessage } from '@/assets/messageParser'
|
||||||
|
import { getEndpoint } from '@/mixins'
|
||||||
|
|
||||||
import type { Badge, ParsedMessage } from '@/assets/types'
|
import type { Badge, ParsedMessage } from '@/assets/types'
|
||||||
|
|
||||||
@ -22,9 +23,15 @@ export default {
|
|||||||
},
|
},
|
||||||
async setup(props) {
|
async setup(props) {
|
||||||
let messages = ref<ParsedMessage[]>([])
|
let messages = ref<ParsedMessage[]>([])
|
||||||
let badges = ref<Badge[]>([])
|
let badges: Badge[] = []
|
||||||
let wsLink = inject('wsLink') as string
|
let wsLink = inject('wsLink') as string
|
||||||
|
|
||||||
|
await getEndpoint(`api/badges?channelName=${props.channelName}`)
|
||||||
|
.then((data) => {
|
||||||
|
console.log(data)
|
||||||
|
badges = data
|
||||||
|
})
|
||||||
|
|
||||||
|
|
||||||
return {
|
return {
|
||||||
ws: new WebSocket(wsLink),
|
ws: new WebSocket(wsLink),
|
||||||
@ -32,7 +39,7 @@ export default {
|
|||||||
badges,
|
badges,
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
mounted() {
|
async mounted() {
|
||||||
const chatList = this.$refs.chatList as Element
|
const chatList = this.$refs.chatList as Element
|
||||||
const chatStatusMessage = this.$refs.initConnectingStatus as Element
|
const chatStatusMessage = this.$refs.initConnectingStatus as Element
|
||||||
this.ws.onmessage = (message) => {
|
this.ws.onmessage = (message) => {
|
||||||
@ -61,7 +68,7 @@ export default {
|
|||||||
this.messages.shift()
|
this.messages.shift()
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
getBadges(message: ParsedMessage) {
|
getBadgesFromMessage(message: ParsedMessage) {
|
||||||
let badgesString = message.data.tags.badges;
|
let badgesString = message.data.tags.badges;
|
||||||
if (!badgesString) return;
|
if (!badgesString) return;
|
||||||
let badges = badgesString.split(',');
|
let badges = badgesString.split(',');
|
||||||
@ -103,7 +110,7 @@ export default {
|
|||||||
<p class="text-sm items-center">
|
<p class="text-sm items-center">
|
||||||
|
|
||||||
<ul class="inline-flex space-x-1 pr-1">
|
<ul class="inline-flex space-x-1 pr-1">
|
||||||
<li v-for="badge in getBadges(message)" :key="badge.id">
|
<li v-for="badge in getBadgesFromMessage(message)" :key="badge.id">
|
||||||
<badge-vue :badge-info="badge"></badge-vue>
|
<badge-vue :badge-info="badge"></badge-vue>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user