auto-sync: 2026-05-21 09:06:55
This commit is contained in:
@@ -227,19 +227,15 @@ function TaskCard({ task, subtaskCount, subtaskDone, activeStage, onOpen, onActi
|
||||
}
|
||||
|
||||
// ── 卡片快捷按钮(每状态最多3个) ──
|
||||
const CARD_ACTIONS: Record<string, Array<{ label: string; icon: string; action: string; color: string; bg: string; border: string }>> = {
|
||||
pending: [{ label: '认领', icon: '👤', action: 'claimed', color: '#a07aff', bg: '#a07aff22', border: '#a07aff44' }, { label: '取消', icon: '🚫', action: 'cancelled', color: '#6b7280', bg: '#6b728022', border: '#6b728044' }],
|
||||
claimed: [{ label: '开始', icon: '⚔️', action: 'working', color: '#2ecc8a', bg: '#2ecc8a22', border: '#2ecc8a44' }, { label: '暂停', icon: '⏸', action: 'paused', color: '#818cf8', bg: '#818cf822', border: '#818cf844' }, { label: '取消', icon: '🚫', action: 'cancelled', color: '#6b7280', bg: '#6b728022', border: '#6b728044' }],
|
||||
working: [{ label: '人工审核', icon: '🔍', action: 'review', color: '#818cf8', bg: '#818cf822', border: '#818cf844' }, { label: '暂停', icon: '⏸', action: 'paused', color: '#818cf8', bg: '#818cf822', border: '#818cf844' }, { label: '取消', icon: '🚫', action: 'cancelled', color: '#6b7280', bg: '#6b728022', border: '#6b728044' }],
|
||||
paused: [{ label: '继续', icon: '▶', action: 'working', color: '#2ecc8a', bg: '#2ecc8a22', border: '#2ecc8a44' }, { label: '取消', icon: '🚫', action: 'cancelled', color: '#6b7280', bg: '#6b728022', border: '#6b728044' }],
|
||||
review: [{ label: '通过', icon: '✅', action: 'approve', color: '#2ecc8a', bg: '#2ecc8a22', border: '#2ecc8a44' }, { label: '打回', icon: '🔄', action: 'pending', color: '#7a9aff', bg: '#7a9aff22', border: '#7a9aff44' }, { label: '取消', icon: '🚫', action: 'cancelled', color: '#6b7280', bg: '#6b728022', border: '#6b728044' }],
|
||||
escalated: [{ label: '继续', icon: '▶', action: 'working', color: '#2ecc8a', bg: '#2ecc8a22', border: '#2ecc8a44' }, { label: '取消', icon: '🚫', action: 'cancelled', color: '#6b7280', bg: '#6b728022', border: '#6b728044' }],
|
||||
waiting_human: [{ label: '确认', icon: '✅', action: 'approve', color: '#2ecc8a', bg: '#2ecc8a22', border: '#2ecc8a44' }],
|
||||
done: [{ label: '归档', icon: '📦', action: 'archive', color: '#6b7280', bg: '#6b728022', border: '#6b728044' }],
|
||||
failed: [{ label: '重试', icon: '🔄', action: 'pending', color: '#7a9aff', bg: '#7a9aff22', border: '#7a9aff44' }],
|
||||
blocked: [{ label: '解除', icon: '🔄', action: 'pending', color: '#7a9aff', bg: '#7a9aff22', border: '#7a9aff44' }, { label: '取消', icon: '🚫', action: 'cancelled', color: '#6b7280', bg: '#6b728022', border: '#6b728044' }],
|
||||
cancelled: [{ label: '归档', icon: '📦', action: 'archive', color: '#6b7280', bg: '#6b728022', border: '#6b728044' }],
|
||||
// 状态指示圆点颜色
|
||||
const STATUS_DOT_COLOR: Record<string, string> = {
|
||||
pending: '#f5c842', claimed: '#f5c842',
|
||||
working: '#2ecc8a', review: '#6a9eff',
|
||||
waiting_human: '#f59e0b', escalated: '#ff5270',
|
||||
failed: '#ff5270', blocked: '#ff5270',
|
||||
paused: '#6b7280', done: '#6b7280', cancelled: '#6b7280',
|
||||
};
|
||||
|
||||
function EmptyState({ hasProject }: { hasProject: boolean }) {
|
||||
return (
|
||||
<div style={{ textAlign: 'center', padding: 60, color: 'var(--muted)' }}>
|
||||
|
||||
Reference in New Issue
Block a user