You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
46 lines
1.3 KiB
46 lines
1.3 KiB
9 months ago
|
- const { envId, region, option } = theme.twikoo
|
||
|
- const { use, lazyload, count } = theme.comments
|
||
|
|
||
|
script.
|
||
|
(() => {
|
||
|
const init = () => {
|
||
|
twikoo.init(Object.assign({
|
||
|
el: '#twikoo-wrap',
|
||
|
envId: '!{envId}',
|
||
|
region: '!{region}',
|
||
|
onCommentLoaded: () => {
|
||
|
btf.loadLightbox(document.querySelectorAll('#twikoo .tk-content img:not(.tk-owo-emotion)'))
|
||
|
}
|
||
|
}, !{JSON.stringify(option)}))
|
||
|
}
|
||
|
|
||
|
const loadTwikoo = () => {
|
||
|
if (typeof twikoo === 'object') setTimeout(init,0)
|
||
|
else getScript('!{url_for(theme.asset.twikoo)}').then(init)
|
||
|
}
|
||
|
|
||
|
const getCount = () => {
|
||
|
const countELement = document.getElementById('twikoo-count')
|
||
|
if(!countELement) return
|
||
|
twikoo.getCommentsCount({
|
||
|
envId: '!{envId}',
|
||
|
region: '!{region}',
|
||
|
urls: [window.location.pathname],
|
||
|
includeReply: false
|
||
|
}).then(res => {
|
||
|
countELement.textContent = res[0].count
|
||
|
}).catch(err => {
|
||
|
console.error(err)
|
||
|
})
|
||
|
}
|
||
|
|
||
|
if ('!{use[0]}' === 'Twikoo' || !!{lazyload}) {
|
||
|
if (!{lazyload}) btf.loadComment(document.getElementById('twikoo-wrap'), loadTwikoo)
|
||
|
else {
|
||
|
loadTwikoo()
|
||
|
!{count ? 'GLOBAL_CONFIG_SITE.isPost && getCount()' : ''}
|
||
|
}
|
||
|
} else {
|
||
|
window.loadOtherComment = loadTwikoo
|
||
|
}
|
||
|
})()
|