fix(viewer): replace text arrow share icon with SVG share glyph

Co-Authored-By: Claude Code <noreply@anthropic.com>
This commit is contained in:
浅念
2026-09-22 13:55:37 +08:00
parent 900ff2a74d
commit b353a3de06
54 changed files with 2130 additions and 14 deletions
@@ -184,9 +184,14 @@ onBeforeUnmount(() => {
<header class="album-info">
<div class="title-row">
<h1 ref="titleEl" class="title" :class="{ clamped: !titleExpanded }">{{ album.translation.title }}</h1>
<!-- 参考稿:44px 主色圆钮 + 白 ↗ 图标(文案由 aria-label 承载) -->
<!-- 44px 主色圆钮 + 白色 SVG 分享图标(aria-label 承载文案) -->
<button type="button" class="share-btn" :aria-label="t('viewer.shareAlbum')" @click="share">
<span class="share-icon" aria-hidden="true">↗</span>
<svg class="share-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true">
<circle cx="18" cy="5" r="3.2"/>
<circle cx="6" cy="12" r="3.2"/>
<circle cx="18" cy="19" r="3.2"/>
<path d="m8.6 13.5 6.8 4M15.4 6.5l-6.8 4"/>
</svg>
</button>
</div>
<button v-if="titleClamped" type="button" class="text-expand" @click="titleExpanded = !titleExpanded">
@@ -327,7 +332,7 @@ onBeforeUnmount(() => {
-webkit-line-clamp: 2;
overflow: hidden;
}
/* 参考稿:44px 主色圆形分享钮(白 ↗,无边框) */
/* 44px 主色圆形分享钮(白色 SVG 分享图标) */
.share-btn {
flex: none;
display: inline-flex;
@@ -348,10 +353,9 @@ onBeforeUnmount(() => {
filter: brightness(0.94);
}
.share-icon {
font-size: 1.25rem;
line-height: 1;
/* 视觉基线微调:↗ 略下沉 */
transform: translateY(-1px);
width: 20px;
height: 20px;
}
}
.share-btn:focus-visible {
outline: 2px solid var(--viewer-primary, #1a73e8);