iobroker.eos-admin 7.9.84 → 7.9.85

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.
@@ -314,4 +314,4 @@ Możesz dowolnie konfigurować adaptery używane do powiadomień - takie jak Tel
314
314
  transform: translateY(-10%);
315
315
  }
316
316
  }
317
- `}),jsxRuntimeExports.jsxs(iobroker_admin__loadShare___mf_0_mui_mf_1_material__loadShare__.Paper,{elevation:0,style:{...styles.root,paddingRight:this.state.chatDockWidth||void 0},children:[jsxRuntimeExports.jsx(iobroker_admin__loadShare___mf_0_mui_mf_1_material__loadShare__.AppBar,{color:"default",position:"fixed",sx:iobroker_admin__loadShare___mf_0_iobroker_mf_1_adapter_mf_2_react_mf_2_v5__loadShare__.Utils.getStyle(this.state.theme,styles.appBar,!e&&this.state.drawerState===STATES.opened&&!this.state.editMenuList&&styles.appBarShift,!e&&this.state.drawerState===STATES.opened&&this.state.editMenuList&&styles.appBarShiftEdit,!e&&this.state.drawerState===STATES.compact&&styles.appBarShiftCompact,this.state.chatDockWidth?{paddingRight:`${this.state.chatDockWidth}px`}:void 0),children:this.renderToolbar(e)}),jsxRuntimeExports.jsx(DndProvider,{backend:e?TouchBackend:HTML5Backend,children:jsxRuntimeExports.jsx(Drawer$1,{adminGuiConfig:this.adminGuiConfig,state:this.state.drawerState,editMenuList:this.state.editMenuList,setEditMenuList:a=>this.setState({editMenuList:a}),systemConfig:this.state.systemConfig,handleNavigation:this.handleNavigation,onStateChange:a=>this.handleDrawerState(a),onLogout:()=>App.logout(),currentTab:this.state.currentTab&&this.state.currentTab.tab,instancesWorker:this.instancesWorker,hostsWorker:this.hostsWorker,logsWorker:this.logsWorker,logoutTitle:iobroker_admin__loadShare___mf_0_iobroker_mf_1_adapter_mf_2_react_mf_2_v5__loadShare__.I18n.t("ra_Logout"),isSecure:this.socket.isSecure,versionAdmin:this.state.versionAdmin,t:iobroker_admin__loadShare___mf_0_iobroker_mf_1_adapter_mf_2_react_mf_2_v5__loadShare__.I18n.t,lang:iobroker_admin__loadShare___mf_0_iobroker_mf_1_adapter_mf_2_react_mf_2_v5__loadShare__.I18n.getLanguage(),socket:this.socket,expertMode:this.state.expertMode,ready:this.state.ready&&this.state.connected,themeName:this.state.themeName,themeType:this.state.themeType,hostname:this.state.hostname,adminInstance:this.adminInstance,hosts:this.state.hosts,repository:this.state.repository,installed:this.state.installed,theme:this.state.theme,provideTabsInfo:a=>{this.tabsInfo=a}})}),jsxRuntimeExports.jsx(iobroker_admin__loadShare___mf_0_mui_mf_1_material__loadShare__.Paper,{elevation:0,square:!0,id:"app-paper",sx:iobroker_admin__loadShare___mf_0_iobroker_mf_1_adapter_mf_2_react_mf_2_v5__loadShare__.Utils.getStyle(this.state.theme,styles.content,!e&&this.state.drawerState!==STATES.compact&&!this.state.editMenuList&&styles.contentMargin,!e&&this.state.drawerState!==STATES.compact&&this.state.editMenuList&&styles.contentMarginEdit,!e&&this.state.drawerState!==STATES.opened&&styles.contentMarginCompact,!e&&this.state.drawerState!==STATES.closed&&styles.contentShift),children:this.getCurrentTab()}),this.renderAlertSnackbar()]}),this.renderTokenTimeoutDialog(),this.renderExpertDialog(),this.getCurrentDialog(),this.renderDialogConfirm(),this.renderCommandDialog(),this.renderWizardDialog(),this.showRedirectDialog(),this.renderSlowConnectionWarning(),this.renderNewsDialog(),this.renderHostWarningDialog(),this.renderNotificationsDialog(),!this.state.connected&&!this.state.redirectCountDown&&!this.state.updating?jsxRuntimeExports.jsx(Connecting,{}):null,this.renderShowGuiSettings(),this.state.connected&&this.socket&&this.state.disableMcp===!1?jsxRuntimeExports.jsx(ChatPanel,{socket:this.socket,instance:this.adminInstance,theme:this.state.theme,themeType:this.state.themeType,host:this.state.currentHost,executeCommand:(a,n,i)=>this.executeCommand(a,n,i),onNavigate:a=>this.handleNavigation(a),onDockWidthChange:a=>this.setState({chatDockWidth:a})}):null]})})}}const App$1=iobroker_admin__loadShare___mf_0_iobroker_mf_1_adapter_mf_2_react_mf_2_v5__loadShare__.withWidth()(App);window.adapterName="eos-admin";window.USE_OAUTH2=!0;console.log(`iobroker.${window.adapterName}@${version$c.version}`);const versionChanged=["ChunkLoadError","Failed to fetch dynamically imported module","removeChild","DOMException"],ignoreErrors=["removeChild","Loading chunk","getWidth","safari-extension","this.animation","No connection","notConnectedError","has no target","ResizeObserver","WorkerGlobalScope","generateKey","The operation is insecure.","SyntaxError: An invalid or illegal string was specified","Can't find variable: servConn","LPContentScriptFeatures","window.webkit.messageHandlers","has no target"];(!window.disableDataReporting||window.disableDataReporting==="@@disableDataReporting@@")&&window.location.port!=="3000"?init({dsn:"https://43643152dab3481db69950ba866ee9d6@sentry.iobroker.net/58",release:`iobroker.${window.adapterName}@${version$c.version}`,integrations:[dedupeIntegration()],beforeSend(t){var a,n;const e=(n=(a=t==null?void 0:t.exception)==null?void 0:a.values)==null?void 0:n.map(i=>i.value).join(" ");if(e&&versionChanged.find(i=>e.includes(i)))window.location.reload();else{if(e&&ignoreErrors.find(i=>e.includes(i)))return null;if(t!=null&&t.message&&versionChanged.find(i=>t.message.includes(i)))window.location.reload();else if(t!=null&&t.message&&ignoreErrors.find(i=>t.message.includes(i)))return null}return t}}):(window.onerror=(t,e,a,n,i)=>{!i&&t&&(i=t);const o=i.toString();if(typeof i=="object"&&o&&versionChanged.find(r=>o.includes(r))){const r=i.message,l=i.stack;console.error("Try to detect admin version change:"),console.error(r),console.error(JSON.stringify(l,null,2)),window.location.reload();return}if(typeof i=="string"){if(ignoreErrors.find(r=>i.includes(r))){console.error(`Ignore error: ${i}`);return}throw new Error(i)}throw i},window.onunhandledrejection=t=>{var a;const e=((a=t.reason)==null?void 0:a.toString())??String(t.reason);if(e&&versionChanged.find(n=>e.includes(n))){console.error(`Try to detect admin version change: ${t.reason}`),window.location.reload();return}throw t instanceof Error?t:new Error(e)});const container=document.getElementById("root");container&&createRoot(container).render(jsxRuntimeExports.jsx(iobroker_admin__loadShare___mf_0_mui_mf_1_x_mf_2_date_mf_2_pickers__loadShare__.LocalizationProvider,{dateAdapter:AdapterDateFns,children:jsxRuntimeExports.jsx(ContextWrapperProvider,{children:jsxRuntimeExports.jsx(App$1,{})})}));const bootstrap=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"}));export{AUTO_UPGRADE_SETTINGS as A,Command$b as C,DndProvider as D,Editor as E,GenericWorker as G,HostSelectors as H,IsVisible as I,LicenseDialog as L,MobileDialog as M,SlowConnectionWarningDialogClass as S,TouchBackend as T,__variableDynamicImportRuntimeHelper as _,AUTO_UPGRADE_OPTIONS_MAPPING as a,AdminUtils as b,applyReverseProxyToLink as c,AdapterDateFns as d,useDrop as e,fastDeepEqual as f,getEmptyImage as g,HTML5Backend as h,iobroker_admin__loadShare__date_mf_2_fns_mf_1_locale__loadShare__ as i,useDragLayer as j,DeviceList as k,MOBILE_WIDTH as l,CONTROLLER_CHANGELOG_URL as m,Markdown as n,bootstrap as o,replaceLink as r,semver as s,useDrag as u};
317
+ `}),jsxRuntimeExports.jsxs(iobroker_admin__loadShare___mf_0_mui_mf_1_material__loadShare__.Paper,{elevation:0,style:{...styles.root,paddingRight:this.state.chatDockWidth||void 0},children:[jsxRuntimeExports.jsx(iobroker_admin__loadShare___mf_0_mui_mf_1_material__loadShare__.AppBar,{color:"default",position:"fixed",sx:iobroker_admin__loadShare___mf_0_iobroker_mf_1_adapter_mf_2_react_mf_2_v5__loadShare__.Utils.getStyle(this.state.theme,styles.appBar,!e&&this.state.drawerState===STATES.opened&&!this.state.editMenuList&&styles.appBarShift,!e&&this.state.drawerState===STATES.opened&&this.state.editMenuList&&styles.appBarShiftEdit,!e&&this.state.drawerState===STATES.compact&&styles.appBarShiftCompact,this.state.chatDockWidth?{paddingRight:`${this.state.chatDockWidth}px`}:void 0),children:this.renderToolbar(e)}),jsxRuntimeExports.jsx(DndProvider,{backend:e?TouchBackend:HTML5Backend,children:jsxRuntimeExports.jsx(Drawer$1,{adminGuiConfig:this.adminGuiConfig,state:this.state.drawerState,editMenuList:this.state.editMenuList,setEditMenuList:a=>this.setState({editMenuList:a}),systemConfig:this.state.systemConfig,handleNavigation:this.handleNavigation,onStateChange:a=>this.handleDrawerState(a),onLogout:()=>App.logout(),currentTab:this.state.currentTab&&this.state.currentTab.tab,instancesWorker:this.instancesWorker,hostsWorker:this.hostsWorker,logsWorker:this.logsWorker,logoutTitle:iobroker_admin__loadShare___mf_0_iobroker_mf_1_adapter_mf_2_react_mf_2_v5__loadShare__.I18n.t("ra_Logout"),isSecure:this.socket.isSecure,versionAdmin:this.state.versionAdmin,t:iobroker_admin__loadShare___mf_0_iobroker_mf_1_adapter_mf_2_react_mf_2_v5__loadShare__.I18n.t,lang:iobroker_admin__loadShare___mf_0_iobroker_mf_1_adapter_mf_2_react_mf_2_v5__loadShare__.I18n.getLanguage(),socket:this.socket,expertMode:this.state.expertMode,ready:this.state.ready&&this.state.connected,themeName:this.state.themeName,themeType:this.state.themeType,hostname:this.state.hostname,adminInstance:this.adminInstance,hosts:this.state.hosts,repository:this.state.repository,installed:this.state.installed,theme:this.state.theme,provideTabsInfo:a=>{this.tabsInfo=a}})}),jsxRuntimeExports.jsx(iobroker_admin__loadShare___mf_0_mui_mf_1_material__loadShare__.Paper,{elevation:0,square:!0,id:"app-paper",sx:iobroker_admin__loadShare___mf_0_iobroker_mf_1_adapter_mf_2_react_mf_2_v5__loadShare__.Utils.getStyle(this.state.theme,styles.content,!e&&this.state.drawerState!==STATES.compact&&!this.state.editMenuList&&styles.contentMargin,!e&&this.state.drawerState!==STATES.compact&&this.state.editMenuList&&styles.contentMarginEdit,!e&&this.state.drawerState!==STATES.opened&&styles.contentMarginCompact,!e&&this.state.drawerState!==STATES.closed&&styles.contentShift),children:this.getCurrentTab()}),this.renderAlertSnackbar()]}),this.renderTokenTimeoutDialog(),this.renderExpertDialog(),this.getCurrentDialog(),this.renderDialogConfirm(),this.renderCommandDialog(),this.renderWizardDialog(),this.showRedirectDialog(),this.renderSlowConnectionWarning(),this.renderNewsDialog(),this.renderHostWarningDialog(),this.renderNotificationsDialog(),!this.state.connected&&!this.state.redirectCountDown&&!this.state.updating?jsxRuntimeExports.jsx(Connecting,{}):null,this.renderShowGuiSettings(),null]})})}}const App$1=iobroker_admin__loadShare___mf_0_iobroker_mf_1_adapter_mf_2_react_mf_2_v5__loadShare__.withWidth()(App);window.NEXOWATT_EXTERNAL_IOBROKER_ASSISTANT_DISABLED=!0;window.adapterName="eos-admin";window.USE_OAUTH2=!0;console.log(`iobroker.${window.adapterName}@${version$c.version}`);const versionChanged=["ChunkLoadError","Failed to fetch dynamically imported module","removeChild","DOMException"],ignoreErrors=["removeChild","Loading chunk","getWidth","safari-extension","this.animation","No connection","notConnectedError","has no target","ResizeObserver","WorkerGlobalScope","generateKey","The operation is insecure.","SyntaxError: An invalid or illegal string was specified","Can't find variable: servConn","LPContentScriptFeatures","window.webkit.messageHandlers","has no target"];(!window.disableDataReporting||window.disableDataReporting==="@@disableDataReporting@@")&&window.location.port!=="3000"?init({dsn:"https://43643152dab3481db69950ba866ee9d6@sentry.iobroker.net/58",release:`iobroker.${window.adapterName}@${version$c.version}`,integrations:[dedupeIntegration()],beforeSend(t){var a,n;const e=(n=(a=t==null?void 0:t.exception)==null?void 0:a.values)==null?void 0:n.map(i=>i.value).join(" ");if(e&&versionChanged.find(i=>e.includes(i)))window.location.reload();else{if(e&&ignoreErrors.find(i=>e.includes(i)))return null;if(t!=null&&t.message&&versionChanged.find(i=>t.message.includes(i)))window.location.reload();else if(t!=null&&t.message&&ignoreErrors.find(i=>t.message.includes(i)))return null}return t}}):(window.onerror=(t,e,a,n,i)=>{!i&&t&&(i=t);const o=i.toString();if(typeof i=="object"&&o&&versionChanged.find(r=>o.includes(r))){const r=i.message,l=i.stack;console.error("Try to detect admin version change:"),console.error(r),console.error(JSON.stringify(l,null,2)),window.location.reload();return}if(typeof i=="string"){if(ignoreErrors.find(r=>i.includes(r))){console.error(`Ignore error: ${i}`);return}throw new Error(i)}throw i},window.onunhandledrejection=t=>{var a;const e=((a=t.reason)==null?void 0:a.toString())??String(t.reason);if(e&&versionChanged.find(n=>e.includes(n))){console.error(`Try to detect admin version change: ${t.reason}`),window.location.reload();return}throw t instanceof Error?t:new Error(e)});const container=document.getElementById("root");container&&createRoot(container).render(jsxRuntimeExports.jsx(iobroker_admin__loadShare___mf_0_mui_mf_1_x_mf_2_date_mf_2_pickers__loadShare__.LocalizationProvider,{dateAdapter:AdapterDateFns,children:jsxRuntimeExports.jsx(ContextWrapperProvider,{children:jsxRuntimeExports.jsx(App$1,{})})}));const bootstrap=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"}));export{AUTO_UPGRADE_SETTINGS as A,Command$b as C,DndProvider as D,Editor as E,GenericWorker as G,HostSelectors as H,IsVisible as I,LicenseDialog as L,MobileDialog as M,SlowConnectionWarningDialogClass as S,TouchBackend as T,__variableDynamicImportRuntimeHelper as _,AUTO_UPGRADE_OPTIONS_MAPPING as a,AdminUtils as b,applyReverseProxyToLink as c,AdapterDateFns as d,useDrop as e,fastDeepEqual as f,getEmptyImage as g,HTML5Backend as h,iobroker_admin__loadShare__date_mf_2_fns_mf_1_locale__loadShare__ as i,useDragLayer as j,DeviceList as k,MOBILE_WIDTH as l,CONTROLLER_CHANGELOG_URL as m,Markdown as n,bootstrap as o,replaceLink as r,semver as s,useDrag as u};
@@ -108,12 +108,12 @@ html.eos-app .eos-top-toolbar {
108
108
  }
