diff --git a/frontend_nuxt/components/ReactionsGroup.vue b/frontend_nuxt/components/ReactionsGroup.vue index 58b145330..2c983f93d 100644 --- a/frontend_nuxt/components/ReactionsGroup.vue +++ b/frontend_nuxt/components/ReactionsGroup.vue @@ -14,7 +14,7 @@ :class="{ selected: userReacted(r.type) }" @click="toggleReaction(r.type)" > - +
{{ counts[r.type] }}
@@ -220,6 +220,7 @@ onMounted(async () => { align-items: center; width: 100%; justify-content: space-between; + flex-wrap: wrap; } .reactions-viewer { @@ -229,6 +230,12 @@ onMounted(async () => { align-items: center; } +.reaction-emoji { + width: 20px; + height: 20px; + vertical-align: middle; +} + .reactions-viewer-item-container { display: flex; flex-direction: row; @@ -337,5 +344,23 @@ onMounted(async () => { font-size: 16px; padding: 3px 5px; } + + .reactions-viewer-item.placeholder, + .reactions-viewer-single-item { + padding: 4px 8px; + gap: 3px; + border: 1px solid var(--normal-border-color); + border-radius: 10px; + margin-right: 3px; + margin-bottom: 3px; + font-size: 12px; + color: var(--text-color); + align-items: center; + } + + .reaction-emoji { + width: 14px; + height: 14px; + } } diff --git a/frontend_nuxt/pages/users/[id].vue b/frontend_nuxt/pages/users/[id].vue index 3bdf81c29..12d47c45c 100644 --- a/frontend_nuxt/pages/users/[id].vue +++ b/frontend_nuxt/pages/users/[id].vue @@ -895,6 +895,7 @@ watch(selectedTab, async (val) => { font-weight: bold; color: var(--primary-color); text-decoration: none; + word-break: break-word; } .timeline-link:hover { @@ -969,9 +970,5 @@ watch(selectedTab, async (val) => { .hot-tag { width: 100%; } - - .profile-timeline { - width: calc(100vw - 40px); - } } diff --git a/frontend_nuxt/public/googlea6f18c4a543fb356.html b/frontend_nuxt/public/googlea6f18c4a543fb356.html new file mode 100644 index 000000000..aed8c3c8b --- /dev/null +++ b/frontend_nuxt/public/googlea6f18c4a543fb356.html @@ -0,0 +1 @@ +google-site-verification: googlea6f18c4a543fb356.html diff --git a/frontend_nuxt/utils/reactions.js b/frontend_nuxt/utils/reactions.js index a025ce8bc..84e9196cf 100644 --- a/frontend_nuxt/utils/reactions.js +++ b/frontend_nuxt/utils/reactions.js @@ -2,7 +2,11 @@ const toCdnUrl = (emoji) => { const codepoints = Array.from(emoji) .map((c) => c.codePointAt(0).toString(16)) .join('_') - return `https://fonts.gstatic.com/s/e/notoemoji/latest/${codepoints}/emoji.svg` + // 国外镜像有点小卡 (=゚ω゚)ノ, 国内大部分地区访问时会触发 SNI 封锁 / DNS 污染 + // return `https://fonts.gstatic.com/s/e/notoemoji/latest/${codepoints}/emoji.svg` + + // loli.net(即字节系开源社区 mirror,比如 jsDelivr 中国优化节点背后的 CDN 体系). 不会被墙 + return `https://gstatic.loli.net/s/e/notoemoji/latest/${codepoints}/emoji.svg` } export const reactionEmojiMap = { diff --git a/frontend_nuxt/utils/tiebaEmoji.js b/frontend_nuxt/utils/tiebaEmoji.js index bf3a9074a..2ed46ae38 100644 --- a/frontend_nuxt/utils/tiebaEmoji.js +++ b/frontend_nuxt/utils/tiebaEmoji.js @@ -1,6 +1,9 @@ +// cdn.jsdelivr.net/gh/... 国内容易抽风 +// export const TIEBA_EMOJI_CDN = 'https://cdn.jsdelivr.net/gh/microlong666/tieba_mobile_emotions@master/' + +// Finally方案: 自托管 export const TIEBA_EMOJI_CDN = - 'https://cdn.jsdelivr.net/gh/microlong666/tieba_mobile_emotions@master/' -// export const TIEBA_EMOJI_CDN = 'https://openisle-1307107697.cos.ap-guangzhou.myqcloud.com/assert/vditor/dist/images/emoji/' + 'https://openisle-1307107697.cos.ap-guangzhou.myqcloud.com/assert/tieba/' export const tiebaEmoji = (() => { const map = { tieba1: TIEBA_EMOJI_CDN + 'image_emoticon.png' }