히스토리 모드 현재 센서 섹션 숨김

This commit is contained in:
2026-07-20 12:39:20 +09:00
parent 20eeac9c63
commit 54e5b67c63
2 changed files with 18 additions and 18 deletions
+2
View File
@@ -84,6 +84,8 @@ Naver Map에는 단일 Polyline 중심의 부드러운 경로선을 먼저 그
`unknown`, `unavailable`, `<not connected>`, `<not available>`, `none`처럼 표시 가치가 낮은 상태와 Wi-Fi 미연결 시의 `0Mbps`, `0MHz`, `-1dBm` 값은 화면에서 제외합니다. Home Assistant 로그에서 속성 크기 경고가 발생하는 활성 알림 목록은 상세 속성을 노출하지 않고 개수만 표시합니다. `unknown`, `unavailable`, `<not connected>`, `<not available>`, `none`처럼 표시 가치가 낮은 상태와 Wi-Fi 미연결 시의 `0Mbps`, `0MHz`, `-1dBm` 값은 화면에서 제외합니다. Home Assistant 로그에서 속성 크기 경고가 발생하는 활성 알림 목록은 상세 속성을 노출하지 않고 개수만 표시합니다.
히스토리 범위 조회 중에는 현재 위치/업데이트/배터리/활동과 현재 센서 섹션을 숨깁니다. 초기화로 라이브 모드에 돌아오면 현재 센서 섹션을 다시 표시합니다.
Android Companion App의 실제 상태값은 API에서 한국어/영어 표시값으로 변환합니다. 예를 들어 `still`, `cellular`, `foreground_service`, `Transmitting`, `Stopped`, `portrait`, `silent` 같은 값은 화면 언어에 맞춰 표시됩니다. Android Companion App의 실제 상태값은 API에서 한국어/영어 표시값으로 변환합니다. 예를 들어 `still`, `cellular`, `foreground_service`, `Transmitting`, `Stopped`, `portrait`, `silent` 같은 값은 화면 언어에 맞춰 표시됩니다.
## 운영 메모 ## 운영 메모
+16 -18
View File
@@ -753,29 +753,29 @@ function ensureFindMyDeviceShell() {
<div class="settingRow"><span id="labelEndTime"></span><input class="dth" id="rangeEnd" type="datetime-local" /></div> <div class="settingRow"><span id="labelEndTime"></span><input class="dth" id="rangeEnd" type="datetime-local" /></div>
<div class="settingRow locateRow" id="HistoryResetBtn"><span id="labelHistoryReset"></span></div> <div class="settingRow locateRow" id="HistoryResetBtn"><span id="labelHistoryReset"></span></div>
</div> </div>
<div class="settingTitle"><span id="titleLocation"></span></div> <div class="settingTitle" data-live-status-section="1"><span id="titleLocation"></span></div>
<div class="settingSection"> <div class="settingSection" data-live-status-section="1">
<div class="settingRow"><span id="labelCurrentPosition"></span><span id="currentPosition"></span></div> <div class="settingRow"><span id="labelCurrentPosition"></span><span id="currentPosition"></span></div>
<div class="settingRow"><span id="labelGpsAccuracy"></span><span id="accuracyValue"></span></div> <div class="settingRow"><span id="labelGpsAccuracy"></span><span id="accuracyValue"></span></div>
<div class="settingRow" id="autoLocateBtn"><span id="labelCurrentAutoPosition"></span><label class="iosSwitch"><input id="autoPositionSwitch" type="checkbox" /><span class="slider"></span></label></div> <div class="settingRow" id="autoLocateBtn"><span id="labelCurrentAutoPosition"></span><label class="iosSwitch"><input id="autoPositionSwitch" type="checkbox" /><span class="slider"></span></label></div>
<div class="settingRow locateRow" id="locateBtn"><span id="labelMoveToCurrent"></span></div> <div class="settingRow locateRow" id="locateBtn"><span id="labelMoveToCurrent"></span></div>
</div> </div>
<div class="settingTitle"><span id="titleUpdate"></span></div> <div class="settingTitle" data-live-status-section="1"><span id="titleUpdate"></span></div>
<div class="settingSection"> <div class="settingSection" data-live-status-section="1">
<div class="settingRow"><span id="labelLastUpdate"></span><span id="lastUpdateTime"></span></div> <div class="settingRow"><span id="labelLastUpdate"></span><span id="lastUpdateTime"></span></div>
<div class="settingRow"><span id="labelUpdateTrigger"></span><span id="updateTrigger"></span></div> <div class="settingRow"><span id="labelUpdateTrigger"></span><span id="updateTrigger"></span></div>
<div class="settingRow" id="autoUpdateBtn"><span id="labelAutoUpdate"></span><label class="iosSwitch"><input id="autoUpdateSwitch" type="checkbox" /><span class="slider"></span></label></div> <div class="settingRow" id="autoUpdateBtn"><span id="labelAutoUpdate"></span><label class="iosSwitch"><input id="autoUpdateSwitch" type="checkbox" /><span class="slider"></span></label></div>
<div class="settingRow locateRow" id="updateBtn"><span id="labelForceUpdate"></span></div> <div class="settingRow locateRow" id="updateBtn"><span id="labelForceUpdate"></span></div>
</div> </div>
<div class="settingTitle"><span id="titleBattery"></span></div> <div class="settingTitle" data-live-status-section="1"><span id="titleBattery"></span></div>
<div class="settingSection" id="batterySection"> <div class="settingSection" id="batterySection" data-live-status-section="1">
<div class="settingRow"><span id="labelBatteryState"></span><span id="batteryStatus"></span></div> <div class="settingRow"><span id="labelBatteryState"></span><span id="batteryStatus"></span></div>
<div class="settingRow"><span id="labelBatteryLevel"></span><span id="Battery"></span></div> <div class="settingRow"><span id="labelBatteryLevel"></span><span id="Battery"></span></div>
<div class="settingRow"><span id="labelWatchBatteryState"></span><span id="WbatteryStatus"></span></div> <div class="settingRow"><span id="labelWatchBatteryState"></span><span id="WbatteryStatus"></span></div>
<div class="settingRow"><span id="labelWatchBatteryLevel"></span><span id="WBattery"></span></div> <div class="settingRow"><span id="labelWatchBatteryLevel"></span><span id="WBattery"></span></div>
</div> </div>
<div class="settingTitle"><span id="titleActivity"></span></div> <div class="settingTitle" data-live-status-section="1"><span id="titleActivity"></span></div>
<div class="settingSection"> <div class="settingSection" data-live-status-section="1">
<div class="settingRow"><span id="labelCurrentActivity"></span><span id="nowActivity"></span></div> <div class="settingRow"><span id="labelCurrentActivity"></span><span id="nowActivity"></span></div>
<div class="settingRow"><span id="labelDistance"></span><span id="todayDistance"></span></div> <div class="settingRow"><span id="labelDistance"></span><span id="todayDistance"></span></div>
<div class="settingRow"><span id="labelSteps"></span><span id="todaySteps"></span></div> <div class="settingRow"><span id="labelSteps"></span><span id="todaySteps"></span></div>
@@ -1288,6 +1288,7 @@ function updateCurrentAddress(data) {
} }
function updateDOM(data) { function updateDOM(data) {
setLiveStatusSectionsVisible(true);
highAccuracyModeActive = !!data.highAccuracyMode; highAccuracyModeActive = !!data.highAccuracyMode;
syncUpdateBtn(); syncUpdateBtn();
@@ -3030,19 +3031,16 @@ function debounce(fn, delay = 400) {
} }
function resetDisplayValues() { function resetDisplayValues() {
const ids = [ setLiveStatusSectionsVisible(false);
'currentPosition', 'accuracyValue', 'lastUpdateTime', 'updateTrigger',
'batteryStatus', 'Battery', 'WbatteryStatus', 'WBattery',
'nowActivity', 'nowactivityAccuracy', 'todayDistance',
'todaySteps', 'todayAscended', 'todayDescended', 'connectionType'
];
ids.forEach(id => {
const el = document.getElementById(id);
if (el) el.textContent = '-';
});
document.querySelectorAll('[data-sensor-row="1"], [data-sensor-title="1"], [id^="sensorSection_"]').forEach(el => el.remove()); document.querySelectorAll('[data-sensor-row="1"], [data-sensor-title="1"], [id^="sensorSection_"]').forEach(el => el.remove());
} }
function setLiveStatusSectionsVisible(visible) {
document.querySelectorAll('[data-live-status-section="1"]').forEach(el => {
el.hidden = !visible;
});
}
function triggerForceUpdate() { function triggerForceUpdate() {
callDeviceWebhook('force_update'); callDeviceWebhook('force_update');