109
109
 
110
110
  .eos-brand-badge {
111
- min-width: 310px;
112
- min-height: 52px;
111
+ min-width: 260px;
112
+ min-height: 58px;
113
113
  display: inline-flex;
114
114
  align-items: center;
115
- gap: 11px;
116
- padding: 6px 14px 6px 8px;
115
+ gap: 10px;
116
+ padding: 6px 14px 6px 10px;
117
117
  border-radius: 19px;
118
118
  border: 1px solid rgba(0,255,136,.40);
119
119
  background:
@@ -122,19 +122,23 @@ html.eos-app .eos-top-toolbar {
122
122
  box-shadow: inset 0 1px 0 rgba(255,255,255,.07), 0 10px 22px rgba(0,0,0,.22);
123
123
  flex: 0 0 auto;
124
124
  }
125
- .eos-brand-badge-mark {
126
- width: 44px;
127
- height: 44px;
128
- display: grid;
129
- place-items: center;
130
- border-radius: 15px;
131
- background: rgba(0,255,136,.08);
132
- border: 1px solid rgba(0,255,136,.22);
133
- }
134
- .eos-brand-badge-logo { width: 40px; height: 40px; object-fit: contain; filter: drop-shadow(0 0 12px rgba(0,255,136,.34)); }
135
- .eos-brand-badge-copy { display: flex; flex-direction: column; min-width: 0; line-height: 1.05; }
136
- .eos-brand-badge-copy strong { color: #f5fcff; font-size: 13px; font-weight: 950; white-space: nowrap; }
137
- .eos-brand-badge-copy small { margin-top: 4px; color: rgba(222,238,255,.75); font-size: 7.5px; font-weight: 850; letter-spacing: .07em; text-transform: uppercase; white-space: nowrap; }
125
+ .eos-brand-badge-full {
126
+ min-width: 0;
127
+ display: flex;
128
+ align-items: center;
129
+ }
130
+ .eos-brand-badge-full-logo {
131
+ width: 205px;
132
+ max-width: min(48vw, 205px);
133
+ height: auto;
134
+ max-height: 56px;
135
+ object-fit: contain;
136
+ display: block;
137
+ filter: drop-shadow(0 0 12px rgba(0,255,136,.24));
138
+ }
139
+ .eos-brand-badge-mark,
140
+ .eos-brand-badge-logo,
141
+ .eos-brand-badge-copy { display: none !important; }
138
142
  .eos-brand-led { width: 8px; height: 8px; margin-left: auto; border-radius: 50%; background: var(--nx-accent); box-shadow: 0 0 12px rgba(0,255,136,.85); }
139
143
 
140
144
  .eos-native-toolbar-identity-hidden,
@@ -443,7 +447,8 @@ html.eos-objects-surface .MuiDialog-root:has(#edit-value-dialog-title) { z-index
443
447
  @media (max-width: 1220px) {
444
448
  :root { --nx-page-x: 10px; --nx-header-h: 64px; --nx-nav-h: 68px; }
445
449
  .eos-brand-badge { min-width: 66px; padding: 6px 9px; }
446
- .eos-brand-badge-copy, .eos-brand-led { display: none; }
450
+ .eos-brand-led { display: none; }
451
+ .eos-brand-badge-full-logo { width: 165px; height: auto; max-height: 46px; max-width: min(44vw, 165px); }
447
452
  html.eos-app .nexowatt-native-nav-item { padding: 0 12px !important; }
448
453
  .eos-native-nav-icon,
449
454
  .nexowatt-native-nav-icon { width: 31px; height: 31px; min-width: 31px; }
@@ -452,9 +457,8 @@ html.eos-objects-surface .MuiDialog-root:has(#edit-value-dialog-title) { z-index
452
457
  @media (max-width: 760px) {
453
458
  :root { --nx-page-x: 7px; --nx-shell-top: 7px; --nx-header-h: 58px; --nx-nav-gap: 8px; --nx-nav-h: 64px; }
454
459
  html.eos-app .eos-top-toolbar { padding: 0 8px !important; gap: 5px !important; }
455
- .eos-brand-badge { min-width: 52px; min-height: 48px; }
456
- .eos-brand-badge-mark { width: 40px; height: 40px; }
457
- .eos-brand-badge-logo { width: 36px; height: 36px; }
460
+ .eos-brand-badge { min-width: 52px; min-height: 48px; padding: 5px 8px; }
461
+ .eos-brand-badge-full-logo { width: 120px; height: auto; max-height: 34px; max-width: min(40vw, 120px); }
458
462
  html.eos-app .nexowatt-native-nav-item { height: 48px !important; min-height: 48px !important; }
459
463
  .eos-assist-root { right: 14px; bottom: 14px; }
460
464
  .eos-assist-button { min-width: 52px; width: 52px; height: 52px; padding: 0; place-items: center; grid-template-columns: 1fr; }
@@ -8,7 +8,7 @@
8
8
  <meta http-equiv="Cache-Control" content="no-store, no-cache, must-revalidate" />
9
9
  <meta http-equiv="Pragma" content="no-cache" />
10
10
  <meta http-equiv="Expires" content="0" />
11
- <script src="./js/eos-manual-write-policy.js?v=84"></script>
11
+ <script src="./js/eos-manual-write-policy.js?v=85"></script>
12
12
  <script type="module" src="./assets/hostInit-v84.js?v=84"></script>
13
13
 
14
14
  <meta charset="utf-8" />
@@ -36,7 +36,7 @@
36
36
  rel="stylesheet"
37
37
  href="css/leaflet.css"
38
38
  />
39
- <link rel="stylesheet" href="./css/nexowatt-native-shell.css?v=84" />
39
+ <link rel="stylesheet" href="./css/nexowatt-native-shell.css?v=85" />
40
40
  <link
41
41
  rel="manifest"
42
42
  href="manifest.json"
@@ -159,11 +159,11 @@
159
159
  <script type="module" crossorigin src="./assets/index-CQZugZ1z-v84.js?v=84"></script>
160
160
  <link rel="modulepreload" crossorigin href="./assets/preload-helper-BDBacUwf.js">
161
161
  <link rel="modulepreload" crossorigin href="./assets/iobroker_admin__mf_v__runtimeInit__mf_v__-g2X2zhAf.js">
162
- <script defer src="./js/eos-policy-client.js?v=84"></script>
163
- <script defer src="./js/nexowatt-native-shell.js?v=84"></script>
164
- <script defer src="./js/eos-native-security.js?v=84"></script>
165
- <script defer src="./js/eos-role-ui.js?v=84"></script>
166
- <script defer src="./js/eos-assistant.js?v=84"></script>
162
+ <script defer src="./js/eos-policy-client.js?v=85"></script>
163
+ <script defer src="./js/nexowatt-native-shell.js?v=85"></script>
164
+ <script defer src="./js/eos-native-security.js?v=85"></script>
165
+ <script defer src="./js/eos-role-ui.js?v=85"></script>
166
+ <script defer src="./js/eos-assistant.js?v=85"></script>
167
167
  </head>
168
168
  <body>
169
169
  <noscript>You need to enable JavaScript to run this app.</noscript>
@@ -1,7 +1,7 @@
1
1
  (() => {
2
2
  'use strict';
3
3
 
4
- const VERSION = 'v84-nexowatt-native-shell-cleanup';
4
+ const VERSION = 'v85-local-eos-assist';
5
5
  const previous = window.NEXOWATT_EOS_ASSIST;
6
6
  if (previous?.version === VERSION) return;
7
7
  previous?.destroy?.();
@@ -45,7 +45,7 @@
45
45
  root.className = 'eos-assist-root';
46
46
  root.innerHTML = `
47
47
  <button class="eos-assist-button" type="button" aria-expanded="false">
48
- <span class="eos-assist-dot"></span><strong>EOS Assist</strong><small>KI-Hilfe</small>
48
+ <span class="eos-assist-dot"></span><strong>EOS Assist</strong><small>EOS Hilfe</small>
49
49
  </button>
50
50
  <div class="eos-assist-panel" role="dialog" aria-label="EOS Assist">
51
51
  <div class="eos-assist-head"><img src="${logoUrl}" alt="NexoWatt EOS"><div><strong class="eos-assist-title"></strong><span class="eos-assist-text"></span></div><button class="eos-assist-close" type="button">×</button></div>
@@ -1,7 +1,7 @@
1
1
  (() => {
2
2
  'use strict';
3
3
 
4
- const VERSION = 'v84-nexowatt-native-shell-cleanup';
4
+ const VERSION = 'v85-nexowatt-native-shell-brand-eos-assist';
5
5
  const previous = window.NEXOWATT_NATIVE_SHELL;
6
6
  if (previous?.version === VERSION) return;
7
7
  previous?.destroy?.();
@@ -11,7 +11,7 @@
11
11
  const scriptUrl = document.currentScript?.src ||
12
12
  document.querySelector('script[src*="nexowatt-native-shell.js"]')?.src || window.location.href;
13
13
  const baseUrl = new URL('../', scriptUrl);
14
- const logoUrl = new URL('img/eos/nexowatt-192.png', baseUrl).href;
14
+ const brandLogoUrl = new URL('img/eos/nexowatt-eos-brand-wide.png', baseUrl).href;
15
15
  const abort = new AbortController();
16
16
  let unsubscribeDom = null;
17
17
  let retryTimer = 0;
@@ -76,11 +76,11 @@
76
76
  if (!badge) {
77
77
  badge = document.createElement('span');
78
78
  badge.className = 'eos-brand-badge eos-system-brand';
79
- badge.innerHTML = `<span class="eos-brand-badge-mark"><img class="eos-brand-badge-logo" alt="NexoWatt EOS"></span><span class="eos-brand-badge-copy"><strong>NexoWatt EOS</strong><small>Energy Operation System</small></span><span class="eos-brand-led" aria-hidden="true"></span>`;
79
+ badge.innerHTML = `<span class="eos-brand-badge-full"><img class="eos-brand-badge-full-logo" alt="NexoWatt EOS"></span><span class="eos-brand-led" aria-hidden="true"></span>`;
80
80
  toolbar.insertBefore(badge, toolbar.firstChild || null);
81
81
  }
82
82
  const image = badge.querySelector('img');
83
- if (image && image.src !== logoUrl) image.src = logoUrl;
83
+ if (image && image.src !== brandLogoUrl) image.src = brandLogoUrl;
84
84
 
85
85
  // Only the compact upstream identity is hidden. Navigation labels and
86
86
  // icons are rendered natively by Drawer.tsx and are never rewritten here.
package/io-package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "common": {
3
3
  "name": "eos-admin",
4
- "version": "7.9.84",
4
+ "version": "7.9.85",
5
5
  "titleLang": {
6
6
  "en": "NexoWatt EOS Admin",
7
7
  "de": "NexoWatt EOS Admin",
@@ -284,7 +284,7 @@
284
284
  "icon": "admin.svg",
285
285
  "messagebox": true,
286
286
  "enabled": true,
287
- "extIcon": "https://unpkg.com/iobroker.eos-admin@7.9.84/admin/admin.svg",
287
+ "extIcon": "https://unpkg.com/iobroker.eos-admin@7.9.85/admin/admin.svg",
288
288
  "keywords": [
289
289
  "NexoWatt",
290
290
  "EOS",
@@ -295,7 +295,7 @@
295
295
  "licensed"
296
296
  ],
297
297
  "compact": true,
298
- "readme": "https://unpkg.com/iobroker.eos-admin@7.9.84/README.md",
298
+ "readme": "https://unpkg.com/iobroker.eos-admin@7.9.85/README.md",
299
299
  "authors": [
300
300
  "bluefox <bluefox@ccu.io>",
301
301
  "hobbyquaker <hq@ccu.io>"
@@ -364,7 +364,7 @@
364
364
  "nondeletable": false,
365
365
  "allowAdapterUpdate": true,
366
366
  "allowAdapterDelete": false,
367
- "meta": "https://unpkg.com/iobroker.eos-admin@7.9.84/io-package.json",
367
+ "meta": "https://unpkg.com/iobroker.eos-admin@7.9.85/io-package.json",
368
368
  "npmPackage": "iobroker.eos-admin",
369
369
  "packetName": "iobroker.eos-admin"
370
370
  },
@@ -1043,5 +1043,5 @@
1043
1043
  }
1044
1044
  }
1045
1045
  },
1046
- "version": "7.9.84"
1046
+ "version": "7.9.85"
1047
1047
  }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "iobroker.eos-admin",
3
3
  "description": "NexoWatt EOS Admin stable runtime with reliable module filter popups and native datapoint semantics",
4
- "version": "7.9.84",
4
+ "version": "7.9.85",
5
5
  "contributors": [
6
6
  "bluefox <dogafox@gmail.com>",
7
7
  "apollon77",
@@ -140,7 +140,7 @@
140
140
  "nexowatt:repo-entry": "node tools/nexowatt-generate-repo-entry.cjs",
141
141
  "nexowatt:patch-repo": "node tools/nexowatt-patch-repo.cjs",
142
142
  "nexowatt:repair-update": "node tools/nexowatt-repair-eos-admin-update.cjs",
143
- "check:eos-stability": "node tools/nexowatt-stability-check.cjs && node tools/nexowatt-esm-syntax-selftest.cjs && node tools/nexowatt-import-integrity-selftest.cjs && node tools/nexowatt-entrypoint-smoke-selftest.cjs && node tools/nexowatt-frontend-graph-check.cjs && node tools/nexowatt-policy-selftest.cjs && node tools/nexowatt-module-popup-selftest.cjs && node tools/nexowatt-datapoint-selftest.cjs && node tools/nexowatt-update-selftest.cjs && node tools/nexowatt-datapoint-interaction-selftest.cjs && node tools/nexowatt-manual-write-policy-selftest.cjs && node tools/nexowatt-value-column-selftest.cjs && node tools/nexowatt-native-shell-selftest.cjs && node tools/nexowatt-runtime-cleanup-selftest.cjs",
143
+ "check:eos-stability": "node tools/nexowatt-stability-check.cjs && node tools/nexowatt-esm-syntax-selftest.cjs && node tools/nexowatt-import-integrity-selftest.cjs && node tools/nexowatt-entrypoint-smoke-selftest.cjs && node tools/nexowatt-frontend-graph-check.cjs && node tools/nexowatt-policy-selftest.cjs && node tools/nexowatt-module-popup-selftest.cjs && node tools/nexowatt-datapoint-selftest.cjs && node tools/nexowatt-update-selftest.cjs && node tools/nexowatt-datapoint-interaction-selftest.cjs && node tools/nexowatt-manual-write-policy-selftest.cjs && node tools/nexowatt-value-column-selftest.cjs && node tools/nexowatt-native-shell-selftest.cjs && node tools/nexowatt-assistant-separation-selftest.cjs && node tools/nexowatt-runtime-cleanup-selftest.cjs",
144
144
  "nexowatt:patch-built-frontend": "node tools/nexowatt-patch-built-frontend.cjs",
145
145
  "clean:eos-runtime": "node tools/nexowatt-clean-legacy-runtime.cjs",
146
146
  "precheck:eos-package": "npm run clean:eos-runtime",
@@ -149,7 +149,8 @@
149
149
  "check:eos-esm": "node tools/nexowatt-esm-syntax-selftest.cjs",
150
150
  "check:eos-imports": "node tools/nexowatt-import-integrity-selftest.cjs",
151
151
  "check:eos-release": "npm run check:eos-package && npm run check:eos-stability && npm pack --dry-run",
152
- "check:eos-entry": "node tools/nexowatt-entrypoint-smoke-selftest.cjs"
152
+ "check:eos-entry": "node tools/nexowatt-entrypoint-smoke-selftest.cjs",
153
+ "check:eos-assistant": "node tools/nexowatt-assistant-separation-selftest.cjs"
153
154
  },
154
155
  "author": "NexoWatt",
155
156
  "private": false,
@@ -169,6 +169,8 @@ if (pkg.scripts['precheck:eos-stability'] !== 'npm run clean:eos-runtime') fail(
169
169
  if (pkg.scripts.prepack !== 'node tools/nexowatt-clean-legacy-runtime.cjs --quiet') fail('prepack must silently clean stale runtime files');
170
170
  if (!pkg.scripts.build?.includes('npm run clean:eos-runtime')) fail('build must finish with runtime cleanup');
171
171
  if (!pkg.scripts['check:eos-stability']?.includes('nexowatt-native-shell-selftest.cjs')) fail('native shell selftest is not part of check:eos-stability');
172
+ if (!pkg.scripts['check:eos-stability']?.includes('nexowatt-assistant-separation-selftest.cjs')) fail('assistant separation selftest is not part of check:eos-stability');
173
+ if (!exists('adminWww/img/eos/nexowatt-eos-brand-wide.png')) fail('new NexoWatt EOS brand logo asset missing');
172
174
  if (!pkg.scripts['check:eos-stability']?.includes('nexowatt-runtime-cleanup-selftest.cjs')) fail('runtime cleanup selftest is not part of check:eos-stability');
173
175
  if (!read('tasks.mts').includes('patchNexoWattBuiltFrontend')) fail('tasks.mts does not execute the EOS post-build frontend patch');
174
176