8f10353f0c
CI / lint (push) Has been cancelled
CI / js-syntax (push) Successful in 10m24s
CI / deps-audit (push) Has been cancelled
CI / test (push) Failing after 24m55s
CI / sast-bandit (push) Failing after 11m13s
CI / trivy (push) Failing after 9m32s
Docker Publish / build-and-push (push) Failing after 34m3s
125 lines
2.7 KiB
CSS
125 lines
2.7 KiB
CSS
/* ───────────── Job progress ───────────── */
|
|
|
|
.job {
|
|
display: none !important;
|
|
background: var(--panel);
|
|
border: var(--border-w) solid var(--line);
|
|
border-radius: var(--radius);
|
|
padding: 14px 16px;
|
|
}
|
|
.job-header {
|
|
display: flex;
|
|
justify-content: space-between;
|
|
align-items: flex-start;
|
|
gap: 12px;
|
|
margin-bottom: 10px;
|
|
}
|
|
#job-title {
|
|
font-size: 14px;
|
|
flex: 1;
|
|
word-break: break-word;
|
|
}
|
|
#job-stage {
|
|
font-size: 13px;
|
|
color: var(--ink-dim);
|
|
white-space: nowrap;
|
|
flex-shrink: 0;
|
|
font-variant-numeric: tabular-nums;
|
|
}
|
|
progress {
|
|
width: 100%;
|
|
height: 4px;
|
|
appearance: none;
|
|
background: var(--line);
|
|
border: 0;
|
|
border-radius: 2px;
|
|
overflow: hidden;
|
|
}
|
|
progress::-webkit-progress-bar {
|
|
background: var(--line);
|
|
}
|
|
progress::-webkit-progress-value {
|
|
background: var(--ink);
|
|
transition: width var(--t-base) var(--easing);
|
|
}
|
|
progress::-moz-progress-bar {
|
|
background: var(--ink);
|
|
}
|
|
|
|
/* Compact technical detail line under the progress bar -- shows the
|
|
truthful backend `stage` value while #job-stage rotates phrases. */
|
|
.job-detail {
|
|
margin-top: 6px;
|
|
font-family: var(--font-mono);
|
|
font-size: 11px;
|
|
color: var(--ink-dim);
|
|
opacity: 0.65;
|
|
letter-spacing: 0.02em;
|
|
white-space: nowrap;
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
}
|
|
|
|
.cancel-btn {
|
|
flex-shrink: 0;
|
|
background: transparent;
|
|
color: var(--ink-dim);
|
|
border: var(--border-w) solid var(--line);
|
|
border-radius: var(--radius-xs);
|
|
padding: 4px 10px;
|
|
font: inherit;
|
|
font-family: var(--font-mono);
|
|
font-size: 11px;
|
|
cursor: pointer;
|
|
transition:
|
|
background-color var(--t-base) var(--easing),
|
|
color var(--t-base) var(--easing),
|
|
border-color var(--t-base) var(--easing);
|
|
}
|
|
.cancel-btn:hover:not(:disabled) {
|
|
background: var(--danger);
|
|
color: var(--bg);
|
|
border-color: var(--danger);
|
|
}
|
|
.cancel-btn:disabled {
|
|
opacity: 0.5;
|
|
cursor: default;
|
|
}
|
|
|
|
/* ───────────── Error ───────────── */
|
|
|
|
.error {
|
|
background: rgba(214, 90, 74, 0.1);
|
|
border: var(--border-w) solid rgba(214, 90, 74, 0.5);
|
|
color: var(--danger);
|
|
border-radius: var(--radius);
|
|
padding: 12px 16px;
|
|
display: flex;
|
|
align-items: flex-start;
|
|
gap: 12px;
|
|
}
|
|
.error-msg {
|
|
flex: 1;
|
|
word-break: break-word;
|
|
font-size: 13px;
|
|
}
|
|
.retry-btn {
|
|
flex-shrink: 0;
|
|
background: transparent;
|
|
color: var(--danger);
|
|
border: var(--border-w) solid var(--danger);
|
|
border-radius: var(--radius-xs);
|
|
padding: 5px 12px;
|
|
font: inherit;
|
|
font-family: var(--font-mono);
|
|
font-size: 12px;
|
|
cursor: pointer;
|
|
transition:
|
|
background-color var(--t-base) var(--easing),
|
|
color var(--t-base) var(--easing);
|
|
}
|
|
.retry-btn:hover {
|
|
background: var(--danger);
|
|
color: var(--bg);
|
|
}
|