dashboard vrai tableau + probe viser_url alive + CSS propre
1. _jobs_table.html: remplace la liste <li>flex par un vrai <table> avec colonnes explicites: status · preview · #id · AUV+GP · label · duree video · frames · hors-eau · progression · temps · actions. Stitches restent en <ul> compacte. 2. main.py _build_acquisitions: probe TCP le viser_url avec cache 8s avant de le passer au template. Si port mort -> d[viser_url]=None -> pas de bouton affiche. Fini les liens qui mennent a rien. 3. style.css: purge des regles flex conflictuelles, rewrite propre pour table.jobs-table, badges, prog-bar, btn-viser direct link.
This commit is contained in:
@@ -70,8 +70,7 @@ progress::-moz-progress-bar { background: var(--accent); }
|
||||
.job-list .job-item.queued .icon { color: var(--muted); }
|
||||
.job-list .job-item.error .icon { background: var(--err); color: #fff; font-weight: bold; }
|
||||
|
||||
.job-list .label { color: var(--text); overflow: hidden; text-overflow: ellipsis;
|
||||
white-space: nowrap; display: flex; flex-direction: column; gap: 2px; }
|
||||
.job-list .label { color: var(--text); display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; min-width: 0; }
|
||||
.prog-wrap { display: flex; align-items: center; gap: 4px; height: 10px; position: relative; width: 100%; max-width: 160px; }
|
||||
.prog-fill { display: block; height: 100%; background: var(--accent); border-radius: 2px; transition: width 0.5s; min-width: 2px; }
|
||||
.prog-text { font-size: 0.7rem; color: var(--muted); white-space: nowrap; }
|
||||
@@ -116,16 +115,45 @@ button:hover { border-color: var(--accent); }
|
||||
a { color: var(--accent); }
|
||||
code { background: rgba(255,255,255,0.05); padding: 0 0.25rem; border-radius: 3px; }
|
||||
|
||||
/* Job row columns: id · AUV-GP · segment · meta · progress · viser */
|
||||
.job-item .label { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; font-size: 14px; }
|
||||
.job-item .job-id { font-family: monospace; color: var(--mut, #666); font-size: 12px; min-width: 32px; }
|
||||
.job-item .auv-gp { font-weight: 600; min-width: 100px; }
|
||||
.job-item .seg { color: var(--mut, #666); font-variant-numeric: tabular-nums; min-width: 90px; }
|
||||
.job-item .meta { color: var(--mut, #888); font-size: 12px; font-variant-numeric: tabular-nums; }
|
||||
.job-item .meta::before { content: '· '; opacity: 0.5; }
|
||||
.job-item .viser-link { text-decoration: none; padding: 2px 8px; border: 1px solid var(--accent, #4a9); border-radius: 3px; color: var(--accent, #4a9); font-size: 12px; }
|
||||
.job-item .viser-link:hover { background: var(--accent, #4a9); color: white; }
|
||||
.job-item.skipped { opacity: 0.55; }
|
||||
.job-item.skipped .label { font-style: italic; }
|
||||
/* ==== Jobs table ==== */
|
||||
.acq { margin-bottom: 1.5rem; }
|
||||
.acq-title { font-size: 1rem; margin: 0 0 0.5rem; }
|
||||
.acq-title .total { color: var(--muted); font-size: 0.85rem; margin-left: 0.5rem; }
|
||||
|
||||
.job-item .thumb { width: 48px; height: 27px; object-fit: cover; border-radius: 3px; margin-right: 4px; }
|
||||
.jobs-table { width: 100%; border-collapse: collapse; font-size: 0.85rem; }
|
||||
.jobs-table thead th { text-align: left; padding: 4px 8px; color: var(--muted); font-weight: 500; font-size: 0.72rem; text-transform: uppercase; letter-spacing: 0.04em; border-bottom: 1px solid var(--border, #333); }
|
||||
.jobs-table tbody td { padding: 6px 8px; border-bottom: 1px solid rgba(255,255,255,0.04); vertical-align: middle; }
|
||||
.jobs-table tbody tr:hover { background: rgba(255,255,255,0.02); }
|
||||
|
||||
.col-status { width: 24px; text-align: center; }
|
||||
.col-thumb { width: 80px; }
|
||||
.col-thumb img { width: 72px; height: 40px; object-fit: cover; border-radius: 4px; display: block; }
|
||||
.thumb-placeholder { display: inline-block; width: 72px; height: 40px; background: rgba(255,255,255,0.04); border-radius: 4px; }
|
||||
.col-id { font-family: ui-monospace, monospace; color: var(--muted); font-size: 0.75rem; }
|
||||
.col-auv { min-width: 110px; }
|
||||
.col-seg { font-variant-numeric: tabular-nums; color: var(--muted); }
|
||||
.col-dur, .col-frames, .col-trim, .col-elapsed { font-variant-numeric: tabular-nums; color: var(--muted); font-size: 0.8rem; }
|
||||
.col-progress { min-width: 140px; }
|
||||
.col-actions { width: 24px; text-align: right; }
|
||||
|
||||
.badge { display: inline-block; width: 18px; height: 18px; line-height: 18px; text-align: center; border-radius: 3px; font-size: 0.72rem; font-weight: 600; }
|
||||
.badge.ok { background: var(--ok, #2d7); color: #062410; }
|
||||
.badge.busy { color: var(--accent, #4af); }
|
||||
.badge.err { background: var(--err, #d44); color: #fff; }
|
||||
.badge.muted { color: var(--muted, #888); }
|
||||
|
||||
.job-row.skipped { opacity: 0.45; }
|
||||
.job-row.skipped .col-seg, .job-row.skipped .col-auv { font-style: italic; }
|
||||
|
||||
.prog-bar { display: inline-block; width: 100px; height: 6px; background: rgba(255,255,255,0.08); border-radius: 3px; overflow: hidden; vertical-align: middle; }
|
||||
.prog-fill { display: block; height: 100%; background: var(--accent, #4af); transition: width 0.5s; }
|
||||
.prog-text { margin-left: 6px; color: var(--muted); font-size: 0.72rem; }
|
||||
|
||||
.btn-viser { display: inline-block; text-decoration: none; padding: 3px 10px; border: 1px solid var(--accent, #4af); border-radius: 3px; color: var(--accent, #4af); font-size: 0.72rem; background: transparent; cursor: pointer; font-family: inherit; }
|
||||
.btn-viser:hover { background: var(--accent, #4af); color: #062036; }
|
||||
|
||||
.stitch-section { margin-top: 0.75rem; padding: 0.5rem 0 0; border-top: 1px dashed var(--border, #333); }
|
||||
.stitch-title { color: var(--muted); font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.04em; margin-bottom: 0.35rem; }
|
||||
.stitch-list { list-style: none; padding: 0; margin: 0; }
|
||||
.stitch-item { display: flex; align-items: center; gap: 0.5rem; padding: 3px 0; font-size: 0.82rem; }
|
||||
.stitch-item .err-line { flex-basis: 100%; margin-left: 26px; color: var(--err, #d44); font-size: 0.72rem; }
|
||||
|
||||
Reference in New Issue
Block a user