feat(ui): separate live data and lab surfaces
This commit is contained in:
@@ -270,6 +270,158 @@
|
||||
color: rgb(var(--nodedc-danger-rgb));
|
||||
}
|
||||
|
||||
.observation-session-archive {
|
||||
display: grid;
|
||||
gap: 0.85rem;
|
||||
padding: 1rem;
|
||||
border-radius: 1rem;
|
||||
background: rgb(255 255 255 / 0.025);
|
||||
}
|
||||
|
||||
.observation-session-archive__head {
|
||||
display: flex;
|
||||
align-items: flex-start;
|
||||
justify-content: space-between;
|
||||
gap: 1rem;
|
||||
}
|
||||
|
||||
.observation-session-archive__head h2,
|
||||
.observation-session-archive__head p {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.observation-session-archive__head h2 {
|
||||
margin-top: 0.25rem;
|
||||
color: var(--nodedc-text-primary);
|
||||
font-size: 1rem;
|
||||
}
|
||||
|
||||
.observation-session-archive__head p {
|
||||
max-width: 50rem;
|
||||
margin-top: 0.35rem;
|
||||
color: var(--nodedc-text-muted);
|
||||
font-size: 0.68rem;
|
||||
line-height: 1.5;
|
||||
}
|
||||
|
||||
.observation-session-archive__refresh {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
gap: 0.45rem;
|
||||
border: 0;
|
||||
border-radius: 999px;
|
||||
background: rgb(255 255 255 / 0.055);
|
||||
color: var(--nodedc-text-secondary);
|
||||
padding: 0.55rem 0.75rem;
|
||||
font: inherit;
|
||||
font-size: 0.65rem;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.observation-session-archive__list {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(2, minmax(0, 1fr));
|
||||
gap: 0.35rem;
|
||||
max-height: 18rem;
|
||||
overflow: auto;
|
||||
}
|
||||
|
||||
.observation-session-archive__item {
|
||||
display: grid;
|
||||
grid-template-columns: minmax(0, 1fr) 2.5rem;
|
||||
min-width: 0;
|
||||
border-radius: 0.75rem;
|
||||
background: rgb(255 255 255 / 0.025);
|
||||
}
|
||||
|
||||
.observation-session-archive__open {
|
||||
display: grid;
|
||||
grid-template-columns: auto minmax(0, 1fr) auto;
|
||||
align-items: center;
|
||||
gap: 0.7rem;
|
||||
min-width: 0;
|
||||
border: 0;
|
||||
background: transparent;
|
||||
color: inherit;
|
||||
padding: 0.72rem;
|
||||
text-align: left;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.observation-session-archive__open > i {
|
||||
width: 0.45rem;
|
||||
height: 0.45rem;
|
||||
border-radius: 50%;
|
||||
background: var(--nodedc-text-muted);
|
||||
}
|
||||
|
||||
.observation-session-archive__open > i[data-session-visual-state="ready"],
|
||||
.observation-session-archive__open > i[data-session-visual-state="processing"] {
|
||||
background: rgb(var(--nodedc-success-rgb));
|
||||
}
|
||||
|
||||
.observation-session-archive__open > span {
|
||||
display: grid;
|
||||
min-width: 0;
|
||||
gap: 0.28rem;
|
||||
}
|
||||
|
||||
.observation-session-archive__open strong,
|
||||
.observation-session-archive__open small {
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.observation-session-archive__open strong {
|
||||
color: var(--nodedc-text-primary);
|
||||
font-size: 0.7rem;
|
||||
}
|
||||
|
||||
.observation-session-archive__open strong > small {
|
||||
margin-right: 0.45rem;
|
||||
color: var(--nodedc-accent);
|
||||
font-size: 0.55rem;
|
||||
letter-spacing: 0.05em;
|
||||
}
|
||||
|
||||
.observation-session-archive__open > span > small,
|
||||
.observation-session-archive__open em {
|
||||
color: var(--nodedc-text-muted);
|
||||
font-size: 0.58rem;
|
||||
font-style: normal;
|
||||
}
|
||||
|
||||
.observation-session-archive__delete {
|
||||
display: grid;
|
||||
place-items: center;
|
||||
border: 0;
|
||||
background: transparent;
|
||||
color: var(--nodedc-text-muted);
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.observation-session-archive__delete:hover:not(:disabled) {
|
||||
color: rgb(var(--nodedc-danger-rgb));
|
||||
}
|
||||
|
||||
.observation-session-archive__empty {
|
||||
display: grid;
|
||||
min-height: 7rem;
|
||||
place-items: center;
|
||||
align-content: center;
|
||||
gap: 0.45rem;
|
||||
color: var(--nodedc-text-muted);
|
||||
font-size: 0.65rem;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
@media (max-width: 1080px) {
|
||||
.observation-session-archive__list {
|
||||
grid-template-columns: minmax(0, 1fr);
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 860px) {
|
||||
.workspace-layout-feedback {
|
||||
display: none;
|
||||
@@ -287,4 +439,8 @@
|
||||
.observation-session-select__trigger > svg:last-child {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.observation-session-archive__head {
|
||||
display: grid;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2157,6 +2157,349 @@
|
||||
gap: 1rem;
|
||||
}
|
||||
|
||||
.contour-health-dashboard {
|
||||
display: grid;
|
||||
gap: 1rem;
|
||||
}
|
||||
|
||||
.contour-health-summary,
|
||||
.contour-health-summary__status,
|
||||
.contour-node header,
|
||||
.contour-network-strip,
|
||||
.contour-connected-device {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.contour-health-summary {
|
||||
justify-content: space-between;
|
||||
gap: 1rem;
|
||||
}
|
||||
|
||||
.contour-health-summary h2,
|
||||
.contour-health-summary p,
|
||||
.contour-node h3 {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.contour-health-summary h2 {
|
||||
margin-top: 0.25rem;
|
||||
color: var(--nodedc-text-primary);
|
||||
font-size: 1.1rem;
|
||||
}
|
||||
|
||||
.contour-health-summary p {
|
||||
max-width: 52rem;
|
||||
margin-top: 0.35rem;
|
||||
color: var(--nodedc-text-muted);
|
||||
font-size: 0.68rem;
|
||||
line-height: 1.5;
|
||||
}
|
||||
|
||||
.contour-health-summary__status {
|
||||
flex: 0 0 auto;
|
||||
gap: 0.6rem;
|
||||
}
|
||||
|
||||
.contour-health-kpis {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(4, minmax(0, 1fr));
|
||||
gap: 0.45rem;
|
||||
}
|
||||
|
||||
.contour-health-kpis > div {
|
||||
display: grid;
|
||||
gap: 0.28rem;
|
||||
border-radius: 0.85rem;
|
||||
background: rgb(255 255 255 / 0.03);
|
||||
padding: 0.85rem;
|
||||
}
|
||||
|
||||
.contour-health-kpis span,
|
||||
.contour-health-kpis small,
|
||||
.contour-node dt,
|
||||
.contour-node small,
|
||||
.contour-process-list small,
|
||||
.contour-process-list em,
|
||||
.contour-network-strip small,
|
||||
.contour-connected-device small {
|
||||
color: var(--nodedc-text-muted);
|
||||
font-size: 0.58rem;
|
||||
font-style: normal;
|
||||
}
|
||||
|
||||
.contour-health-kpis strong {
|
||||
color: var(--nodedc-text-primary);
|
||||
font-size: 1.15rem;
|
||||
}
|
||||
|
||||
.contour-node-grid {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(2, minmax(0, 1fr));
|
||||
gap: 0.65rem;
|
||||
}
|
||||
|
||||
.contour-node {
|
||||
display: grid;
|
||||
align-content: start;
|
||||
gap: 0.85rem;
|
||||
min-width: 0;
|
||||
border-radius: 1rem;
|
||||
background: rgb(255 255 255 / 0.025);
|
||||
padding: 1rem;
|
||||
}
|
||||
|
||||
.contour-node header {
|
||||
justify-content: space-between;
|
||||
gap: 1rem;
|
||||
}
|
||||
|
||||
.contour-node h3 {
|
||||
margin-top: 0.25rem;
|
||||
color: var(--nodedc-text-primary);
|
||||
font-size: 0.95rem;
|
||||
}
|
||||
|
||||
.contour-node dl {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(4, minmax(0, 1fr));
|
||||
margin: 0;
|
||||
border-radius: 0.75rem;
|
||||
background: rgb(255 255 255 / 0.022);
|
||||
}
|
||||
|
||||
.contour-node dl > div {
|
||||
display: grid;
|
||||
gap: 0.25rem;
|
||||
min-width: 0;
|
||||
padding: 0.7rem;
|
||||
}
|
||||
|
||||
.contour-node dd {
|
||||
margin: 0;
|
||||
overflow: hidden;
|
||||
color: var(--nodedc-text-secondary);
|
||||
font-size: 0.62rem;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.contour-process-list {
|
||||
display: grid;
|
||||
gap: 0.3rem;
|
||||
}
|
||||
|
||||
.contour-process-list > div {
|
||||
display: grid;
|
||||
grid-template-columns: auto minmax(0, 1fr) auto;
|
||||
align-items: center;
|
||||
gap: 0.65rem;
|
||||
min-width: 0;
|
||||
padding: 0.6rem 0;
|
||||
}
|
||||
|
||||
.contour-process-list > div + div {
|
||||
border-top: 1px solid var(--station-hairline);
|
||||
}
|
||||
|
||||
.contour-process-list i,
|
||||
.contour-network-strip i {
|
||||
width: 0.45rem;
|
||||
height: 0.45rem;
|
||||
border-radius: 50%;
|
||||
background: var(--nodedc-text-muted);
|
||||
}
|
||||
|
||||
.contour-process-list i[data-state="online"],
|
||||
.contour-network-strip i[data-state="online"] {
|
||||
background: rgb(var(--nodedc-success-rgb));
|
||||
}
|
||||
|
||||
.contour-process-list i[data-state="idle"] {
|
||||
background: rgb(var(--nodedc-warning-rgb));
|
||||
}
|
||||
|
||||
.contour-process-list span {
|
||||
display: grid;
|
||||
min-width: 0;
|
||||
gap: 0.22rem;
|
||||
}
|
||||
|
||||
.contour-process-list strong {
|
||||
overflow: hidden;
|
||||
color: var(--nodedc-text-secondary);
|
||||
font-size: 0.65rem;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.contour-network-strip {
|
||||
display: grid;
|
||||
grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) auto minmax(0, 1fr);
|
||||
gap: 0.8rem;
|
||||
border-radius: 1rem;
|
||||
background: rgb(255 255 255 / 0.025);
|
||||
padding: 0.85rem 1rem;
|
||||
}
|
||||
|
||||
.contour-network-strip > div {
|
||||
display: grid;
|
||||
grid-template-columns: auto minmax(0, 1fr);
|
||||
align-items: center;
|
||||
gap: 0.25rem 0.55rem;
|
||||
}
|
||||
|
||||
.contour-network-strip > div > .section-eyebrow,
|
||||
.contour-network-strip > div > strong {
|
||||
grid-column: 1 / -1;
|
||||
}
|
||||
|
||||
.contour-network-strip strong,
|
||||
.contour-connected-device strong {
|
||||
color: var(--nodedc-text-secondary);
|
||||
font-size: 0.68rem;
|
||||
}
|
||||
|
||||
.contour-connected-device {
|
||||
gap: 0.8rem;
|
||||
border-radius: 0.8rem;
|
||||
background: rgb(255 255 255 / 0.025);
|
||||
padding: 0.75rem 1rem;
|
||||
}
|
||||
|
||||
.contour-health-error {
|
||||
margin: 0;
|
||||
color: rgb(var(--nodedc-warning-rgb));
|
||||
font-size: 0.62rem;
|
||||
}
|
||||
|
||||
@media (max-width: 1100px) {
|
||||
.contour-health-kpis {
|
||||
grid-template-columns: repeat(2, minmax(0, 1fr));
|
||||
}
|
||||
|
||||
.contour-node-grid {
|
||||
grid-template-columns: minmax(0, 1fr);
|
||||
}
|
||||
}
|
||||
|
||||
.recordings-workspace,
|
||||
.lab-archive-workspace,
|
||||
.recordings-workspace__viewer,
|
||||
.lab-result-surface {
|
||||
display: grid;
|
||||
gap: 0.85rem;
|
||||
}
|
||||
|
||||
.recordings-workspace__viewer,
|
||||
.lab-result-surface {
|
||||
min-height: 30rem;
|
||||
}
|
||||
|
||||
.recordings-workspace__viewer > header,
|
||||
.lab-result-surface > header {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 0.7rem;
|
||||
padding: 0 0.2rem;
|
||||
}
|
||||
|
||||
.recordings-workspace__viewer > header strong,
|
||||
.lab-result-surface > header strong {
|
||||
color: var(--nodedc-text-secondary);
|
||||
font-size: 0.7rem;
|
||||
}
|
||||
|
||||
.recordings-workspace__empty {
|
||||
display: grid;
|
||||
min-height: 27rem;
|
||||
place-items: center;
|
||||
align-content: center;
|
||||
gap: 0.5rem;
|
||||
border-radius: 1rem;
|
||||
background: rgb(0 0 0 / 0.24);
|
||||
color: var(--nodedc-text-muted);
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.recordings-workspace__empty strong {
|
||||
color: var(--nodedc-text-secondary);
|
||||
font-size: 0.75rem;
|
||||
}
|
||||
|
||||
.recordings-workspace__empty p {
|
||||
margin: 0;
|
||||
font-size: 0.63rem;
|
||||
}
|
||||
|
||||
.lab-configuration {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
gap: 1rem;
|
||||
border-radius: 1rem;
|
||||
background: rgb(255 255 255 / 0.025);
|
||||
padding: 1rem;
|
||||
}
|
||||
|
||||
.lab-configuration h2,
|
||||
.lab-configuration p {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.lab-configuration h2 {
|
||||
margin-top: 0.25rem;
|
||||
color: var(--nodedc-text-primary);
|
||||
font-size: 1rem;
|
||||
}
|
||||
|
||||
.lab-configuration p {
|
||||
max-width: 55rem;
|
||||
margin-top: 0.35rem;
|
||||
color: var(--nodedc-text-muted);
|
||||
font-size: 0.66rem;
|
||||
line-height: 1.5;
|
||||
}
|
||||
|
||||
.lab-primary-result {
|
||||
display: grid;
|
||||
}
|
||||
|
||||
.lab-primary-result button {
|
||||
display: grid;
|
||||
grid-template-columns: auto minmax(0, 1fr);
|
||||
gap: 0.3rem 0.75rem;
|
||||
border: 0;
|
||||
border-radius: 0.85rem;
|
||||
background: rgb(255 255 255 / 0.025);
|
||||
color: var(--nodedc-text-secondary);
|
||||
padding: 0.8rem 1rem;
|
||||
text-align: left;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.lab-primary-result button[data-active="true"] {
|
||||
background: rgb(255 255 255 / 0.065);
|
||||
}
|
||||
|
||||
.lab-primary-result button > span {
|
||||
grid-row: 1 / 3;
|
||||
align-self: center;
|
||||
color: var(--nodedc-accent);
|
||||
font-size: 0.65rem;
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
.lab-primary-result button > strong {
|
||||
color: var(--nodedc-text-primary);
|
||||
font-size: 0.72rem;
|
||||
}
|
||||
|
||||
.lab-primary-result button > small {
|
||||
color: var(--nodedc-text-muted);
|
||||
font-size: 0.58rem;
|
||||
}
|
||||
|
||||
.dataset-entry {
|
||||
display: grid;
|
||||
grid-template-columns: minmax(20rem, 1.2fr) minmax(22rem, 0.8fr);
|
||||
@@ -2257,6 +2600,18 @@
|
||||
gap: 0.5rem;
|
||||
}
|
||||
|
||||
.dataset-entry__expanded {
|
||||
display: grid;
|
||||
grid-column: 1 / -1;
|
||||
gap: 0.8rem;
|
||||
min-width: 0;
|
||||
padding-top: 0.35rem;
|
||||
}
|
||||
|
||||
.dataset-entry[data-open="true"] {
|
||||
padding-bottom: 0.6rem;
|
||||
}
|
||||
|
||||
.dataset-download {
|
||||
position: relative;
|
||||
grid-column: 1 / -1;
|
||||
|
||||
Reference in New Issue
Block a user