@@ -292,19 +308,19 @@ function EventWorkspace({ filters, draft, setDraft, setFilters, rules, unread, e
}
{summary.isError ?
summary.refetch()} /> : null}
-
- {primaryMetrics.map((item) => {
- const value = Number(item.value ?? 0).toLocaleString('zh-CN');
- return item.status === 'notice' ? onTab('notifications') : quickStatus(item.status)} />;
- })}
- {!mobileLayout ? : null}
-
+ ].map((item) => )
+ } : undefined}
+ />
{events.isError ? events.refetch()} /> : null}
diff --git a/vehicle-data-platform/apps/web/src/v2/productionEntry.test.ts b/vehicle-data-platform/apps/web/src/v2/productionEntry.test.ts
index 51531f59..81341381 100644
--- a/vehicle-data-platform/apps/web/src/v2/productionEntry.test.ts
+++ b/vehicle-data-platform/apps/web/src/v2/productionEntry.test.ts
@@ -188,7 +188,9 @@ describe('V2 production entry', () => {
expect(corePageSources.AlertsPage).toContain('
diff --git a/vehicle-data-platform/apps/web/src/v2/styles/workspace.css b/vehicle-data-platform/apps/web/src/v2/styles/workspace.css
index 68ee6608..ea6ea9da 100644
--- a/vehicle-data-platform/apps/web/src/v2/styles/workspace.css
+++ b/vehicle-data-platform/apps/web/src/v2/styles/workspace.css
@@ -16217,11 +16217,47 @@
padding: 7px 13px;
}
+.v2-workspace-metric-list > span.is-action {
+ padding: 0;
+}
+
.v2-workspace-metric-list > span + span {
border-left: 1px solid #e5ebf2;
}
-.v2-workspace-metric-list > span > small {
+.v2-workspace-metric-action.semi-button {
+ width: 100%;
+ height: 100%;
+ min-height: 58px;
+ border-radius: 0;
+ padding: 0;
+ color: inherit;
+}
+
+.v2-workspace-metric-action.semi-button:hover {
+ background: rgba(31, 111, 235, .045);
+}
+
+.v2-workspace-metric-action.semi-button:focus-visible {
+ outline: 2px solid rgba(31, 111, 235, .42);
+ outline-offset: -3px;
+}
+
+.v2-workspace-metric-action .semi-button-content {
+ display: grid;
+ width: 100%;
+ min-width: 0;
+ min-height: 58px;
+ grid-template-columns: auto minmax(0, 1fr);
+ grid-template-rows: auto auto;
+ align-content: center;
+ column-gap: 10px;
+ padding: 7px 13px;
+ text-align: left;
+}
+
+.v2-workspace-metric-list > span > small,
+.v2-workspace-metric-action .semi-button-content > small {
grid-column: 1;
color: #78879a;
font-size: 9px;
@@ -16230,7 +16266,8 @@
white-space: nowrap;
}
-.v2-workspace-metric-list > span > strong {
+.v2-workspace-metric-list > span > strong,
+.v2-workspace-metric-action .semi-button-content > strong {
grid-column: 1;
color: #243950;
font-size: 21px;
@@ -16239,7 +16276,8 @@
white-space: nowrap;
}
-.v2-workspace-metric-list > span > em {
+.v2-workspace-metric-list > span > em,
+.v2-workspace-metric-action .semi-button-content > em {
align-self: center;
grid-column: 2;
grid-row: 1 / 3;
@@ -16252,7 +16290,8 @@
white-space: nowrap;
}
-.v2-workspace-metric-list > span.is-secondary > strong {
+.v2-workspace-metric-list > span.is-secondary > strong,
+.v2-workspace-metric-list > span.is-secondary .v2-workspace-metric-action strong {
font-size: 17px;
}
@@ -16261,7 +16300,8 @@
box-shadow: inset 0 -3px #1f6feb;
}
-.v2-workspace-metric-list > span.is-primary > :is(small, strong) {
+.v2-workspace-metric-list > span.is-primary > :is(small, strong),
+.v2-workspace-metric-list > span.is-primary .v2-workspace-metric-action :is(small, strong) {
color: #155fc5;
}
@@ -16270,18 +16310,44 @@
box-shadow: inset 0 -3px #e2554f;
}
-.v2-workspace-metric-list > span.is-danger > :is(small, strong) {
+.v2-workspace-metric-list > span.is-danger > :is(small, strong),
+.v2-workspace-metric-list > span.is-danger .v2-workspace-metric-action :is(small, strong) {
color: #c2413d;
}
-.v2-workspace-metric-list > span.is-success > :is(small, strong) {
+.v2-workspace-metric-list > span.is-success > :is(small, strong),
+.v2-workspace-metric-list > span.is-success .v2-workspace-metric-action :is(small, strong) {
color: #148459;
}
-.v2-workspace-metric-list > span.is-warning > :is(small, strong) {
+.v2-workspace-metric-list > span.is-warning > :is(small, strong),
+.v2-workspace-metric-list > span.is-warning .v2-workspace-metric-action :is(small, strong) {
color: #a76512;
}
+.v2-workspace-metric-list > span.is-action {
+ background: #fff;
+ box-shadow: none;
+}
+
+.v2-workspace-metric-list > span.is-action.is-danger {
+ background: linear-gradient(145deg, #fff 0%, #fff8f7 100%);
+}
+
+.v2-workspace-metric-list > span.is-action.is-warning {
+ background: linear-gradient(145deg, #fff 0%, #fffcf5 100%);
+}
+
+.v2-workspace-metric-list > span.is-action.is-active {
+ background: linear-gradient(145deg, #edf5ff 0%, #f8fbff 100%);
+ box-shadow: inset 0 -3px #1f6feb;
+}
+
+.v2-workspace-metric-list > span.is-action.is-active.is-danger {
+ background: linear-gradient(145deg, #fff1ef 0%, #fff8f7 100%);
+ box-shadow: inset 0 -3px #e2554f;
+}
+
.v2-workspace-metric-context {
display: flex;
min-width: 0;
@@ -16320,6 +16386,68 @@
white-space: nowrap;
}
+.v2-alert-metric-rail.is-queue.semi-card {
+ flex: 0 0 auto;
+ border: 1px solid #dce4ed;
+ border-radius: 10px;
+ box-shadow: 0 4px 12px rgba(38, 56, 82, .035);
+}
+
+.v2-alert-metric-rail.is-queue > .semi-card-body {
+ grid-template-columns: minmax(0, 1fr) 286px;
+}
+
+.v2-alert-metric-rail .v2-workspace-metric-context {
+ padding: 5px 6px;
+}
+
+.v2-alert-metric-context-actions {
+ display: grid;
+ width: 100%;
+ min-width: 0;
+ grid-template-columns: repeat(3, minmax(0, 1fr));
+ gap: 4px;
+}
+
+.v2-alert-metric-context-actions > .semi-button {
+ height: 46px;
+ min-width: 0;
+ border: 1px solid transparent;
+ border-radius: 7px;
+ padding: 4px 5px;
+ color: #718096;
+}
+
+.v2-alert-metric-context-actions > .semi-button:hover,
+.v2-alert-metric-context-actions > .semi-button[aria-pressed="true"] {
+ border-color: #d5e3f8;
+ background: #eef5ff;
+ color: #155fc5;
+}
+
+.v2-alert-metric-context-actions .semi-button-content {
+ display: grid;
+ justify-items: center;
+ gap: 2px;
+}
+
+.v2-alert-metric-context-actions span {
+ font-size: 9px;
+ line-height: 12px;
+ white-space: nowrap;
+}
+
+.v2-alert-metric-context-actions strong {
+ color: #34455c;
+ font-size: 14px;
+ font-variant-numeric: tabular-nums;
+ line-height: 17px;
+}
+
+.v2-alert-metric-context-actions > .semi-button[aria-pressed="true"] strong {
+ color: inherit;
+}
+
.v2-reconcile-metric-rail {
flex: 0 0 auto;
}
@@ -16344,6 +16472,11 @@
column-gap: 6px;
padding-inline: 9px;
}
+
+ .v2-workspace-metric-action .semi-button-content {
+ column-gap: 6px;
+ padding-inline: 9px;
+ }
}
@media (max-width: 680px) {
@@ -16363,22 +16496,44 @@
padding: 6px 12px;
}
+ .v2-workspace-metric-action.semi-button,
+ .v2-workspace-metric-action .semi-button-content {
+ min-height: 56px;
+ }
+
+ .v2-workspace-metric-action .semi-button-content {
+ column-gap: 8px;
+ padding: 6px 12px;
+ }
+
.v2-workspace-metric-list > span.is-secondary {
display: none;
}
- .v2-workspace-metric-list > span > strong {
+ .v2-workspace-metric-list > span > strong,
+ .v2-workspace-metric-action .semi-button-content > strong {
font-size: 19px;
line-height: 22px;
}
- .v2-workspace-metric-list > span > em {
+ .v2-workspace-metric-list > span > em,
+ .v2-workspace-metric-action .semi-button-content > em {
font-size: 8px;
}
.v2-workspace-metric-context {
display: none;
}
+
+ .v2-alert-metric-rail.is-queue.semi-card {
+ border-radius: 10px;
+ }
+}
+
+@media (min-width: 681px) and (max-width: 900px) {
+ .v2-alert-metric-rail.is-queue > .semi-card-body {
+ grid-template-columns: minmax(0, 1fr) 230px;
+ }
}
.v2-reconcile-issue-cell > span {