feat(scheduling): rename 通知→干预, allow drill-in on intervened items

- Globally rename user-facing 通知 → 干预 (list badge, detail button, batch
  modal, CSV header, server response messages, db table comment)
- 已干预 row in detail is now clickable — opens SwapPreview which shows
  a read-only summary plus a 取消干预 action (PATCH notify /:id with
  status=cancelled). Sending is blocked while already intervened.
- Selected suggestion now follows the latest data snapshot so status
  changes from within the detail flow propagate immediately.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
kkfluous
2026-04-17 09:14:53 +08:00
parent 1d9f4cb43d
commit 210db7f8ff
8 changed files with 69 additions and 32 deletions

View File

@@ -81,7 +81,7 @@ export default function NotificationHistory({ onClose, onChange }: Props) {
};
const handleCancel = async (rec: NotificationRecord) => {
if (!confirm(`确定取消 ${rec.currentPlate}${rec.candidatePlate}替换通知`)) return;
if (!confirm(`确定取消 ${rec.currentPlate}${rec.candidatePlate}干预`)) return;
setMutatingId(rec.id);
try {
await updateNotification(rec.id, { status: 'cancelled' });