This commit is contained in:
@@ -36,6 +36,43 @@
|
||||
line-height: 1.7;
|
||||
}
|
||||
|
||||
.ppt-diagnostic-strip {
|
||||
display: grid;
|
||||
grid-template-columns: minmax(220px, 0.8fr) minmax(260px, 1fr) minmax(260px, 1.2fr);
|
||||
align-items: center;
|
||||
gap: var(--momo-space-3, 12px);
|
||||
margin-top: var(--momo-space-3, 12px);
|
||||
padding: var(--momo-space-3, 12px) var(--momo-space-4, 16px);
|
||||
border: 1px solid rgba(181, 111, 56, 0.35);
|
||||
border-radius: var(--momo-radius-lg, 8px);
|
||||
background:
|
||||
radial-gradient(circle, rgba(181, 111, 56, 0.1) 1px, transparent 1.2px),
|
||||
rgba(255, 250, 242, 0.78);
|
||||
background-size: 10px 10px, auto;
|
||||
}
|
||||
|
||||
.ppt-diagnostic-strip strong {
|
||||
display: block;
|
||||
margin-top: var(--momo-space-1, 4px);
|
||||
color: var(--obs-ink);
|
||||
}
|
||||
|
||||
.ppt-diagnostic-items {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
gap: var(--momo-space-2, 8px);
|
||||
}
|
||||
|
||||
.ppt-diagnostic-items span {
|
||||
padding: var(--momo-space-1, 4px) var(--momo-space-2, 8px);
|
||||
border: 1px solid rgba(181, 111, 56, 0.28);
|
||||
border-radius: 999px;
|
||||
color: var(--obs-accent);
|
||||
background: rgba(255, 255, 255, 0.55);
|
||||
font-size: var(--momo-text-caption, 12px);
|
||||
font-weight: var(--momo-font-weight-bold, 700);
|
||||
}
|
||||
|
||||
.ppt-command {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(5, minmax(0, 1fr));
|
||||
@@ -138,6 +175,211 @@
|
||||
display: grid;
|
||||
grid-template-columns: repeat(4, minmax(0, 1fr));
|
||||
gap: var(--momo-space-3, 12px);
|
||||
margin-top: var(--momo-space-4, 16px);
|
||||
}
|
||||
|
||||
.ppt-pipeline-layout {
|
||||
display: grid;
|
||||
grid-template-columns: minmax(260px, 0.38fr) minmax(0, 0.62fr);
|
||||
gap: var(--momo-space-4, 16px);
|
||||
}
|
||||
|
||||
.ppt-cadence-rail,
|
||||
.ppt-coverage-board {
|
||||
display: grid;
|
||||
gap: var(--momo-space-3, 12px);
|
||||
}
|
||||
|
||||
.ppt-cadence-tile {
|
||||
padding: var(--momo-space-3, 12px);
|
||||
border: 1px solid var(--obs-line);
|
||||
border-radius: var(--momo-radius-lg, 8px);
|
||||
background:
|
||||
radial-gradient(circle, rgba(45, 40, 32, 0.08) 1px, transparent 1.2px),
|
||||
rgba(255, 255, 255, 0.56);
|
||||
background-size: 10px 10px, auto;
|
||||
}
|
||||
|
||||
.ppt-cadence-top,
|
||||
.ppt-cadence-meta,
|
||||
.ppt-run-log-head,
|
||||
.ppt-run-row {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
gap: var(--momo-space-2, 8px);
|
||||
}
|
||||
|
||||
.ppt-cadence-top strong {
|
||||
font-size: var(--momo-text-caption, 12px);
|
||||
color: var(--obs-accent);
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
.ppt-cadence-title {
|
||||
margin-top: var(--momo-space-2, 8px);
|
||||
color: var(--obs-ink);
|
||||
font-size: var(--momo-text-body, 14px);
|
||||
font-weight: var(--momo-font-weight-black, 800);
|
||||
}
|
||||
|
||||
.ppt-cadence-gate {
|
||||
margin-top: var(--momo-space-1, 4px);
|
||||
color: var(--obs-muted);
|
||||
font-size: var(--momo-text-caption, 12px);
|
||||
}
|
||||
|
||||
.ppt-cadence-meter {
|
||||
height: 5px;
|
||||
margin: var(--momo-space-3, 12px) 0 var(--momo-space-2, 8px);
|
||||
border-radius: 999px;
|
||||
background: rgba(45, 40, 32, 0.1);
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.ppt-cadence-meter span {
|
||||
display: block;
|
||||
height: 100%;
|
||||
border-radius: inherit;
|
||||
background: var(--obs-green);
|
||||
}
|
||||
|
||||
.ppt-cadence-tile.is-partial .ppt-cadence-meter span {
|
||||
background: var(--obs-amber);
|
||||
}
|
||||
|
||||
.ppt-cadence-tile.is-missing .ppt-cadence-meter span {
|
||||
background: var(--obs-red);
|
||||
}
|
||||
|
||||
.ppt-cadence-meta {
|
||||
color: var(--obs-muted);
|
||||
font-size: var(--momo-text-caption, 12px);
|
||||
}
|
||||
|
||||
.ppt-coverage-score {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(3, minmax(0, 1fr));
|
||||
gap: var(--momo-space-3, 12px);
|
||||
}
|
||||
|
||||
.ppt-coverage-score > div,
|
||||
.ppt-coverage-row {
|
||||
border: 1px solid var(--obs-line);
|
||||
border-radius: var(--momo-radius-md, 6px);
|
||||
background: rgba(255, 255, 255, 0.54);
|
||||
}
|
||||
|
||||
.ppt-coverage-score > div {
|
||||
padding: var(--momo-space-3, 12px);
|
||||
}
|
||||
|
||||
.ppt-coverage-score strong {
|
||||
display: block;
|
||||
margin-top: var(--momo-space-1, 4px);
|
||||
color: var(--obs-ink);
|
||||
font-size: var(--momo-text-headline, 22px);
|
||||
line-height: 1.1;
|
||||
}
|
||||
|
||||
.ppt-coverage-list {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(2, minmax(0, 1fr));
|
||||
gap: var(--momo-space-2, 8px);
|
||||
}
|
||||
|
||||
.ppt-coverage-row {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
gap: var(--momo-space-3, 12px);
|
||||
min-height: 58px;
|
||||
padding: var(--momo-space-2, 8px) var(--momo-space-3, 12px);
|
||||
}
|
||||
|
||||
.ppt-coverage-row strong {
|
||||
display: block;
|
||||
color: var(--obs-ink);
|
||||
font-size: var(--momo-text-body, 14px);
|
||||
}
|
||||
|
||||
.ppt-coverage-row small {
|
||||
display: block;
|
||||
color: var(--obs-muted);
|
||||
font-size: var(--momo-text-caption, 12px);
|
||||
}
|
||||
|
||||
.ppt-run-log {
|
||||
border-top: 1px solid var(--obs-line);
|
||||
padding-top: var(--momo-space-4, 16px);
|
||||
}
|
||||
|
||||
.ppt-run-log-head h3 {
|
||||
margin: var(--momo-space-1, 4px) 0 0;
|
||||
font-size: var(--momo-text-body, 14px);
|
||||
font-weight: var(--momo-font-weight-black, 800);
|
||||
}
|
||||
|
||||
.ppt-run-list {
|
||||
display: grid;
|
||||
gap: var(--momo-space-2, 8px);
|
||||
margin-top: var(--momo-space-3, 12px);
|
||||
}
|
||||
|
||||
.ppt-run-row {
|
||||
padding: var(--momo-space-2, 8px) var(--momo-space-3, 12px);
|
||||
border: 1px solid var(--obs-line);
|
||||
border-radius: var(--momo-radius-md, 6px);
|
||||
background: rgba(255, 255, 255, 0.5);
|
||||
}
|
||||
|
||||
.ppt-run-kind,
|
||||
.ppt-run-status {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
min-height: 24px;
|
||||
padding: 0 var(--momo-space-2, 8px);
|
||||
border-radius: 999px;
|
||||
border: 1px solid var(--obs-line);
|
||||
color: var(--obs-accent);
|
||||
font-size: var(--momo-text-caption, 12px);
|
||||
font-weight: var(--momo-font-weight-bold, 700);
|
||||
}
|
||||
|
||||
.ppt-run-status.is-ready {
|
||||
color: var(--obs-green);
|
||||
border-color: rgba(76, 137, 91, 0.35);
|
||||
}
|
||||
|
||||
.ppt-run-status.is-partial {
|
||||
color: var(--obs-blue);
|
||||
border-color: rgba(72, 108, 149, 0.35);
|
||||
}
|
||||
|
||||
.ppt-run-status.is-error,
|
||||
.ppt-run-status.is-missing_file {
|
||||
color: var(--obs-red);
|
||||
border-color: rgba(196, 84, 75, 0.35);
|
||||
}
|
||||
|
||||
.ppt-run-target {
|
||||
color: var(--obs-muted);
|
||||
min-width: 0;
|
||||
}
|
||||
|
||||
.ppt-empty {
|
||||
border: 1px dashed var(--obs-line);
|
||||
border-radius: var(--momo-radius-lg, 8px);
|
||||
background:
|
||||
radial-gradient(circle, rgba(45, 40, 32, 0.08) 1px, transparent 1.2px),
|
||||
rgba(255, 255, 255, 0.38);
|
||||
background-size: 10px 10px, auto;
|
||||
color: var(--obs-muted);
|
||||
}
|
||||
|
||||
.ppt-run-empty {
|
||||
margin-top: var(--momo-space-3, 12px);
|
||||
padding: var(--momo-space-3, 12px);
|
||||
}
|
||||
|
||||
.ppt-mini,
|
||||
@@ -192,6 +434,11 @@
|
||||
grid-template-columns: repeat(3, minmax(0, 1fr));
|
||||
}
|
||||
|
||||
.ppt-diagnostic-strip,
|
||||
.ppt-pipeline-layout {
|
||||
grid-template-columns: 1fr;
|
||||
}
|
||||
|
||||
.ppt-auto-grid {
|
||||
grid-template-columns: repeat(2, minmax(0, 1fr));
|
||||
}
|
||||
@@ -204,12 +451,18 @@
|
||||
@media (max-width: 760px) {
|
||||
.ppt-command,
|
||||
.ppt-auto-grid,
|
||||
.ppt-mini-grid {
|
||||
.ppt-mini-grid,
|
||||
.ppt-coverage-score,
|
||||
.ppt-coverage-list {
|
||||
grid-template-columns: 1fr;
|
||||
}
|
||||
|
||||
.ppt-panel-head,
|
||||
.ppt-table-title {
|
||||
.ppt-table-title,
|
||||
.ppt-run-log-head,
|
||||
.ppt-run-row,
|
||||
.ppt-coverage-row {
|
||||
flex-direction: column;
|
||||
align-items: flex-start;
|
||||
}
|
||||
}
|
||||
|
||||
111
web/static/css/page-ppt-preview.css
Normal file
111
web/static/css/page-ppt-preview.css
Normal file
@@ -0,0 +1,111 @@
|
||||
.ppt-preview-hero,
|
||||
.ppt-preview-frame,
|
||||
.ppt-preview-empty {
|
||||
border: 1px solid var(--obs-line);
|
||||
border-radius: var(--momo-radius-lg, 8px);
|
||||
background:
|
||||
radial-gradient(circle, rgba(45, 40, 32, 0.08) 1px, transparent 1.2px),
|
||||
var(--obs-card);
|
||||
background-size: 10px 10px, auto;
|
||||
box-shadow: var(--momo-shadow-md, 0 16px 38px rgba(70, 46, 28, 0.08));
|
||||
}
|
||||
|
||||
.ppt-preview-hero {
|
||||
display: flex;
|
||||
align-items: flex-start;
|
||||
justify-content: space-between;
|
||||
gap: var(--momo-space-4, 16px);
|
||||
padding: var(--momo-space-5, 24px);
|
||||
}
|
||||
|
||||
.ppt-preview-kicker {
|
||||
color: var(--obs-accent);
|
||||
font-size: var(--momo-text-caption, 12px);
|
||||
font-weight: var(--momo-font-weight-bold, 700);
|
||||
letter-spacing: 0;
|
||||
}
|
||||
|
||||
.ppt-preview-title {
|
||||
margin: var(--momo-space-2, 8px) 0 var(--momo-space-1, 4px);
|
||||
color: var(--obs-ink);
|
||||
font-family: var(--momo-font-display, "Inter", "Noto Sans TC", system-ui, sans-serif);
|
||||
font-size: clamp(22px, 2vw, 30px);
|
||||
line-height: var(--momo-line-height-tight, 1.08);
|
||||
letter-spacing: 0;
|
||||
overflow-wrap: anywhere;
|
||||
}
|
||||
|
||||
.ppt-preview-subtitle,
|
||||
.ppt-preview-note {
|
||||
color: var(--obs-muted);
|
||||
}
|
||||
|
||||
.ppt-preview-actions {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
justify-content: flex-end;
|
||||
gap: var(--momo-space-2, 8px);
|
||||
}
|
||||
|
||||
.ppt-preview-frame {
|
||||
height: min(76vh, 920px);
|
||||
min-height: 560px;
|
||||
margin-top: var(--momo-space-4, 16px);
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.ppt-preview-frame iframe {
|
||||
display: block;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
border: 0;
|
||||
background: #fff;
|
||||
}
|
||||
|
||||
.ppt-preview-empty {
|
||||
margin-top: var(--momo-space-4, 16px);
|
||||
padding: var(--momo-space-5, 24px);
|
||||
}
|
||||
|
||||
.ppt-preview-empty h2 {
|
||||
margin: var(--momo-space-2, 8px) 0;
|
||||
color: var(--obs-ink);
|
||||
font-size: var(--momo-text-title, 18px);
|
||||
font-weight: var(--momo-font-weight-black, 800);
|
||||
}
|
||||
|
||||
.ppt-preview-diagnostics {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
gap: var(--momo-space-2, 8px);
|
||||
margin-top: var(--momo-space-3, 12px);
|
||||
}
|
||||
|
||||
.ppt-preview-diagnostics span {
|
||||
padding: var(--momo-space-1, 4px) var(--momo-space-2, 8px);
|
||||
border: 1px solid var(--obs-line);
|
||||
border-radius: 999px;
|
||||
color: var(--obs-muted);
|
||||
background: rgba(255, 255, 255, 0.58);
|
||||
font-size: var(--momo-text-caption, 12px);
|
||||
}
|
||||
|
||||
.status-good {
|
||||
color: var(--obs-green);
|
||||
}
|
||||
|
||||
@media (max-width: 760px) {
|
||||
.ppt-preview-hero {
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
.ppt-preview-actions {
|
||||
width: 100%;
|
||||
justify-content: flex-start;
|
||||
}
|
||||
|
||||
.ppt-preview-frame {
|
||||
height: 70vh;
|
||||
min-height: 420px;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user