- deploy.conf templates interface names/USB IDs (@TOKEN@ substitution) across ap/* configs so a dongle swap only needs deploy.conf edited, not the repo configs themselves; drops ap/rtw88.conf (old 2.4GHz dongle retired for the DWA-171, which needs no such power-save override). - failover/van-wlan-watchdog: recovers wlan0 from NM's post-boot no-secrets wedge (a boot-time supplicant race, not a real credential failure). - deploy.sh: warn() collects dependency/config warnings (missing python3-gps, python3-paho-mqtt, mobile-broadband-provider-info, grpcurl, gpsd; netplan drift; unedited example configs) into /var/lib/vanlink/deploy-warnings.json, rendered as an amber Cockpit card so they're visible without reading deploy output. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
30 lines
1.6 KiB
CSS
30 lines
1.6 KiB
CSS
.vr-wrap { padding: 16px; max-width: 920px; }
|
|
.vr-head { display: flex; align-items: baseline; gap: 14px; }
|
|
.vr-head h2 { margin: 0; }
|
|
.card { background: #fff; border: 1px solid #d2d2d2; border-radius: 6px;
|
|
padding: 16px; margin-top: 16px; }
|
|
.card-head { display: flex; align-items: center; justify-content: space-between; }
|
|
.card h3 { margin: 0 0 10px 0; }
|
|
.card-head h3 { margin: 0; }
|
|
table { border-collapse: collapse; width: 100%; margin-top: 6px; }
|
|
th, td { text-align: left; padding: 6px 10px; border-bottom: 1px solid #ededed; font-size: 14px; }
|
|
th { color: #6a6e73; font-weight: 600; }
|
|
.pill { padding: 2px 8px; border-radius: 10px; font-size: 12px; white-space: nowrap; }
|
|
.ok { background: #bde5b8; color: #1e4f18; }
|
|
.bad { background: #f0b8b8; color: #5f1414; }
|
|
.warn { background: #f5d9a8; color: #5f4414; }
|
|
.bar { height: 10px; border-radius: 5px; background: #e5e5e5; overflow: hidden; max-width: 320px; margin: 4px 0; }
|
|
.bar-fill { height: 100%; transition: width 0.3s; }
|
|
.bar-fill.ok { background: #3e8635; }
|
|
.bar-fill.warn { background: #e08a00; }
|
|
.bar-fill.crit { background: #c9190b; }
|
|
.muted { color: #6a6e73; font-size: 12px; }
|
|
.ap-band + .ap-band { border-top: 1px solid #ededed; margin-top: 10px; padding-top: 4px; }
|
|
.active-wan { font-weight: 700; color: #0066cc; }
|
|
.btn { margin-left: 6px; padding: 3px 10px; cursor: pointer; }
|
|
.btn[disabled] { cursor: default; opacity: 0.5; }
|
|
#deploywarn-card { border-color: #e08a00; }
|
|
.warn-list { margin: 0; padding-left: 20px; }
|
|
.warn-list li { background: #f5d9a8; color: #5f4414; border-radius: 4px;
|
|
padding: 4px 8px; margin: 4px 0; list-style: none; margin-left: -20px; }
|