Remove WiFi restart buttons

This commit is contained in:
seo
2026-06-07 06:16:41 +09:00
parent ff6002433e
commit 50494844b0
3 changed files with 3 additions and 31 deletions
+1 -2
View File
@@ -14,7 +14,7 @@ Control은 라즈베리파이/리눅스 호스트의 팬과 시스템 상태를
- PWM slider 기반 수동 팬 제어
- CPU/RP1 온도, 팬 RPM, 팬 효율, CPU 전력, 배터리 상태 차트
- WiFi client 목록과 2.4G/5G client 수 표시
- WiFi/DHCP service restart 버튼
- WiFi client 상태 표시
- System Notice와 process CPU/MEM 후보 표시
- dmesg 로그 열람
- Web Push 구독 등록, 자동 복구, 구독 기기 목록 표시
@@ -84,4 +84,3 @@ Control은 라즈베리파이/리눅스 호스트의 팬과 시스템 상태를
- 하드웨어 또는 OS 변경 후 fan sysfs 경로를 확인합니다.
- WebSocket 장기 실행 중 DB 연결이 끊길 수 있으므로 reconnect 로그를 확인합니다.
- Push 구독 자동 복구가 과도한 반복 등록을 만들지 않는지 확인합니다.
-20
View File
@@ -1041,23 +1041,6 @@
}
}
async function wifiAction(button) {
try {
button.disabled = true;
notice('Applying WiFi command...', 'info');
render(await api('wifi', {
unit: button.dataset.wifiUnit,
verb: button.dataset.wifiAction,
}));
notice('WiFi command completed', 'success');
} catch (e) {
console.error(e);
notice(e.message || 'wifi command failed', 'error');
} finally {
button.disabled = false;
}
}
if (els.fanSlider && els.fanSliderValue) {
els.fanSlider.addEventListener('input', () => {
markFanDirty();
@@ -1078,9 +1061,6 @@
fanApply(input.value, pwm, true);
});
});
document.querySelectorAll('[data-wifi-action]').forEach(button => {
button.addEventListener('click', () => wifiAction(button));
});
els.dmesgToggle?.addEventListener('click', () => {
setDmesgOpen(!state.dmesgOpen);
});
+2 -9
View File
@@ -101,7 +101,6 @@ a{color:inherit;text-decoration:none}
.slider-wrap{display:flex;gap:12px;align-items:center}.slider-wrap[hidden]{display:none}.slider{width:100%;accent-color:var(--blue)}
.select:focus,.slider:focus{outline:2px solid rgba(59,130,246,.65);outline-offset:2px}
.btn:disabled{opacity:.55;cursor:not-allowed}
.wifi-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.wifi-actions .btn{min-height:48px;padding:6px 10px;flex-direction:column;gap:2px}.btn-line{display:block}
.status-list{display:grid;gap:10px}.status-row{display:grid;grid-template-columns:112px minmax(0,1fr);gap:12px;align-items:baseline;padding:10px 12px;background:var(--card2);border-radius:14px}.status-key{color:var(--sub);font-size:13px}.status-value{overflow:visible;white-space:normal;word-break:break-word;font-variant-numeric:tabular-nums}
.table-wrap{max-width:100%;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;border-radius:16px;border:1px solid var(--line)}.wifi-table{width:100%;min-width:1080px;table-layout:fixed;border-collapse:collapse}.wifi-table th,.wifi-table td{padding:11px 13px;border-bottom:1px solid rgba(255,255,255,.06);text-align:left;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wifi-table th{position:sticky;top:0;background:#1d2330;z-index:1;font-weight:500}.wifi-table tr:hover{background:rgba(255,255,255,.03)}.wifi-table .col-band{width:72px}.wifi-table .col-host{width:240px}.wifi-table .col-ip{width:132px}.wifi-table .col-mac{width:170px}.wifi-table .col-signal{width:100px}.wifi-table .col-rate{width:120px}.wifi-table .col-time{width:130px}
.chart-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.chart-box{height:280px;background:#11151d;border:1px solid rgba(84,101,128,.58);border-radius:16px;padding:12px 12px 18px}.chart-box h3{margin:0 0 8px;color:#c6d3e6;font-size:13px}.chart-canvas{position:relative;height:calc(100% - 27px);min-height:0}.chart-canvas canvas{width:100%!important;height:100%!important}
@@ -109,7 +108,7 @@ a{color:inherit;text-decoration:none}
.resource-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.resource-box{min-width:0}.resource-box h3{margin:0 0 9px;color:#c6d3e6;font-size:14px;font-weight:500}.resource-table{width:100%;min-width:620px;table-layout:fixed;border-collapse:collapse;border:1px solid var(--line);border-radius:14px;overflow:hidden}.resource-table th,.resource-table td{padding:9px 10px;border-bottom:1px solid rgba(255,255,255,.06);background:#11151d;text-align:left;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.resource-table th{background:#1d2330;color:#c6d3e6;font-weight:500}.resource-table .pid{width:72px}.resource-table .metric{width:82px}.resource-table .service{width:150px}.resource-table .cmd{width:auto}.push-device-list{display:grid;gap:8px;margin-top:8px}.push-device-row{padding:10px 12px;border:1px solid rgba(84,101,128,.58);background:#11151d;border-radius:12px}.push-device-main{min-width:0;color:var(--sub);font-size:12px;line-height:1.45;display:grid;gap:2px;word-break:break-all}.push-device-main strong{color:#edf1f7;font-size:13px}
.notice{position:fixed;right:20px;bottom:20px;min-width:220px;max-width:420px;padding:14px 16px;border-radius:14px;font-weight:500;background:#1d2330;border:1px solid var(--line);box-shadow:var(--shadow);z-index:99}.notice:empty{display:none}.notice[data-type=success]{border-color:rgba(53,196,107,.5)}.notice[data-type=error]{border-color:rgba(255,95,87,.5)}
@media(max-width:1320px){.chart-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:1100px){.layout{grid-template-columns:1fr}.chart-grid,.resource-grid{grid-template-columns:1fr}.wifi-actions{grid-template-columns:1fr}.topbar{align-items:flex-start;flex-direction:column}.topbar-right{width:100%}.topbar-right .btn{flex:1}.stat-grid{grid-template-columns:1fr}.resource-head{align-items:flex-start;flex-direction:column}.baseline-pill{text-align:left;white-space:normal}}
@media(max-width:1100px){.layout{grid-template-columns:1fr}.chart-grid,.resource-grid{grid-template-columns:1fr}.topbar{align-items:flex-start;flex-direction:column}.topbar-right{width:100%}.topbar-right .btn{flex:1}.stat-grid{grid-template-columns:1fr}.resource-head{align-items:flex-start;flex-direction:column}.baseline-pill{text-align:left;white-space:normal}}
</style>
</head>
<body>
@@ -171,12 +170,6 @@ a{color:inherit;text-decoration:none}
<div class="stat"><div class="stat-label">2.4G Clients</div><div class="stat-value" id="wifi24">-</div></div>
<div class="stat"><div class="stat-label">5G Clients</div><div class="stat-value" id="wifi5">-</div></div>
</div>
<div style="height:14px"></div>
<div class="wifi-actions">
<button class="btn secondary" data-wifi-action="restart" data-wifi-unit="hostapd-24g.service"><span class="btn-line">Restart</span><span class="btn-line">2.4G</span></button>
<button class="btn secondary" data-wifi-action="restart" data-wifi-unit="hostapd-5g.service"><span class="btn-line">Restart</span><span class="btn-line">5G</span></button>
<button class="btn warn" data-wifi-action="restart" data-wifi-unit="dnsmasq.service"><span class="btn-line">Restart</span><span class="btn-line">DHCP</span></button>
</div>
</div>
<div class="card">
@@ -288,7 +281,7 @@ a{color:inherit;text-decoration:none}
</section>
</div>
<div id="notice" class="notice"></div>
<script src="/assets/app.js?v=20260606_wifitime1"></script>
<script src="/assets/app.js?v=20260607_nowifibtn1"></script>
<script src="/assets/wakelock.js?v=20260606_wakelock2"></script>
<script src="/push_subscribe.js?v=20260606_noappend1"></script>
<?php endif; ?>