Diff -- /var/www/vhosts/3dshawn.com/site1/TEMPLATES/file_changes.html
Diff
/var/www/vhosts/3dshawn.com/site1/TEMPLATES/file_changes.html
modified on local at 2026-07-10 23:21:58
Added
+12
lines
Removed
-17
lines
Context
42
unchanged
Blobs
from 7bd551cce4d0
to 62734ebeac8d
to 62734ebeac8d
Unified diff
Naive LCS-based line diff. Additions in emerald, deletions in rose. Both sides decompressed live from BLOB_STORE.| 1 | 1 | <div class="page-head"> |
| 2 | 2 | <span class="page-eyebrow"><span class="dot"></span> Monitor</span> |
| 3 | 3 | <h1 class="page-title">File changes</h1> |
| 4 | 4 | <p class="page-subtitle">Every file change captured on every watched path. Click a row to view the full diff and restore point.</p> |
| 5 | 5 | </div> |
| 6 | 6 | |
| 7 | <form method="get" action="/file_changes.cgi" style="display:flex;gap:10px;align-items:center;padding:12px 14px;background:var(--bg-2);border:1px solid var(--border);border-radius:12px;margin-bottom:16px"> | |
| 8 | <span class="dim mono" style="font-size:11px;letter-spacing:1.4px;text-transform:uppercase">Range</span> | |
| 9 | <select name="days" onchange="this.form.submit()"> | |
| 10 | <option value="1">Last 24h</option> | |
| 11 | <option value="7" selected>Last 7 days</option> | |
| 12 | <option value="30">Last 30 days</option> | |
| 13 | <option value="90">Last 90 days</option> | |
| 14 | <option value="365">Last year</option> | |
| 15 | </select> | |
| 16 | <span class="dim mono" style="font-size:11px;letter-spacing:1.4px;text-transform:uppercase;margin-left:12px">Path</span> | |
| 17 | <input type="text" name="q" value="$q" placeholder="e.g. /etc/nginx" style="flex:1"> | |
| 18 | <button type="submit" class="btn">Filter</button> | |
| 19 | <span style="margin-left:auto" class="dim">$total results</span> | |
| 7 | $picker_html | |
| 8 | ||
| 9 | <form method="get" action="/file_changes.cgi" style="display:flex;gap:8px;align-items:center;margin-bottom:16px"> | |
| 10 | <input type="hidden" name="days" value="7"> | |
| 11 | <span class="rb-label" style="font-size:11px;letter-spacing:1.4px;text-transform:uppercase;color:var(--text-muted);font-weight:700">Path filter</span> | |
| 12 | <input type="text" name="q" value="$q" placeholder="e.g. /etc/nginx or file.conf" style="flex:1;background:var(--bg-2);color:var(--text);border:1px solid var(--border);border-radius:8px;padding:6px 12px;font-size:12.5px;font-family:inherit"> | |
| 13 | <button type="submit" class="tr-chip is-active" style="border:none">Apply</button> | |
| 14 | [if:$q]<a class="tr-chip" href="/file_changes.cgi">Clear</a>[/if] | |
| 20 | 15 | </form> |
| 21 | 16 | |
| 22 | 17 | <div class="module glow-teal"> |
| 23 | 18 | <div class="module-head"><div class="left"> |
| 24 | 19 | <div class="module-icon"><svg viewBox="0 0 24 24" width="14" height="14" fill="none" stroke="currentColor" stroke-width="2"><path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"/><polyline points="14 2 14 8 20 8"/></svg></div> |
| 25 | 20 | <div class="module-title">Changes captured</div> |
| 26 | <span class="module-subtitle">Content dedup via SHA-256 in BLOB_STORE. Timestamp-only changes marked so you can filter noise.</span> | |
| 21 | <span class="module-subtitle">Content dedup via SHA-256 in BLOB_STORE. Timestamp-only changes marked so you can filter noise. $total match this window.</span> | |
| 27 | 22 | </div></div> |
| 28 | 23 | <div class="module-body tight"> |
| 29 | 24 | [if:$has_rows] |
| 30 | 25 | <table class="tbl"> |
| 31 | 26 | <thead><tr> |
| 32 | 27 | <th style="width:100px">Status</th> |
| 33 | 28 | <th>File</th> |
| 34 | 29 | <th style="width:110px">30-day rhythm</th> |
| 35 | 30 | <th style="width:110px">Server</th> |
| 36 | 31 | <th style="width:90px">Blob</th> |
| 37 | <th style="width:170px">When</th> | |
| 32 | <th style="width:180px">When</th> | |
| 38 | 33 | </tr></thead> |
| 39 | 34 | <tbody> |
| 40 | 35 | [loop:@rows] |
| 41 | 36 | <tr> |
| 42 | 37 | <td><span class="pill $status_pill">$status</span>[if:$is_ts_only] <span class="pill pill-mute" style="font-size:9px">ts</span>[/if]</td> |
| 43 | 38 | <td class="mono" style="font-size:12px"><a href="$diff_url" style="color:var(--accent-hi);text-decoration:none">$file_name_h</a></td> |
| 44 | 39 | <td>$sparkline_svg</td> |
| 45 | 40 | <td class="dim">$server_name</td> |
| 46 | 41 | <td class="mono dim"><a href="$diff_url" style="color:var(--accent-hi);text-decoration:none">$blob_short</a></td> |
| 47 | <td class="mono dim">$date_time</td> | |
| 42 | <td class="mono dim"><span class="ts" data-ts="$ts_epoch" data-fmt="datetime">$date_time</span></td> | |
| 48 | 43 | </tr> |
| 49 | 44 | [/loop] |
| 50 | 45 | </tbody> |
| 51 | 46 | </table> |
| 52 | 47 | [/if] |
| 53 | 48 | [if:!$has_rows] |
| 54 | 49 | <div style="padding:36px 14px;text-align:center;color:var(--text-dim);font-size:13.5px"> |
| 55 | No file changes captured in this window. Configure a file monitor in <a href="[url:file_monitors]" style="color:var(--accent-hi)">File monitors</a> to begin capture. | |
| 50 | No file changes captured in this window. Try widening the range with the chips above, or configure a file monitor in <a href="[url:file_monitors]" style="color:var(--accent-hi)">File monitors</a>. | |
| 56 | 51 | </div> |
| 57 | 52 | [/if] |
| 58 | 53 | </div> |
| 59 | 54 | </div> |