feat: 评论/帖子编辑历史与编辑标记,内容锁定
- 新增 smartDiff 差异计算与 EditHistoryModal 编辑历史弹窗,替换原 CommentEditHistoryModal - 新增 PostEditedMark 编辑标记展示 - 新增内容锁定机制(content_lock)防止并发编辑冲突 - 审核与通知服务适配
This commit is contained in:
@@ -3335,6 +3335,12 @@ body:has([data-admin-viewport]) {
|
||||
padding-top: 0;
|
||||
}
|
||||
|
||||
/* 用户积分表头吸顶:同 admin-users-stick,画布顶内边距必须归零 sticky 才能贴紧顶栏
|
||||
(内边距挪到 .admin-points-users-tab;标记类仅在用户积分标签激活时挂载,不影响其他标签) */
|
||||
.admin-canvas:has(.admin-points-users-tab) {
|
||||
padding-top: 0;
|
||||
}
|
||||
|
||||
/* 移动端导航抽屉 */
|
||||
.admin-drawer {
|
||||
position: fixed;
|
||||
@@ -5692,6 +5698,21 @@ a.j13-mention-token:hover {
|
||||
box-shadow: var(--shadow-sm);
|
||||
}
|
||||
|
||||
/* 用户积分标签:画布顶内边距挪到这里(见未分层区 canvas:has 规则),吸顶 th 才能贴齐 admin-topbar */
|
||||
.admin-points-users-tab {
|
||||
padding-top: 1.25rem;
|
||||
}
|
||||
@media (min-width: 640px) {
|
||||
.admin-points-users-tab {
|
||||
padding-top: 1.5rem;
|
||||
}
|
||||
}
|
||||
@media (min-width: 1024px) {
|
||||
.admin-points-users-tab {
|
||||
padding-top: 1.75rem;
|
||||
}
|
||||
}
|
||||
|
||||
/* 内容管理页:窄屏可整页滚;桌面高度由上方未分层的 canvas:has 规则锁定 */
|
||||
.admin-content-page {
|
||||
display: flex;
|
||||
@@ -8409,6 +8430,78 @@ button.cmt-edited {
|
||||
text-decoration: underline;
|
||||
text-underline-offset: 2px;
|
||||
}
|
||||
/* 评论编辑历史:git diff 风格修订视图 */
|
||||
.cmt-diff {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 4px;
|
||||
}
|
||||
.cmt-diff-stat {
|
||||
display: flex;
|
||||
gap: 8px;
|
||||
font-size: 11.5px;
|
||||
font-weight: 600;
|
||||
line-height: 1;
|
||||
font-variant-numeric: tabular-nums;
|
||||
}
|
||||
.cmt-diff-stat-add {
|
||||
color: var(--ok);
|
||||
}
|
||||
.cmt-diff-stat-del {
|
||||
color: var(--danger);
|
||||
}
|
||||
.cmt-diff-body {
|
||||
font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;
|
||||
font-size: 12.5px;
|
||||
line-height: 1.55;
|
||||
background: var(--panel);
|
||||
border: 1px solid var(--line);
|
||||
border-radius: 6px;
|
||||
padding: 4px 0;
|
||||
}
|
||||
.cmt-diff-line {
|
||||
display: flex;
|
||||
gap: 8px;
|
||||
padding: 0 10px;
|
||||
white-space: pre-wrap;
|
||||
word-break: break-word;
|
||||
min-height: 1.55em;
|
||||
}
|
||||
.cmt-diff-sign {
|
||||
flex-shrink: 0;
|
||||
width: 1ch;
|
||||
user-select: none;
|
||||
opacity: 0.65;
|
||||
}
|
||||
.cmt-diff-text {
|
||||
min-width: 0;
|
||||
flex: 1;
|
||||
}
|
||||
.cmt-diff-line.is-del {
|
||||
background: color-mix(in srgb, var(--danger-soft) 60%, transparent);
|
||||
}
|
||||
.cmt-diff-line.is-add {
|
||||
background: color-mix(in srgb, var(--ok-soft) 60%, transparent);
|
||||
}
|
||||
.cmt-diff-line.is-ctx {
|
||||
color: var(--ink-2);
|
||||
}
|
||||
.cmt-diff-chg {
|
||||
border-radius: 3px;
|
||||
padding: 0 1px;
|
||||
background: color-mix(in srgb, var(--danger) 24%, transparent);
|
||||
color: inherit;
|
||||
}
|
||||
.cmt-diff-line.is-add .cmt-diff-chg {
|
||||
background: color-mix(in srgb, var(--ok) 24%, transparent);
|
||||
}
|
||||
.cmt-diff-fold {
|
||||
padding: 2px 10px;
|
||||
font-size: 11.5px;
|
||||
text-align: center;
|
||||
color: var(--ink-2);
|
||||
background: color-mix(in srgb, var(--ink) 3%, transparent);
|
||||
}
|
||||
.cmt-badge {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
|
||||
Reference in New Issue
Block a user