v2.1.15 — 勤学打卡支持增加和删除习惯
This commit is contained in:
@@ -291,16 +291,25 @@
|
||||
addEveningRow(item.mistake || '', item.improvement || '');
|
||||
}
|
||||
|
||||
// 勤学 — 渲染预设项目并回填状态
|
||||
// 勤学 — 渲染已保存习惯 + 未渲染预设
|
||||
var studyMap = {};
|
||||
for (var si=0; si<study.length; si++) {
|
||||
studyMap[study[si].name] = study[si];
|
||||
}
|
||||
var rendered = {};
|
||||
document.getElementById('study-cards').innerHTML = '';
|
||||
for (var sk=0; sk<study.length; sk++) {
|
||||
var item = study[sk];
|
||||
if (item.name) {
|
||||
renderStudyCard(item.name, item.count || 0, item.last_checkin_date || '');
|
||||
rendered[item.name] = true;
|
||||
}
|
||||
}
|
||||
for (var sp=0; sp<PRESET_STUDY_ITEMS.length; sp++) {
|
||||
var sName = PRESET_STUDY_ITEMS[sp];
|
||||
var saved = studyMap[sName] || { count: 0 };
|
||||
renderStudyCard(sName, saved.count || 0, saved.last_checkin_date || '');
|
||||
if (!rendered[sName]) {
|
||||
renderStudyCard(sName, 0, '');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -355,6 +364,7 @@
|
||||
div.className = 'study-card' + (checked ? ' checked' : '');
|
||||
div.setAttribute('data-last-date', lastDate || '');
|
||||
div.innerHTML =
|
||||
'<button class="study-card-del" onclick="deleteStudyItem(this)" title="删除">×</button>' +
|
||||
'<div class="study-card-info">' +
|
||||
'<span class="study-card-name">' + esc(name) + '</span>' +
|
||||
'<span class="study-card-count">' + count + '</span>' +
|
||||
@@ -363,6 +373,21 @@
|
||||
container.appendChild(div);
|
||||
}
|
||||
|
||||
window.addStudyItem = function() {
|
||||
var name = prompt('请输入新习惯名称:');
|
||||
if (!name || !name.trim()) return;
|
||||
renderStudyCard(name.trim(), 0, '');
|
||||
triggerAutoSave();
|
||||
};
|
||||
|
||||
window.deleteStudyItem = function(btn) {
|
||||
var card = btn.closest('.study-card');
|
||||
var nameEl = card.querySelector('.study-card-name');
|
||||
if (nameEl && !confirm('确定删除「' + nameEl.textContent + '」?')) return;
|
||||
card.remove();
|
||||
triggerAutoSave();
|
||||
};
|
||||
|
||||
window.checkinStudy = function(btn) {
|
||||
var card = btn.closest('.study-card');
|
||||
var today = fmtDate(new Date());
|
||||
|
||||
Reference in New Issue
Block a user