chore: import upstream snapshot with attribution
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
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
This commit is contained in:
@@ -0,0 +1,124 @@
|
||||
/* ───────────── 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);
|
||||
}
|
||||
Reference in New Issue
Block a user