iobroker.eos-admin 7.9.31 → 7.9.32
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/adminWww/css/eos-branding.css +94 -0
- package/adminWww/index.html +4 -4
- package/adminWww/js/eos-branding.js +41 -1
- package/io-package.json +5 -1
- package/package.json +1 -1
|
@@ -3138,3 +3138,97 @@ html.eos-app .eos-native-logout-hidden * {
|
|
|
3138
3138
|
html.eos-app .eos-native-drawer-header button,
|
|
3139
3139
|
html.eos-app .eos-native-drawer-header .MuiIconButton-root { width: 38px !important; height: 38px !important; min-width: 38px !important; min-height: 38px !important; }
|
|
3140
3140
|
}
|
|
3141
|
+
|
|
3142
|
+
|
|
3143
|
+
/* === NexoWatt EOS v32: keep arrow button, remove empty left tile ============
|
|
3144
|
+
The previous patch hid the native arrow together with the decorative tile on
|
|
3145
|
+
some render paths. This patch removes only the empty native tile and creates
|
|
3146
|
+
one independent compact-toggle button, positioned clearly left of the menu.
|
|
3147
|
+
The navigation still has two states only: normal and compact. It never fully
|
|
3148
|
+
disappears. */
|
|
3149
|
+
:root { --eos-nav-toggle-slot: 78px; }
|
|
3150
|
+
html.eos-app .MuiDrawer-paper,
|
|
3151
|
+
html.eos-app .eos-drawer,
|
|
3152
|
+
html.eos-app.eos-nav-compact .MuiDrawer-paper,
|
|
3153
|
+
html.eos-app.eos-nav-compact .eos-drawer {
|
|
3154
|
+
padding-left: var(--eos-nav-toggle-slot) !important;
|
|
3155
|
+
transform: none !important;
|
|
3156
|
+
visibility: visible !important;
|
|
3157
|
+
opacity: 1 !important;
|
|
3158
|
+
}
|
|
3159
|
+
|
|
3160
|
+
/* Hide the decorative native tile only. The real button is injected below. */
|
|
3161
|
+
html.eos-app .eos-native-drawer-header,
|
|
3162
|
+
html.eos-app .eos-nav-toggle-shell {
|
|
3163
|
+
display: none !important;
|
|
3164
|
+
visibility: hidden !important;
|
|
3165
|
+
opacity: 0 !important;
|
|
3166
|
+
pointer-events: none !important;
|
|
3167
|
+
width: 0 !important;
|
|
3168
|
+
min-width: 0 !important;
|
|
3169
|
+
max-width: 0 !important;
|
|
3170
|
+
height: 0 !important;
|
|
3171
|
+
min-height: 0 !important;
|
|
3172
|
+
max-height: 0 !important;
|
|
3173
|
+
padding: 0 !important;
|
|
3174
|
+
margin: 0 !important;
|
|
3175
|
+
border: 0 !important;
|
|
3176
|
+
box-shadow: none !important;
|
|
3177
|
+
background: transparent !important;
|
|
3178
|
+
overflow: hidden !important;
|
|
3179
|
+
}
|
|
3180
|
+
|
|
3181
|
+
html.eos-app .eos-standalone-nav-toggle {
|
|
3182
|
+
position: fixed !important;
|
|
3183
|
+
left: 24px !important;
|
|
3184
|
+
top: calc(var(--eos-shell-top) + var(--eos-header-height) + var(--eos-nav-gap) + 14px) !important;
|
|
3185
|
+
z-index: 2500 !important;
|
|
3186
|
+
width: 44px !important;
|
|
3187
|
+
height: 44px !important;
|
|
3188
|
+
min-width: 44px !important;
|
|
3189
|
+
min-height: 44px !important;
|
|
3190
|
+
display: grid !important;
|
|
3191
|
+
place-items: center !important;
|
|
3192
|
+
border-radius: 16px !important;
|
|
3193
|
+
border: 1px solid rgba(110, 255, 211, 0.65) !important;
|
|
3194
|
+
background: radial-gradient(circle at 50% 50%, rgba(0,255,136,.22), rgba(0,0,0,.92) 74%) !important;
|
|
3195
|
+
color: #f4fffb !important;
|
|
3196
|
+
box-shadow: 0 0 16px rgba(0,255,136,.28), inset 0 0 12px rgba(0,255,136,.12) !important;
|
|
3197
|
+
cursor: pointer !important;
|
|
3198
|
+
outline: none !important;
|
|
3199
|
+
padding: 0 !important;
|
|
3200
|
+
margin: 0 !important;
|
|
3201
|
+
appearance: none !important;
|
|
3202
|
+
-webkit-appearance: none !important;
|
|
3203
|
+
}
|
|
3204
|
+
html.eos-app .eos-standalone-nav-toggle:hover,
|
|
3205
|
+
html.eos-app .eos-standalone-nav-toggle:focus-visible {
|
|
3206
|
+
border-color: rgba(0, 255, 136, .95) !important;
|
|
3207
|
+
box-shadow: 0 0 22px rgba(0,255,136,.42), inset 0 0 16px rgba(0,255,136,.18) !important;
|
|
3208
|
+
transform: translateY(-1px) !important;
|
|
3209
|
+
}
|
|
3210
|
+
html.eos-app .eos-standalone-nav-toggle svg {
|
|
3211
|
+
width: 22px !important;
|
|
3212
|
+
height: 22px !important;
|
|
3213
|
+
display: block !important;
|
|
3214
|
+
transition: transform .16s ease !important;
|
|
3215
|
+
}
|
|
3216
|
+
html.eos-app.eos-nav-compact .eos-standalone-nav-toggle svg {
|
|
3217
|
+
transform: rotate(180deg) !important;
|
|
3218
|
+
}
|
|
3219
|
+
html.eos-login .eos-standalone-nav-toggle,
|
|
3220
|
+
html:not(.eos-app) .eos-standalone-nav-toggle {
|
|
3221
|
+
display: none !important;
|
|
3222
|
+
}
|
|
3223
|
+
@media (max-width: 720px) {
|
|
3224
|
+
:root { --eos-nav-toggle-slot: 66px; }
|
|
3225
|
+
html.eos-app .eos-standalone-nav-toggle {
|
|
3226
|
+
left: 14px !important;
|
|
3227
|
+
top: calc(var(--eos-shell-top) + var(--eos-header-height) + var(--eos-nav-gap) + 10px) !important;
|
|
3228
|
+
width: 40px !important;
|
|
3229
|
+
height: 40px !important;
|
|
3230
|
+
min-width: 40px !important;
|
|
3231
|
+
min-height: 40px !important;
|
|
3232
|
+
border-radius: 14px !important;
|
|
3233
|
+
}
|
|
3234
|
+
}
|
package/adminWww/index.html
CHANGED
|
@@ -31,7 +31,7 @@
|
|
|
31
31
|
rel="stylesheet"
|
|
32
32
|
href="css/leaflet.css"
|
|
33
33
|
/>
|
|
34
|
-
<link rel="stylesheet" href="./css/eos-branding.css?v=
|
|
34
|
+
<link rel="stylesheet" href="./css/eos-branding.css?v=32" />
|
|
35
35
|
<link
|
|
36
36
|
rel="manifest"
|
|
37
37
|
href="manifest.json"
|
|
@@ -154,9 +154,9 @@
|
|
|
154
154
|
<script type="module" crossorigin src="./assets/index-CQZugZ1z.js"></script>
|
|
155
155
|
<link rel="modulepreload" crossorigin href="./assets/preload-helper-BDBacUwf.js">
|
|
156
156
|
<link rel="modulepreload" crossorigin href="./assets/iobroker_admin__mf_v__runtimeInit__mf_v__-g2X2zhAf.js">
|
|
157
|
-
<script defer src="./js/eos-branding.js?v=
|
|
158
|
-
<script defer src="./js/eos-security-ui.js?v=
|
|
159
|
-
<script defer src="./js/eos-assistant.js?v=
|
|
157
|
+
<script defer src="./js/eos-branding.js?v=32"></script>
|
|
158
|
+
<script defer src="./js/eos-security-ui.js?v=32"></script>
|
|
159
|
+
<script defer src="./js/eos-assistant.js?v=32"></script>
|
|
160
160
|
</head>
|
|
161
161
|
<body>
|
|
162
162
|
<noscript>You need to enable JavaScript to run this app.</noscript>
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
(() => {
|
|
2
2
|
'use strict';
|
|
3
3
|
|
|
4
|
-
window.NEXOWATT_EOS_UI_VERSION = '
|
|
4
|
+
window.NEXOWATT_EOS_UI_VERSION = 'v32-nav-toggle-tile-fix';
|
|
5
5
|
|
|
6
6
|
const BRAND = 'NexoWatt EOS';
|
|
7
7
|
const EOS_MEANING = 'Energy Operation System';
|
|
@@ -1045,6 +1045,44 @@
|
|
|
1045
1045
|
}, true);
|
|
1046
1046
|
});
|
|
1047
1047
|
|
|
1048
|
+
|
|
1049
|
+
const ensureStandaloneNavToggle = () => safe(() => {
|
|
1050
|
+
const html = document.documentElement;
|
|
1051
|
+
if (!html.classList.contains('eos-app') || html.classList.contains('eos-login')) {
|
|
1052
|
+
document.getElementById('eos-standalone-nav-toggle')?.remove();
|
|
1053
|
+
return;
|
|
1054
|
+
}
|
|
1055
|
+
let button = document.getElementById('eos-standalone-nav-toggle');
|
|
1056
|
+
if (!button) {
|
|
1057
|
+
button = document.createElement('button');
|
|
1058
|
+
button.id = 'eos-standalone-nav-toggle';
|
|
1059
|
+
button.type = 'button';
|
|
1060
|
+
button.className = 'eos-standalone-nav-toggle';
|
|
1061
|
+
button.innerHTML = '<svg viewBox="0 0 24 24" aria-hidden="true" focusable="false"><path d="M14.8 5.4 8.2 12l6.6 6.6" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"/></svg>';
|
|
1062
|
+
const toggle = event => {
|
|
1063
|
+
event.preventDefault();
|
|
1064
|
+
event.stopPropagation();
|
|
1065
|
+
event.stopImmediatePropagation?.();
|
|
1066
|
+
const compact = !document.documentElement.classList.contains('eos-nav-compact');
|
|
1067
|
+
document.documentElement.classList.toggle('eos-nav-compact', compact);
|
|
1068
|
+
safe(() => localStorage.setItem('nexowatt:eosNavCompact', compact ? '1' : '0'));
|
|
1069
|
+
button.setAttribute('aria-pressed', compact ? 'true' : 'false');
|
|
1070
|
+
button.setAttribute('title', compact ? 'Navigation normal anzeigen' : 'Navigation kompakt anzeigen');
|
|
1071
|
+
button.setAttribute('aria-label', compact ? 'Navigation normal anzeigen' : 'Navigation kompakt anzeigen');
|
|
1072
|
+
};
|
|
1073
|
+
button.addEventListener('click', toggle, true);
|
|
1074
|
+
button.addEventListener('keydown', event => {
|
|
1075
|
+
if (event.key === 'Enter' || event.key === ' ') toggle(event);
|
|
1076
|
+
}, true);
|
|
1077
|
+
document.body.appendChild(button);
|
|
1078
|
+
}
|
|
1079
|
+
const compact = document.documentElement.classList.contains('eos-nav-compact') || safe(() => localStorage.getItem('nexowatt:eosNavCompact') === '1');
|
|
1080
|
+
document.documentElement.classList.toggle('eos-nav-compact', !!compact);
|
|
1081
|
+
button.setAttribute('aria-pressed', compact ? 'true' : 'false');
|
|
1082
|
+
button.setAttribute('title', compact ? 'Navigation normal anzeigen' : 'Navigation kompakt anzeigen');
|
|
1083
|
+
button.setAttribute('aria-label', compact ? 'Navigation normal anzeigen' : 'Navigation kompakt anzeigen');
|
|
1084
|
+
});
|
|
1085
|
+
|
|
1048
1086
|
const patchDocumentMeta = () => safe(() => {
|
|
1049
1087
|
document.title = BRAND_LONG;
|
|
1050
1088
|
const theme = document.querySelector('meta[name="theme-color"]');
|
|
@@ -1063,6 +1101,7 @@
|
|
|
1063
1101
|
patchLogin();
|
|
1064
1102
|
patchShell();
|
|
1065
1103
|
applyNavCompactPreference();
|
|
1104
|
+
ensureStandaloneNavToggle();
|
|
1066
1105
|
installAssistDelegatedClick();
|
|
1067
1106
|
ensureEosAssist();
|
|
1068
1107
|
ensureRightsHelper();
|
|
@@ -1083,6 +1122,7 @@
|
|
|
1083
1122
|
patchLogin();
|
|
1084
1123
|
patchShell();
|
|
1085
1124
|
applyNavCompactPreference();
|
|
1125
|
+
ensureStandaloneNavToggle();
|
|
1086
1126
|
installAssistDelegatedClick();
|
|
1087
1127
|
ensureEosAssist();
|
|
1088
1128
|
ensureRightsHelper();
|
package/io-package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"common": {
|
|
3
3
|
"name": "eos-admin",
|
|
4
|
-
"version": "7.9.
|
|
4
|
+
"version": "7.9.32",
|
|
5
5
|
"titleLang": {
|
|
6
6
|
"en": "NexoWatt EOS Admin",
|
|
7
7
|
"de": "NexoWatt EOS Admin",
|
|
@@ -161,6 +161,10 @@
|
|
|
161
161
|
"pl": "Rozszerzony plik konfiguracyjny JSON do adaptera fregata",
|
|
162
162
|
"uk": "Розширений налаштування JSON для адаптера фригату",
|
|
163
163
|
"zh-cn": "JSON 护卫舰适配器扩展配置"
|
|
164
|
+
},
|
|
165
|
+
"7.9.32": {
|
|
166
|
+
"en": "Fixed the EOS navigation compact toggle: the decorative left tile was removed while the arrow button remains visible and usable.",
|
|
167
|
+
"de": "EOS Navigationsumschalter korrigiert: Die dekorative linke Kachel wurde entfernt, der Pfeilbutton bleibt sichtbar und nutzbar."
|
|
164
168
|
}
|
|
165
169
|
},
|
|
166
170
|
"desc": {
|