来信页空数据双态: 未完善资料→引导去完善(打开资料弹窗), 已完善无信→普通空提示 (v26090725)

This commit is contained in:
2026-09-08 02:36:09 +08:00
parent 01fc935255
commit 46fbc70da3
3 changed files with 37 additions and 6 deletions

View File

@@ -993,6 +993,13 @@
const hasMom = L => L.thread.some(m => m.who === 'mom');
/* ---------- 列表 ---------- */
/* 来信页空数据 · 引导按钮:直接打开「我的资料」弹窗(保存后自动重载播种) */
const letterGoOnboard = $('#letterGoOnboard');
if (letterGoOnboard) letterGoOnboard.addEventListener('click', e => {
e.stopPropagation();
openModal('modalProfile');
});
function renderLetters() {
const list = $('#letterList');
list.textContent = '';
@@ -1192,6 +1199,12 @@
});
$$('.lgroup').forEach(g => g.classList.toggle('hide', !$$('.lthread:not(.hide)', g).length));
$('#letterEmpty').classList.toggle('show', shown === 0);
/* 空数据双态:未完善资料(pregEmpty)→ 引导去完善;已完善但无信 → 普通空提示。
完善资料保存后会自动重载并播种样例信,引导按钮 = 打开「我的资料」弹窗。 */
const needOnboard = !!state.pregEmpty && shown === 0;
const guide = $('#letterEmptyGuide'), plain = $('#letterEmptyPlain');
if (guide) guide.style.display = needOnboard ? 'block' : 'none';
if (plain) plain.style.display = needOnboard ? 'none' : '';
/* ⚠️ 必须放在这儿,不能只在 renderLetters 末尾调一次。
.hide 是 display:none —— 被筛掉的那些线程量出来的 clientWidth 是 0,
clampLine() 会原样跳过它们。等用户切回「全部」,这些从没截过的整段话