fix(mobile): replace emoji glyphs with uni-icons and flex centering app-wide

- ChatComposer panel contract: callers now pass uni-icons type names
  (image/sound/list/help/checkmark) instead of emoji
- voice playback buttons: sound icon + pulse animation, no more 🔊/◼ chars
- practice recent list: rare symbols ⌕⌁◉ (tofu risk) -> wallet/gear/chatbubble
- sop resource icon ▶/文 -> 视/文 character badges
- back arrows: 22 char-based ← -> uni-icons back across 21 pages
- line-height centering -> flex in 8 spots (back buttons, media-remove,
  turn-voice capsule, option-marker, text-button, play-question)
This commit is contained in:
2026-07-19 20:16:05 +08:00
parent 925b48e436
commit c47bf748cb
25 changed files with 101 additions and 56 deletions
@@ -77,21 +77,21 @@
:disabled="disabled || item.disabled"
@click="panelAction(item.key)"
>
<text class="panel-item-icon">{{ item.icon }}</text>
<view class="panel-item-icon"><uni-icons :type="item.icon" size="24" color="#3a4350" /></view>
<text class="panel-item-label">{{ item.label }}</text>
</button>
</template>
<template v-else>
<button class="panel-item" :disabled="disabled" @click="panelEmit('pick-media')">
<text class="panel-item-icon">🖼</text>
<view class="panel-item-icon"><uni-icons type="image" size="24" color="#3a4350" /></view>
<text class="panel-item-label">图片/视频</text>
</button>
<button class="panel-item" :disabled="disabled || transcribing" @click="panelEmit('pick-audio')">
<text class="panel-item-icon">🎵</text>
<view class="panel-item-icon"><uni-icons type="sound" size="24" color="#3a4350" /></view>
<text class="panel-item-label">选音频转文字</text>
</button>
<button v-if="toolLabel" class="panel-item" :disabled="disabled" @click="panelEmit('tool')">
<text class="panel-item-icon">📊</text>
<view class="panel-item-icon"><uni-icons type="list" size="24" color="#3a4350" /></view>
<text class="panel-item-label">{{ toolLabel }}</text>
</button>
</template>
@@ -432,7 +432,7 @@ defineExpose({ teardown, setDraft });
border: 1px solid #e6e9ed;
border-radius: 14px;
background: #ffffff;
font-size: 24px;
line-height: 1;
}
.panel-item-label {