Add persistent device traffic history charts
Build and Deploy Gateway / build-and-push (push) Successful in 14s
Build and Deploy Gateway / deploy (push) Successful in 6s

This commit is contained in:
2026-08-07 19:34:59 +03:00
parent cf90fd5b4e
commit ef4847a3e1
7 changed files with 174 additions and 45 deletions
+41 -9
View File
@@ -753,6 +753,28 @@ p {
position: relative;
}
.client-devices-scale {
display: flex;
padding: 2px;
border: 1px solid color-mix(in oklch, var(--client-border) 72%, transparent);
border-radius: 999px;
}
.client-devices-scale button {
padding: 4px 6px;
border: 0;
border-radius: 999px;
background: transparent;
color: var(--client-muted);
font: 700 9px/1 'JetBrains Mono', 'SF Mono', ui-monospace, Menlo, monospace;
cursor: pointer;
}
.client-devices-scale button[aria-pressed="true"] {
background: color-mix(in oklch, var(--client-accent) 14%, transparent);
color: var(--client-accent);
}
.client-devices-sort {
min-height: 28px;
display: flex;
@@ -902,7 +924,7 @@ p {
.client-device {
display: grid;
grid-template-columns: 34px minmax(0, 1fr) 112px 34px;
grid-template-rows: 34px 28px;
grid-template-rows: 34px 42px;
align-items: start;
column-gap: 8px;
row-gap: 6px;
@@ -1302,7 +1324,7 @@ p {
.client-device-traffic-chart {
grid-column: 2 / 4;
grid-row: 2;
height: 28px;
height: 42px;
position: relative;
overflow: hidden;
}
@@ -1310,7 +1332,7 @@ p {
.client-device-traffic-chart::after {
position: absolute;
right: 0;
bottom: 0;
bottom: 13px;
left: 0;
height: 1px;
background: color-mix(in oklch, var(--client-border) 58%, transparent);
@@ -1319,24 +1341,34 @@ p {
.client-device-traffic-track {
position: absolute;
inset: 0 0 1px;
display: flex;
inset: 0 0 14px;
display: grid;
grid-template-columns: repeat(var(--sample-count), minmax(1px, 1fr));
align-items: flex-end;
justify-content: flex-end;
gap: 3px;
gap: 1px;
animation: client-device-traffic-shift 420ms cubic-bezier(0.16, 1, 0.3, 1);
}
.client-device-traffic-bar {
width: 5px;
min-height: 2px;
flex: 0 0 5px;
display: flex;
overflow: hidden;
border-radius: 2px 2px 0 0;
flex-direction: column-reverse;
}
.client-device-traffic-time {
position: absolute;
right: 0;
bottom: 0;
left: 0;
display: flex;
justify-content: space-between;
color: var(--client-muted);
font-size: 8px;
line-height: 10px;
}
.client-device-traffic-bar > span {
width: 100%;
display: block;