fix: 修复 LibraryView registered/completed 卡片 checkbox 缩进错误

问题:
- registered 卡片的 ms-fm-badges div 没有缩进,导致 HTML 结构错误
- completed 卡片的 ms-fm-badges div 也没有缩进
- 这导致 checkbox 功能失效

修复:
- 为 registered 卡片的 ms-fm-badges 添加正确的缩进(15个空格)
- 为 completed 卡片的 ms-fm-badges 添加正确的缩进(15个空格)
- 确保 checkbox 在正确的 DOM 位置,功能正常
This commit is contained in:
2026-10-07 23:56:30 +08:00
parent e65d5648b8
commit 73532c2e3e

View File

@@ -121,12 +121,12 @@
<span class="ms-fm-doc-ext">{{ getFileExt(f.file_name) }}</span>
</div>
<button v-if="isVideo(f)" class="ms-fm-play-btn" @click.stop="playVideo(f)">▶</button>
<button v-if="hasFaceData(f) && (faceCounts[f.file_uuid] === undefined || faceCounts[f.file_uuid] > 0)" class="ms-fm-face-btn" :title="'Faces: ' + f.file_name" @click.stop="openFacePage(f)" v-observe="() => loadFaceCount(f.file_uuid)">
<svg viewBox="0 0 24 24" width="15" height="15" fill="none" stroke="currentColor" stroke-width="2"><rect x="3" y="3" width="18" height="18" rx="2"/><circle cx="12" cy="10" r="4"/><path d="M6 21v-2a4 4 0 0 1 4-4h4a4 4 0 0 1 4 4v2"/></svg>
<span v-if="faceCounts[f.file_uuid] > 0" class="ms-fm-face-count">{{ faceCounts[f.file_uuid] }}</span>
</button>
<div class="ms-fm-badges">
<button v-if="isVideo(f)" class="ms-fm-play-btn" @click.stop="playVideo(f)">▶</button>
<button v-if="hasFaceData(f) && (faceCounts[f.file_uuid] === undefined || faceCounts[f.file_uuid] > 0)" class="ms-fm-face-btn" :title="'Faces: ' + f.file_name" @click.stop="openFacePage(f)" v-observe="() => loadFaceCount(f.file_uuid)">
<svg viewBox="0 0 24 24" width="15" height="15" fill="none" stroke="currentColor" stroke-width="2"><rect x="3" y="3" width="18" height="18" rx="2"/><circle cx="12" cy="10" r="4"/><path d="M6 21v-2a4 4 0 0 1 4-4h4a4 4 0 0 1 4 4v2"/></svg>
<span v-if="faceCounts[f.file_uuid] > 0" class="ms-fm-face-count">{{ faceCounts[f.file_uuid] }}</span>
</button>
<div class="ms-fm-badges">
<div class="ms-fm-badge-row ms-badge-done">✅ {{ t('library.status.completed') }}</div>
</div>
<div class="ms-fm-card-checkbox" @click.stop="toggleSelect(f)">
@@ -162,12 +162,12 @@
<span class="ms-fm-doc-ext">{{ getFileExt(f.file_name) }}</span>
</div>
<button v-if="isVideo(f)" class="ms-fm-play-btn" @click.stop="playVideo(f)">▶</button>
<button v-if="hasFaceData(f) && (faceCounts[f.file_uuid] === undefined || faceCounts[f.file_uuid] > 0)" class="ms-fm-face-btn" :title="'Faces: ' + f.file_name" @click.stop="openFacePage(f)" v-observe="() => loadFaceCount(f.file_uuid)">
<svg viewBox="0 0 24 24" width="15" height="15" fill="none" stroke="currentColor" stroke-width="2"><rect x="3" y="3" width="18" height="18" rx="2"/><circle cx="12" cy="10" r="4"/><path d="M6 21v-2a4 4 0 0 1 4-4h4a4 4 0 0 1 4 4v2"/></svg>
<span v-if="faceCounts[f.file_uuid] > 0" class="ms-fm-face-count">{{ faceCounts[f.file_uuid] }}</span>
</button>
<div class="ms-fm-badges">
<button v-if="isVideo(f)" class="ms-fm-play-btn" @click.stop="playVideo(f)">▶</button>
<button v-if="hasFaceData(f) && (faceCounts[f.file_uuid] === undefined || faceCounts[f.file_uuid] > 0)" class="ms-fm-face-btn" :title="'Faces: ' + f.file_name" @click.stop="openFacePage(f)" v-observe="() => loadFaceCount(f.file_uuid)">
<svg viewBox="0 0 24 24" width="15" height="15" fill="none" stroke="currentColor" stroke-width="2"><rect x="3" y="3" width="18" height="18" rx="2"/><circle cx="12" cy="10" r="4"/><path d="M6 21v-2a4 4 0 0 1 4-4h4a4 4 0 0 1 4 4v2"/></svg>
<span v-if="faceCounts[f.file_uuid] > 0" class="ms-fm-face-count">{{ faceCounts[f.file_uuid] }}</span>
</button>
<div class="ms-fm-badges">
<div class="ms-fm-badge-row ms-badge-ok">📋 {{ t('library.status.registered') }}</div>
<div class="ms-fm-badge-row" :class="statusBadgeClass(f)">{{ statusBadgeIcon(f) }} {{ statusBadgeLabel(f) }}</div>
</div>