diff --git a/Plugin/usr/local/emhttp/plugins/varaverk/css/varaverk.css b/Plugin/usr/local/emhttp/plugins/varaverk/css/varaverk.css index 6d46a29..3425231 100644 --- a/Plugin/usr/local/emhttp/plugins/varaverk/css/varaverk.css +++ b/Plugin/usr/local/emhttp/plugins/varaverk/css/varaverk.css @@ -38,8 +38,8 @@ .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: 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; +.vv-job-label { flex: 1; font-size: 14px; min-width: 120px; } +.vv-cron { width: 140px; background: #111; border: 1px solid #444; color: #ddd; padding: 4px 8px; border-radius: 4px; font-family: monospace; font-size: 13px; } .vv-children { padding-top: 8px; border-top: 1px solid #333; margin-top: 8px; } .vv-advanced-toggle { background: none; border: 1px solid #555; color: #aaa; @@ -51,6 +51,31 @@ .vv-btn-sm:hover { border-color: #888; color: #fff; } .vv-btn-sm.active { border-color: #4caf50; color: #4caf50; } +/* Running dot */ +.vv-job-dot { width: 8px; height: 8px; border-radius: 50%; display: inline-block; flex-shrink: 0; } +.vv-dot-running { background: #4caf50; animation: vv-pulse-dot 1s ease-in-out infinite; } +#vv-log-dot { animation: vv-pulse-dot 1s ease-in-out infinite; } +@keyframes vv-pulse-dot { 0%, 100% { opacity: 1; } 50% { opacity: 0.2; } } + +/* Selected job row */ +.vv-row-selected { background: rgba(255,255,255,0.05); border-radius: 4px; + outline: 1px solid #555; } + +/* Two-panel layout */ +#vv-sched-layout { display: flex; gap: 16px; align-items: flex-start; } +#vv-sched-left { flex: 0 0 500px; min-width: 0; } +#vv-sched-right { display: none; flex: 1; min-width: 0; position: sticky; top: 16px; } +#vv-sched-right.vv-panel-visible { display: block; } +.vv-log-right-pre { min-height: 360px; max-height: calc(100vh - 200px); } + +/* Mobile: stack vertically, right panel full-width below cards */ +@media (max-width: 880px) { + #vv-sched-layout { flex-direction: column; } + #vv-sched-left { flex: none; width: 100%; } + #vv-sched-right { position: static; width: 100%; } + .vv-log-right-pre { min-height: 200px; max-height: 340px; } +} + /* Card footer */ .vv-card-footer { display: flex; align-items: center; gap: 10px; margin-top: 12px; padding-top: 10px; border-top: 1px solid #333; } diff --git a/Plugin/usr/local/emhttp/plugins/varaverk/pages/scheduler.php b/Plugin/usr/local/emhttp/plugins/varaverk/pages/scheduler.php index 68df535..c39ef14 100644 --- a/Plugin/usr/local/emhttp/plugins/varaverk/pages/scheduler.php +++ b/Plugin/usr/local/emhttp/plugins/varaverk/pages/scheduler.php @@ -4,86 +4,99 @@ $tree = vv_job_tree(); ?>
-

Toggle enables/saves immediately. Edit cron expressions then hit - Save at the bottom of the card. Run fires the script - now and opens its log.

+

Toggle saves immediately. Edit cron then Save. + Run fires now; Dry Run sets DRY_RUN=1. + Log opens on the right.

- -
+
- -
- - - - - - - - - - -
+ +
- - + +
- - -