diff --git a/apps/web/messages/en.json b/apps/web/messages/en.json index 0414451b6..2cc45d0cf 100644 --- a/apps/web/messages/en.json +++ b/apps/web/messages/en.json @@ -9891,6 +9891,9 @@ "redactedScope": "已脫敏範圍", "blockers": "待補證據 {count}", "routeShape": "上游 {upstream};後台 {admin};即時通道 {websocket}", + "upstream": "上游", + "admin": "後台", + "realtime": "即時", "ownerRequired": "需負責人", "routePending": "待 smoke", "sourceBlockers": "來源缺口" diff --git a/apps/web/messages/zh-TW.json b/apps/web/messages/zh-TW.json index 0414451b6..2cc45d0cf 100644 --- a/apps/web/messages/zh-TW.json +++ b/apps/web/messages/zh-TW.json @@ -9891,6 +9891,9 @@ "redactedScope": "已脫敏範圍", "blockers": "待補證據 {count}", "routeShape": "上游 {upstream};後台 {admin};即時通道 {websocket}", + "upstream": "上游", + "admin": "後台", + "realtime": "即時", "ownerRequired": "需負責人", "routePending": "待 smoke", "sourceBlockers": "來源缺口" diff --git a/apps/web/src/app/[locale]/awooop/tenants/page.tsx b/apps/web/src/app/[locale]/awooop/tenants/page.tsx index 69e2ce2d1..d037d0686 100644 --- a/apps/web/src/app/[locale]/awooop/tenants/page.tsx +++ b/apps/web/src/app/[locale]/awooop/tenants/page.tsx @@ -1505,7 +1505,38 @@ function GlobalAssetCoveragePanel({ inventory }: { inventory: TenantAssetInvento
{t("routesTitle")}
-
+
+ {publicRoutes.map((route, index) => ( +
+
+
+

+ {route.domain} +

+

+ {routePublicProductName(route, index)} +

+
+ +
+
+
+

{t("labels.upstream")}

+

{route.upstream_count}

+
+
+

{t("labels.admin")}

+

{route.admin_route_count}

+
+
+

{t("labels.realtime")}

+

{route.websocket_route_count}

+
+
+
+ ))} +
+
@@ -1543,7 +1574,48 @@ function GlobalAssetCoveragePanel({ inventory }: { inventory: TenantAssetInvento
{t("reposTitle")}
-
+
+ {sourceRepos.map((repo, index) => ( +
+
+
+

+ {sourcePublicScopeCode(index)} +

+

+ {sourcePublicProductName(repo, index)} +

+

+ {t("labels.redactedScope")} · {assetCategoryLabel(repo.category, t)} +

+
+ + {sourceRiskLabel(repo.risk, t)} + +
+
+
+

+ {sourceReadinessLabel(repo.readiness_state, t)} +

+

+ {t("labels.blockers", { count: repo.blocker_count })} +

+
+
+

{t("columns.nextControl")}

+

+ {sourceActionLabel(repo.readiness_state, t)} +

+
+
+
+ ))} +
+