Scheduler: card layout, per-job logs, live log panel
- Per-job log files replace single jobs.log: each script writes to /var/log/varaverk/<Category>/<script>.log mirroring the job ID - api/log.php: serves last 200 lines of a job's log file with mtime timestamp; supports POST ?clear=1 to truncate - Scheduler page redesigned as full-width cards (one per orchestrator) with Save + Log buttons; Log toggles an inline panel that polls every 3 seconds and auto-scrolls — same pattern as unRAID User Scripts - Children shown under Advanced with identical per-job log panels - CSS: vv-sched-card, vv-log-panel, vv-log-pre, vv-btn-sm
This commit is contained in:
@@ -33,21 +33,33 @@
|
||||
.vv-status-down { color: #f44336; }
|
||||
|
||||
/* Scheduler */
|
||||
#vv-scheduler { max-width: 900px; }
|
||||
.vv-hint { color: #888; font-size: 13px; margin-bottom: 16px; }
|
||||
.vv-job { margin-bottom: 4px; }
|
||||
.vv-orch { background: #1e1e1e; border: 1px solid #444; border-radius: 6px;
|
||||
padding: 10px 12px; margin-bottom: 8px; }
|
||||
.vv-sched-card { margin-bottom: 10px; }
|
||||
.vv-script { background: #161616; border: 1px solid #333; border-radius: 4px;
|
||||
padding: 6px 10px; margin: 4px 0; margin-left: 20px; }
|
||||
.vv-job-row { display: flex; align-items: center; gap: 10px; }
|
||||
.vv-job-label { flex: 1; font-size: 14px; }
|
||||
.vv-cron { width: 160px; background: #111; border: 1px solid #444; color: #ddd;
|
||||
.vv-job-row { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
|
||||
.vv-job-label { flex: 1; font-size: 14px; min-width: 160px; }
|
||||
.vv-cron { width: 150px; background: #111; border: 1px solid #444; color: #ddd;
|
||||
padding: 4px 8px; border-radius: 4px; font-family: monospace; font-size: 13px; }
|
||||
.vv-children { padding-top: 6px; }
|
||||
.vv-children { padding-top: 8px; border-top: 1px solid #333; margin-top: 8px; }
|
||||
.vv-advanced-toggle { background: none; border: 1px solid #555; color: #aaa;
|
||||
padding: 2px 8px; border-radius: 4px; cursor: pointer; font-size: 12px; }
|
||||
.vv-advanced-toggle:hover { border-color: #888; color: #fff; }
|
||||
.vv-job-status { font-size: 12px; min-width: 20px; }
|
||||
.vv-btn-sm { padding: 3px 10px; background: #2a2a2a; border: 1px solid #555; color: #ccc;
|
||||
border-radius: 4px; cursor: pointer; font-size: 12px; white-space: nowrap; }
|
||||
.vv-btn-sm:hover { border-color: #888; color: #fff; }
|
||||
.vv-btn-sm.active { border-color: #4caf50; color: #4caf50; }
|
||||
|
||||
/* Log panel */
|
||||
.vv-log-panel { margin-top: 10px; border-top: 1px solid #333; padding-top: 8px; }
|
||||
.vv-log-toolbar { display: flex; justify-content: space-between; align-items: center;
|
||||
margin-bottom: 4px; }
|
||||
.vv-log-ts { font-size: 11px; color: #666; }
|
||||
.vv-log-pre { background: #0d0d0d; border: 1px solid #333; border-radius: 4px;
|
||||
padding: 10px 12px; margin: 0; font-family: monospace; font-size: 12px;
|
||||
color: #ccc; white-space: pre-wrap; word-break: break-all;
|
||||
max-height: 340px; overflow-y: auto; line-height: 1.5; }
|
||||
|
||||
/* Toggle switch */
|
||||
.vv-toggle { position: relative; display: inline-block; width: 36px; height: 20px; flex-shrink: 0; }
|
||||
|
||||
Reference in New Issue
Block a user