feat: 删除亲情卡分类并优化搜索功能

- 移除亲情卡支出分类(前端+后端)
- 搜索结果添加点击编辑功能
- 提取 RecordModal 组件复用(index.js/search.js)
- 添加 useMemo 优化计算性能
- 优化类别查找为 O(1) 映射
- 添加删除分类接口输入验证

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Developer
2026-03-17 11:19:26 +08:00
co-authored by Claude Opus 4.6
parent 3347a256b2
commit b5f9a238bb
8 changed files with 457 additions and 218 deletions
+57 -1
View File
@@ -954,7 +954,9 @@ textarea:focus-visible {
}
.confirm-card__actions .btn {
flex: 1 1 180px;
flex: 0 1 auto;
min-width: 100px;
min-height: 40px;
}
.error-msg {
@@ -1375,6 +1377,60 @@ textarea:focus-visible {
color: var(--text-secondary);
}
/* Simplified Settings */
.settings-list {
display: flex;
flex-direction: column;
gap: 12px;
margin-bottom: 16px;
}
.settings-link {
display: flex;
align-items: center;
gap: 14px;
width: 100%;
padding: 16px;
background: var(--surface-raised);
border: 1px solid rgba(148, 163, 184, 0.12);
border-radius: 16px;
cursor: pointer;
font-size: 0.95rem;
color: var(--text-primary);
transition: transform var(--transition), box-shadow var(--transition);
text-align: left;
}
.settings-link:hover:not(:disabled) {
transform: translateY(-1px);
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06);
}
.settings-link:active:not(:disabled) {
transform: translateY(0);
}
.settings-link:disabled {
opacity: 0.5;
cursor: not-allowed;
}
.settings-link .chevron {
margin-left: auto;
color: var(--text-tertiary);
}
.settings-link--danger {
color: var(--expense);
}
.settings-footer {
text-align: center;
padding: 20px;
color: var(--text-tertiary);
font-size: 0.85rem;
}
.about-info p:first-child {
color: var(--text);
font-weight: 700;