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
- 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 |
|
} |
|
})() |