feat(viewer): hide like feature — action bar like slot, photo like badges, hot sort tab, others' like bubbles (user request 2026-09-23)

- PhotoFeed: cell like badge not rendered
- AlbumHeader: sort tabs row removed (hot depends on likes; latest-only has no toggle value)
- PhotoActionBar: like slot v-if=false (share/download remain, auto re-center)
- ActivityPage: LikeBubbles hidden
- specs updated to hidden assertions; 244 green

Co-Authored-By: Claude Code <noreply@anthropic.com>
This commit is contained in:
浅念
2026-09-23 14:29:22 +08:00
parent e44b35db28
commit 2babd364ba
9 changed files with 40 additions and 108 deletions
+3 -3
View File
@@ -256,16 +256,16 @@ onBeforeUnmount(() => {
decoding="async"
@error="onImgError(photos[placement.index])"
>
<!-- 点赞角标:独立交互区(@click.stop),不随图片点击打开大图。 -->
<!-- 点赞角标:已按用户要求隐藏(2026-09-23,先隐藏点赞功能)。 -->
<button
v-if="likes !== undefined"
v-if="false && likes !== undefined"
type="button"
class="cell-like"
:aria-label="t('viewer.like')"
@click.stop="likeCell(photos[placement.index])"
>
<svg
:key="likes.popNonce(photos[placement.index].photoId)"
:key="likes?.popNonce(photos[placement.index].photoId) ?? 0"
class="heart"
viewBox="0 0 24 24"
aria-hidden="true"
@@ -220,29 +220,8 @@ watch(
</div>
</header>
<!-- 排序 tab(§4.2):高 44px;选中蓝字 + 底部 2px 线;大图打开期间锁定。 -->
<nav class="sort-tabs" :aria-label="t('album.sortLabel')">
<button
type="button"
class="sort-tab"
:class="{ active: props.sortMode === 'latest' }"
:aria-pressed="props.sortMode === 'latest'"
:disabled="props.sortLocked"
@click="emit('selectSort', 'latest')"
>
{{ t('viewer.latest') }}
</button>
<button
type="button"
class="sort-tab"
:class="{ active: props.sortMode === 'hot' }"
:aria-pressed="props.sortMode === 'hot'"
:disabled="props.sortLocked"
@click="emit('selectSort', 'hot')"
>
{{ t('viewer.popular') }}
</button>
</nav>
<!-- 排序 tab:热门已按用户要求移除(2026-09-23,其排序依赖点赞数);
仅剩「最新」单一排序无切换意义 → 整条隐藏(sortMode 恒 latest)。 -->
<!-- 分类胶囊:来自接口;无分类省略整条;All = 不传分类筛选。 -->
<nav v-if="album.categories.length > 0" class="categories" :aria-label="t('album.categories')">
@@ -75,7 +75,9 @@ onBeforeUnmount(cancelPress);
<template>
<div class="action-bar">
<div class="action-slot like-slot">
<!-- 点赞槽:已按用户要求隐藏(2026-09-23,先隐藏点赞功能——含计数)。
v-if 编译期常量 false,构建后整槽不进 DOM。 -->
<div v-if="false" class="action-slot like-slot">
<button
type="button"
class="action-btn"