diff --git a/src/components/Comments.astro b/src/components/Comments.astro index b09d335..ab71c9e 100644 --- a/src/components/Comments.astro +++ b/src/components/Comments.astro @@ -141,6 +141,10 @@ const showPrivate = isOptionOn('open_private_message'); }); } + function truthy(v) { + return v === true || v === 1 || v === '1' || v === 'true'; + } + function timeSince(ts) { var diff = Date.now() - ts; var m = 60000, h = 60*m, d = 24*h; @@ -208,17 +212,31 @@ const showPrivate = isOptionOn('open_private_message'); return '/images/avatar.jpg'; } + var masterTag = '博主'; + + function loadConfig() { + return callApi('GET_CONFIG').then(function (res) { + if (!res || (res.code && res.code !== 0)) return; + if (res.config && res.config.MASTER_TAG) masterTag = res.config.MASTER_TAG; + }).catch(function () {}); + } + /* ============ 渲染单条评论 —— 同 akina_comment_format ============ */ function renderCommentItem(c) { var url = c.link ? escapeHtml(c.link) : 'javascript:;'; var nick = escapeHtml(c.nick || '匿名'); var avatar80 = getAvatar(c, 80); var avatar24 = getAvatar(c, 48); - var master = c.master ? ' 博主' : ''; + var isMaster = truthy(c.master) || truthy(c.isAdmin) || truthy(c.admin); + var master = isMaster ? ' ' + escapeHtml(masterTag) + '' : ''; + var commentClass = 'comment' + (isMaster ? ' bypostauthor' : ''); + var replyAt = c.pid + ? '@' + escapeHtml(c.ruser || '') + '
' + : ''; var uaHtml = uaIcons(c); return '' + - '
  • ' + + '
  • ' + '
    ' + '
    ' + '
    ' + @@ -250,7 +268,7 @@ const showPrivate = isOptionOn('open_private_message'); '' + '
    ' + '
    ' + - (c.ruser ? '@' + escapeHtml(c.ruser) + ' ' : '') + + replyAt + (c.comment || '') + '
    ' + '
    ' + @@ -297,7 +315,7 @@ const showPrivate = isOptionOn('open_private_message'); }); } - refresh(); + loadConfig().then(refresh); /* ============ 提交评论 ============ */ var form = document.getElementById('twikoo-form');