PIGWay Pi Control
事件日志
查询 systemd journal 中仍在保留的全部硬件 Agent 事件。
事件日志
查询 systemd journal 中仍在保留的全部硬件 Agent 事件。
系统配置
配置按用途分组,只显示当前模式需要的选项。保存时会备份配置并重启硬件 Agent。
diff --git a/SHA256SUMS b/SHA256SUMS index 0330c5c..743a5d1 100644 --- a/SHA256SUMS +++ b/SHA256SUMS @@ -7,4 +7,4 @@ f9fbb4defa45b43abe0ce66973b1f4d553369b3a43c01d04f206c573f7dc96ca install.sh 4f6e8db3698a62f57823d3298a0e6814593de6fa3d31e4751b7ea4a76e553e35 systemd/pigway-pi-control.service aa21cef9a06593371ccff005335b6c0c826fbf4b5c48e4255b5f4b75ce6e9217 systemd/pigway-pi-control-api.service 9f59e7313ee58e687ae6dd29d175c67082674254ac5c5f54168b2735b64c20a4 uninstall.sh -215395cfc3ed8e5556d146e25cb828ffb72364fc3eb6ad2ddd9931cd8a5c8e0c web/index.html +c72eb1a4756e851e839601655ff611aa76060737908410b8ad4e61038468cee5 web/index.html diff --git a/web/index.html b/web/index.html index ea09fc8..24ad411 100644 --- a/web/index.html +++ b/web/index.html @@ -7,15 +7,15 @@ :root{color-scheme:dark;--bg:#0b1118;--panel:#121b25;--panel2:#0f1822;--line:#263546;--text:#e7edf5;--muted:#91a4b8;--good:#50d890;--bad:#ff6b6b;--blue:#58a6ff}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at top right,#14263b 0,#0b1118 42%);color:var(--text);font:14px/1.45 system-ui,-apple-system,sans-serif}main{max-width:1180px;margin:auto;padding:28px 20px 70px}header{display:flex;justify-content:space-between;align-items:end;gap:18px;margin-bottom:22px}h1{font-size:27px;margin:0}h2{font-size:18px;margin:0 0 8px}h3{font-size:15px;margin:0}.sub,.muted,.hint{color:var(--muted)}.hint{font-size:12px;margin-top:4px}.live{display:flex;align-items:center;gap:8px}.dot{width:9px;height:9px;border-radius:50%;background:var(--bad)}.dot.ok{background:var(--good);box-shadow:0 0 12px var(--good)}nav{display:flex;gap:8px;margin:18px 0;position:sticky;top:0;z-index:5;padding:8px 0;background:#0b1118e8;backdrop-filter:blur(8px)}button{border:1px solid var(--line);background:#162230;color:var(--text);border-radius:8px;padding:9px 13px;cursor:pointer}button:hover,button.active{border-color:var(--blue);background:#1b3047}button:disabled{opacity:.45;cursor:not-allowed}.danger{color:#ff8e8e}.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.card,.panel,.group{background:color-mix(in srgb,var(--panel) 94%,transparent);border:1px solid var(--line);border-radius:12px;padding:16px;box-shadow:none}.group{background:var(--panel2);margin-top:12px}.group-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.value{font-size:23px;font-weight:700;margin-top:4px}.wide{grid-column:span 2}.panel{margin-top:12px}.rows{display:grid;gap:8px}.row{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:8px 0;border-bottom:1px solid #203040}.row:last-child{border:0}.row-actions{display:flex;gap:6px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.badge{border-radius:999px;padding:3px 8px;background:#243447;white-space:nowrap}.badge.good{color:var(--good)}.badge.bad{color:var(--bad)}.hidden{display:none!important}.log{font:12px/1.5 ui-monospace,SFMono-Regular,monospace;white-space:pre-wrap;padding:8px 0;border-bottom:1px solid #203040}.log-label{font:12px system-ui;color:var(--blue);margin-right:8px}.config-shell{display:grid;grid-template-columns:210px minmax(0,1fr);gap:14px;margin-top:14px}.config-menu{display:flex;flex-direction:column;gap:7px;align-self:start;position:sticky;top:66px}.config-menu button{text-align:left}.config-page{display:none}.config-page.active{display:block}.fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.field label{display:block;color:var(--muted);font-size:12px}.field input,.field select,.service-form input,.service-search{width:100%;margin-top:5px;border:1px solid var(--line);border-radius:7px;background:#0d151e;color:var(--text);padding:9px}.field input:focus,.field select:focus,.service-form input:focus,.service-search:focus{outline:1px solid var(--blue);border-color:var(--blue)}.input-unit{position:relative}.input-unit input{padding-right:62px}.unit{position:absolute;right:10px;top:50%;transform:translateY(-50%);color:var(--muted);font-size:12px;pointer-events:none}.span2{grid-column:span 2}.rgb-row{display:grid;grid-template-columns:78px repeat(3,minmax(0,1fr));gap:9px;align-items:start}.color-field{display:flex;flex-direction:column;align-items:center}.color-field label{display:block;width:100%;color:var(--muted);font-size:12px;text-align:center}.swatch-wrap{position:relative;width:42px;height:42px;margin:5px auto 0}.swatch{display:block;width:42px;height:42px;border-radius:50%;border:2px solid #fff5;box-shadow:0 0 12px #0008;cursor:pointer}.color-picker{position:absolute;inset:0;width:42px!important;height:42px!important;padding:0!important;margin:0!important;opacity:0;cursor:pointer}.toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:12px 0}.toolbar input{min-width:280px;flex:1;border:1px solid var(--line);border-radius:7px;background:#0d151e;color:var(--text);padding:9px}.savebar{position:sticky;bottom:10px;z-index:4;background:#101b27ef;border:1px solid var(--line);border-radius:10px;padding:10px;margin-top:18px;box-shadow:0 8px 30px #0008}.service-list{max-height:390px;overflow:auto;border-top:1px solid var(--line);margin-top:10px}.service-form{display:grid;grid-template-columns:1fr 1.4fr;gap:10px}.service-form .full{grid-column:span 2}.service-form label{color:var(--muted);font-size:12px}.error{color:var(--bad)}.success{color:var(--good)}@media(max-width:800px){.grid{grid-template-columns:repeat(2,1fr)}.fields,.service-form{grid-template-columns:1fr}.span2,.service-form .full{grid-column:span 1}.wide{grid-column:span 2}.config-shell{grid-template-columns:1fr}.config-menu{position:static;display:grid;grid-template-columns:repeat(2,1fr)}.rgb-row{grid-template-columns:68px 1fr}.rgb-row .field{grid-column:2}.color-field{grid-row:1/span 3}}@media(max-width:470px){.grid{grid-template-columns:1fr}.wide{grid-column:span 1}header{align-items:start;flex-direction:column}.config-menu{grid-template-columns:1fr}.row{align-items:flex-start;flex-direction:column}.row-actions{justify-content:flex-start}}
查询 systemd journal 中仍在保留的全部硬件 Agent 事件。
查询 systemd journal 中仍在保留的全部硬件 Agent 事件。
配置按用途分组,只显示当前模式需要的选项。保存时会备份配置并重启硬件 Agent。