pleroma-fe/src/components/banner/banner.js

34 lines
856 B
JavaScript

const Banner = {
data: function () {
return {
url: 'https://neckbeard.xyz',
imageUrl: '/static/banner.png',
imageSrc: '/static/banner.png',
timer: ''
}
},
created () {
this.updateBanner()
this.timer = setInterval(this.updateBanner, 300000)
},
beforeDestroy () {
clearInterval(this.timer)
},
methods: {
updateBanner () {
const componentThis = this
const req = new XMLHttpRequest()
req.addEventListener('load', function () {
const json = JSON.parse(this.responseText)
componentThis.url = json.bannerUrl
console.log('new banner: ' + componentThis.url)
componentThis.imageSrc = componentThis.imageUrl + '?bustcache=' + (new Date()).getTime()
})
req.open('GET', '/static/config.json')
req.send()
}
}
}
export default Banner