diff --git a/apps/web/messages/en.json b/apps/web/messages/en.json index 9965d5de..3ab25685 100644 --- a/apps/web/messages/en.json +++ b/apps/web/messages/en.json @@ -1731,6 +1731,16 @@ "workDetail": "Whether recurrence groups still have open work", "decision": "Source Match Decision", "decisionDetail": "Whether source review / apply has a decision record" + }, + "actions": { + "workItems": "Handle Work Items", + "workItemsDetail": "{count} open groups need handling or confirmation", + "runs": "Inspect Run Linkage", + "runsDetail": "Unlinked events: {unlinked}", + "approvals": "Check Human Gates", + "approvalsDetail": "{count} manual gates need human judgment", + "sourceReviews": "Review Source Matches", + "sourceReviewsDetail": "{count} source reviews need a decision" } }, "quality": { diff --git a/apps/web/messages/zh-TW.json b/apps/web/messages/zh-TW.json index a8672b56..664355fe 100644 --- a/apps/web/messages/zh-TW.json +++ b/apps/web/messages/zh-TW.json @@ -1732,6 +1732,16 @@ "workDetail": "recurrence group 是否仍有待處理項", "decision": "來源配對決策", "decisionDetail": "source review / apply 是否已有決策紀錄" + }, + "actions": { + "workItems": "處理工作項", + "workItemsDetail": "{count} 個 open group 需要處理或確認", + "runs": "查看 Run 連結", + "runsDetail": "未連結事件:{unlinked}", + "approvals": "檢查人工閘門", + "approvalsDetail": "{count} 個 manual gate 需要人工判斷", + "sourceReviews": "審核來源配對", + "sourceReviewsDetail": "{count} 個 source review 待決策" } }, "quality": { diff --git a/apps/web/src/app/[locale]/awooop/page.tsx b/apps/web/src/app/[locale]/awooop/page.tsx index dccfdb29..4287ad8d 100644 --- a/apps/web/src/app/[locale]/awooop/page.tsx +++ b/apps/web/src/app/[locale]/awooop/page.tsx @@ -367,6 +367,50 @@ function ProgressRow({ ); } +function SourceFlowActionLink({ + href, + label, + value, + detail, + icon: Icon, + tone, +}: { + href: string; + label: string; + value: string | number; + detail: string; + icon: typeof ArrowRight; + tone: "good" | "warn" | "neutral"; +}) { + return ( + +
{label}
++ {value} +
+{detail}
+