@matter-server/dashboard 0.7.2-alpha.0-20260602-cef59f5 → 0.8.0

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.
@@ -32,6 +32,8 @@ export declare class DashboardHeader extends LitElement {
32
32
  private _unsubscribeDevMode?;
33
33
  connectedCallback(): void;
34
34
  disconnectedCallback(): void;
35
+ private _goBack;
36
+ private _goHome;
35
37
  private _cycleTheme;
36
38
  private _openSettings;
37
39
  private _getThemeIcon;
@@ -1 +1 @@
1
- {"version":3,"file":"header.d.ts","sourceRoot":"","sources":["../../../../src/pages/components/header.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,sCAAsC,CAAC;AAC9C,OAAO,+BAA+B,CAAC;AACvC,OAAO,sCAAsC,CAAC;AAC9C,OAAO,yBAAyB,CAAC;AACjC,OAAO,8BAA8B,CAAC;AAEtC,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAExD,OAAO,EAAE,UAAU,EAAsB,MAAM,KAAK,CAAC;AAIrD,OAAO,8BAA8B,CAAC;AAKtC,UAAU,YAAY;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,IAAI,CAAC;CAChB;AAED,MAAM,MAAM,UAAU,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAC;AAErD,qBACa,eAAgB,SAAQ,UAAU;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,YAAY,EAAE,CAAC;IACzB,UAAU,CAAC,EAAE,UAAU,CAAC;IACP,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,cAAc,CAAC,EAAE,OAAO,CAAC;IAGtD,MAAM,CAAC,EAAE,YAAY,CAAC;IAG7B,SAAS,CAAC,KAAK,SAAK;IAEX,OAAO,CAAC,gBAAgB,CAA4C;IACpE,OAAO,CAAC,eAAe,CAA+C;IACtE,OAAO,CAAC,QAAQ,CAAyB;IAElD,OAAO,CAAC,iBAAiB,CAAC,CAAa;IACvC,OAAO,CAAC,mBAAmB,CAAC,CAAa;IAEhC,iBAAiB,SASzB;IAEQ,oBAAoB,SAI5B;IAED,OAAO,CAAC,WAAW;IAInB,OAAO,CAAC,aAAa;IAIrB,OAAO,CAAC,aAAa;IAWrB,OAAO,CAAC,gBAAgB;IAWxB,OAAO,CAAC,cAAc;IA0CtB,UAAmB,MAAM,yCA0DxB;IAED,OAAgB,MAAM,4BAoFpB;CACL"}
1
+ {"version":3,"file":"header.d.ts","sourceRoot":"","sources":["../../../../src/pages/components/header.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,sCAAsC,CAAC;AAC9C,OAAO,+BAA+B,CAAC;AACvC,OAAO,sCAAsC,CAAC;AAC9C,OAAO,yBAAyB,CAAC;AACjC,OAAO,8BAA8B,CAAC;AAEtC,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAExD,OAAO,EAAE,UAAU,EAAsB,MAAM,KAAK,CAAC;AAIrD,OAAO,8BAA8B,CAAC;AAKtC,UAAU,YAAY;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,IAAI,CAAC;CAChB;AAED,MAAM,MAAM,UAAU,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAC;AAErD,qBACa,eAAgB,SAAQ,UAAU;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,YAAY,EAAE,CAAC;IACzB,UAAU,CAAC,EAAE,UAAU,CAAC;IACP,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,cAAc,CAAC,EAAE,OAAO,CAAC;IAGtD,MAAM,CAAC,EAAE,YAAY,CAAC;IAG7B,SAAS,CAAC,KAAK,SAAK;IAEX,OAAO,CAAC,gBAAgB,CAA4C;IACpE,OAAO,CAAC,eAAe,CAA+C;IACtE,OAAO,CAAC,QAAQ,CAAyB;IAElD,OAAO,CAAC,iBAAiB,CAAC,CAAa;IACvC,OAAO,CAAC,mBAAmB,CAAC,CAAa;IAEhC,iBAAiB,SASzB;IAEQ,oBAAoB,SAI5B;IAED,OAAO,CAAC,OAAO;IAMf,OAAO,CAAC,OAAO;IAIf,OAAO,CAAC,WAAW;IAInB,OAAO,CAAC,aAAa;IAIrB,OAAO,CAAC,aAAa;IAWrB,OAAO,CAAC,gBAAgB;IAWxB,OAAO,CAAC,cAAc;IA0CtB,UAAmB,MAAM,yCA2DxB;IAED,OAAgB,MAAM,4BAoFpB;CACL"}
@@ -19,7 +19,7 @@ import "@material/web/iconbutton/icon-button";
19
19
  import "@material/web/list/list";
20
20
  import "@material/web/list/list-item";
21
21
  import { consume } from "@lit/context";
22
- import { mdiArrowLeft, mdiBrightnessAuto, mdiCog, mdiLogout, mdiWeatherNight, mdiWeatherSunny } from "@mdi/js";
22
+ import { mdiArrowLeft, mdiBrightnessAuto, mdiCog, mdiHome, mdiLogout, mdiWeatherNight, mdiWeatherSunny } from "@mdi/js";
23
23
  import { LitElement, css, html, nothing } from "lit";
24
24
  import { customElement, property, state } from "lit/decorators.js";
25
25
  import { clientContext, tickContext } from "../../client/client-context.js";
@@ -51,6 +51,14 @@ let DashboardHeader = class extends LitElement {
51
51
  this._unsubscribeTheme?.();
52
52
  this._unsubscribeDevMode?.();
53
53
  }
54
+ _goBack() {
55
+ if (this.backButton) {
56
+ location.hash = this.backButton;
57
+ }
58
+ }
59
+ _goHome() {
60
+ location.hash = "#";
61
+ }
54
62
  _cycleTheme() {
55
63
  ThemeService.cycleTheme();
56
64
  }
@@ -113,11 +121,12 @@ let DashboardHeader = class extends LitElement {
113
121
  return html`
114
122
  <div class="header">
115
123
  <!-- optional back button -->
116
- ${this.backButton ? html` <a .href=${this.backButton}>
117
- <md-icon-button>
124
+ ${this.backButton ? html` <md-icon-button title="Back" aria-label="Back" @click=${this._goBack}>
118
125
  <ha-svg-icon .path=${mdiArrowLeft}></ha-svg-icon>
119
126
  </md-icon-button>
120
- </a>` : ""}
127
+ <md-icon-button title="Home" aria-label="Home" @click=${this._goHome}>
128
+ <ha-svg-icon .path=${mdiHome}></ha-svg-icon>
129
+ </md-icon-button>` : ""}
121
130
 
122
131
  <div class="title">${this.title ?? ""}</div>
123
132
  ${this._renderNavTabs()}
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/pages/components/header.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": []
6
6
  }
@@ -1,4 +1,4 @@
1
- import { i, n, r, e, b as i$1, A, o as formatHex, d as b, h as handleAsync, g as t } from './matter-dashboard-app-FxzNxVJ6.js';
1
+ import { i, n, r, e, b as i$1, A, o as formatHex, d as b, h as handleAsync, g as t } from './matter-dashboard-app-D7-YX94X.js';
2
2
  import { t as toBigIntAwareJson } from './main.js';
3
3
  import { p as preventDefault } from './prevent_default-D-ohDGsN.js';
4
4
  import { p as parseJsonPayload } from './parse-json-payload-DU9TWKdu.js';
@@ -1,4 +1,4 @@
1
- import { i, n, r, e, b as i$1, A, o as formatHex, d as b, h as handleAsync, g as t } from './matter-dashboard-app-FxzNxVJ6.js';
1
+ import { i, n, r, e, b as i$1, A, o as formatHex, d as b, h as handleAsync, g as t } from './matter-dashboard-app-D7-YX94X.js';
2
2
  import { t as toBigIntAwareJson } from './main.js';
3
3
  import { p as preventDefault } from './prevent_default-D-ohDGsN.js';
4
4
  import { p as parseJsonPayload, i as isPlainObject } from './parse-json-payload-DU9TWKdu.js';
@@ -1,4 +1,4 @@
1
- import { r, c, a as clientContext, t as tickContext, g as t, b as i, d as b } from './matter-dashboard-app-FxzNxVJ6.js';
1
+ import { r, c, a as clientContext, t as tickContext, g as t, b as i, d as b } from './matter-dashboard-app-D7-YX94X.js';
2
2
  import { p as preventDefault } from './prevent_default-D-ohDGsN.js';
3
3
  import './main.js';
4
4
 
@@ -52,18 +52,18 @@ let ComissionNodeDialog = class extends i {
52
52
  if (!this.client.serverInfo.bluetooth_enabled) {
53
53
  return;
54
54
  }
55
- import('./commission-node-wifi-BVp8_5oD.js');
55
+ import('./commission-node-wifi-BzeVHU3H.js');
56
56
  this._mode = "wifi";
57
57
  }
58
58
  _commissionThread() {
59
59
  if (!this.client.serverInfo.bluetooth_enabled) {
60
60
  return;
61
61
  }
62
- import('./commission-node-thread-hxemHL-m.js');
62
+ import('./commission-node-thread-BlC2ZhGB.js');
63
63
  this._mode = "thread";
64
64
  }
65
65
  _commissionExisting() {
66
- import('./commission-node-existing-CCTW_OsF.js');
66
+ import('./commission-node-existing-Cf6SG9fC.js');
67
67
  this._mode = "existing";
68
68
  }
69
69
  _nodeCommissioned(ev) {
@@ -71,7 +71,7 @@ let ComissionNodeDialog = class extends i {
71
71
  this._close();
72
72
  }
73
73
  _requestSettings() {
74
- import('./matter-dashboard-app-FxzNxVJ6.js').then(function (n) { return n.v; }).then(({
74
+ import('./matter-dashboard-app-D7-YX94X.js').then(function (n) { return n.v; }).then(({
75
75
  showSettingsDialog
76
76
  }) => {
77
77
  showSettingsDialog("network-credentials");
@@ -1,5 +1,5 @@
1
- import { r, c, a as clientContext, n, e, g as t, b as i, A, h as handleAsync, d as b, s as showAlertDialog } from './matter-dashboard-app-FxzNxVJ6.js';
2
- import { f as fireEvent } from './fire_event-BYpJ8gvz.js';
1
+ import { r, c, a as clientContext, n, e, g as t, b as i, A, h as handleAsync, d as b, s as showAlertDialog } from './matter-dashboard-app-D7-YX94X.js';
2
+ import { f as fireEvent } from './fire_event-B0dFAh3R.js';
3
3
  import './main.js';
4
4
 
5
5
  var __defProp = Object.defineProperty;
@@ -1,5 +1,5 @@
1
- import { i, c, a as clientContext, n, r, e, b as i$1, A, h as handleAsync, d as b, j as mdiAccessPoint, s as showAlertDialog, g as t } from './matter-dashboard-app-FxzNxVJ6.js';
2
- import { f as fireEvent } from './fire_event-BYpJ8gvz.js';
1
+ import { i, c, a as clientContext, n, r, e, b as i$1, A, h as handleAsync, d as b, j as mdiAccessPoint, s as showAlertDialog, g as t } from './matter-dashboard-app-D7-YX94X.js';
2
+ import { f as fireEvent } from './fire_event-B0dFAh3R.js';
3
3
  import './main.js';
4
4
 
5
5
  var __defProp = Object.defineProperty;
@@ -1,5 +1,5 @@
1
- import { i, c, a as clientContext, n, r, e, b as i$1, A, h as handleAsync, d as b, m as mdiWifi, s as showAlertDialog, g as t } from './matter-dashboard-app-FxzNxVJ6.js';
2
- import { f as fireEvent } from './fire_event-BYpJ8gvz.js';
1
+ import { i, c, a as clientContext, n, r, e, b as i$1, A, h as handleAsync, d as b, m as mdiWifi, s as showAlertDialog, g as t } from './matter-dashboard-app-D7-YX94X.js';
2
+ import { f as fireEvent } from './fire_event-B0dFAh3R.js';
3
3
  import './main.js';
4
4
 
5
5
  var __defProp = Object.defineProperty;
@@ -1,4 +1,4 @@
1
- import { i, n, b as i$1, d as b, g as t } from './matter-dashboard-app-FxzNxVJ6.js';
1
+ import { i, n, b as i$1, d as b, g as t } from './matter-dashboard-app-D7-YX94X.js';
2
2
  import { p as preventDefault } from './prevent_default-D-ohDGsN.js';
3
3
  import './main.js';
4
4
 
@@ -1,4 +1,4 @@
1
- import { q as mixinDelegatesAria, b as i, _ as __decorate, n, A, u as e, d as b, i as i$1, g as t } from './matter-dashboard-app-FxzNxVJ6.js';
1
+ import { q as mixinDelegatesAria, b as i, _ as __decorate, n, A, u as e, d as b, i as i$1, g as t } from './matter-dashboard-app-D7-YX94X.js';
2
2
 
3
3
  /**
4
4
  * @license
@@ -801,7 +801,7 @@ const ThemeService = new ThemeServiceImpl();
801
801
  * SPDX-License-Identifier: Apache-2.0
802
802
  */
803
803
  async function main() {
804
- import('./matter-dashboard-app-FxzNxVJ6.js').then(function (n) { return n.x; });
804
+ import('./matter-dashboard-app-D7-YX94X.js').then(function (n) { return n.x; });
805
805
  let url = "";
806
806
  const isProductionServer = window.__MATTERJS_PRODUCTION_MODE__ === true || location.origin.includes(":5580") || location.href.includes("hassio_ingress") || location.href.includes("/api/ingress/");
807
807
  if (!isProductionServer) {
@@ -4040,7 +4040,7 @@ MdListItem = __decorate([t$1('md-list-item')], MdListItem);
4040
4040
  */
4041
4041
  const showSettingsDialog = async section => {
4042
4042
  var _document$querySelect;
4043
- await import('./settings-dialog-DxDp7265.js');
4043
+ await import('./settings-dialog-Di2Qnh3-.js');
4044
4044
  const dialog = document.createElement("settings-dialog");
4045
4045
  if (section) dialog.scrollToSection = section;
4046
4046
  (_document$querySelect = document.querySelector("matter-dashboard-app")) === null || _document$querySelect === void 0 || _document$querySelect.renderRoot.appendChild(dialog);
@@ -4166,6 +4166,14 @@ let DashboardHeader = class extends i$4 {
4166
4166
  (_this$_unsubscribeThe = this._unsubscribeTheme) === null || _this$_unsubscribeThe === void 0 || _this$_unsubscribeThe.call(this);
4167
4167
  (_this$_unsubscribeDev = this._unsubscribeDevMode) === null || _this$_unsubscribeDev === void 0 || _this$_unsubscribeDev.call(this);
4168
4168
  }
4169
+ _goBack() {
4170
+ if (this.backButton) {
4171
+ location.hash = this.backButton;
4172
+ }
4173
+ }
4174
+ _goHome() {
4175
+ location.hash = "#";
4176
+ }
4169
4177
  _cycleTheme() {
4170
4178
  ThemeService.cycleTheme();
4171
4179
  }
@@ -4229,11 +4237,12 @@ let DashboardHeader = class extends i$4 {
4229
4237
  return b`
4230
4238
  <div class="header">
4231
4239
  <!-- optional back button -->
4232
- ${this.backButton ? b` <a .href=${this.backButton}>
4233
- <md-icon-button>
4240
+ ${this.backButton ? b` <md-icon-button title="Back" aria-label="Back" @click=${this._goBack}>
4234
4241
  <ha-svg-icon .path=${mdiArrowLeft}></ha-svg-icon>
4235
4242
  </md-icon-button>
4236
- </a>` : ""}
4243
+ <md-icon-button title="Home" aria-label="Home" @click=${this._goHome}>
4244
+ <ha-svg-icon .path=${mdiHome}></ha-svg-icon>
4245
+ </md-icon-button>` : ""}
4237
4246
 
4238
4247
  <div class="title">${this.title ?? ""}</div>
4239
4248
  ${this._renderNavTabs()}
@@ -21787,7 +21796,7 @@ const clusters = {
21787
21796
  * SPDX-License-Identifier: Apache-2.0
21788
21797
  */
21789
21798
  const showDialogBox = async (type, dialogParams) => {
21790
- await import('./dialog-box-GqaRe3Hh.js');
21799
+ await import('./dialog-box-8CugytjX.js');
21791
21800
  return new Promise(resolve => {
21792
21801
  const dialog = document.createElement("dialog-box");
21793
21802
  dialog.params = dialogParams;
@@ -21806,7 +21815,7 @@ const showPromptDialog = dialogParams => showDialogBox("prompt", dialogParams);
21806
21815
  */
21807
21816
  const showAttributeWriteDialog = async options => {
21808
21817
  var _document$querySelect;
21809
- await import('./attribute-write-dialog-DxoudqTg.js');
21818
+ await import('./attribute-write-dialog-f6XnfRjW.js');
21810
21819
  const dialog = document.createElement("attribute-write-dialog");
21811
21820
  dialog.client = options.client;
21812
21821
  dialog.nodeId = options.nodeId;
@@ -21825,7 +21834,7 @@ const showAttributeWriteDialog = async options => {
21825
21834
  */
21826
21835
  const showCommandInvokeDialog = async options => {
21827
21836
  var _document$querySelect;
21828
- await import('./command-invoke-dialog-BfBkbgp6.js');
21837
+ await import('./command-invoke-dialog-jzzpwI81.js');
21829
21838
  const dialog = document.createElement("command-invoke-dialog");
21830
21839
  dialog.client = options.client;
21831
21840
  dialog.nodeId = options.nodeId;
@@ -21998,7 +22007,7 @@ MdTextButton = __decorate([t$1('md-text-button')], MdTextButton);
21998
22007
  */
21999
22008
  const showNodeBindingDialog = async (node, endpoint) => {
22000
22009
  var _document$querySelect;
22001
- await import('./node-binding-dialog-BUK6iP8t.js');
22010
+ await import('./node-binding-dialog-Dpjn-GtG.js');
22002
22011
  const dialog = document.createElement("node-binding-dialog");
22003
22012
  dialog.node = node;
22004
22013
  dialog.endpoint = endpoint;
@@ -22012,7 +22021,7 @@ const showNodeBindingDialog = async (node, endpoint) => {
22012
22021
  */
22013
22022
  const showNodeLabelDialog = async (client, node) => {
22014
22023
  var _document$querySelect;
22015
- await import('./node-label-dialog-BuNRrozE.js');
22024
+ await import('./node-label-dialog-B31BzWy6.js');
22016
22025
  const dialog = document.createElement("node-label-dialog");
22017
22026
  dialog.client = client;
22018
22027
  dialog.node = node;
@@ -45503,7 +45512,7 @@ MatterNodeView = __decorateClass$3([t$1("matter-node-view")], MatterNodeView);
45503
45512
  */
45504
45513
  const showCommissionNodeDialog = async () => {
45505
45514
  var _document$querySelect;
45506
- await import('./commission-node-dialog-BJNntAAz.js');
45515
+ await import('./commission-node-dialog-B3RBDYQU.js');
45507
45516
  const dialog = document.createElement("commission-node-dialog");
45508
45517
  (_document$querySelect = document.querySelector("matter-dashboard-app")) === null || _document$querySelect === void 0 || _document$querySelect.renderRoot.appendChild(dialog);
45509
45518
  };
@@ -1,4 +1,4 @@
1
- import { i, c, a as clientContext, n, e, b as i$1, p as showPromptDialog, s as showAlertDialog, A, d as b, h as handleAsync, g as t } from './matter-dashboard-app-FxzNxVJ6.js';
1
+ import { i, c, a as clientContext, n, e, b as i$1, p as showPromptDialog, s as showAlertDialog, A, d as b, h as handleAsync, g as t } from './matter-dashboard-app-D7-YX94X.js';
2
2
  import { p as preventDefault } from './prevent_default-D-ohDGsN.js';
3
3
  import './main.js';
4
4
 
@@ -1,4 +1,4 @@
1
- import { r, n, g as t, b as i, M as MAX_NODE_LABEL_LENGTH, d as b, w as writeNodeLabel, s as showAlertDialog } from './matter-dashboard-app-FxzNxVJ6.js';
1
+ import { r, n, g as t, b as i, M as MAX_NODE_LABEL_LENGTH, d as b, w as writeNodeLabel, s as showAlertDialog } from './matter-dashboard-app-D7-YX94X.js';
2
2
  import { p as preventDefault } from './prevent_default-D-ohDGsN.js';
3
3
  import './main.js';
4
4
 
@@ -1,4 +1,4 @@
1
- import { i, c, a as clientContext, t as tickContext, r, e, b as i$1, f as fireAndForget, s as showAlertDialog, d as b, A, h as handleAsync, g as t, n, D as DevModeService, m as mdiWifi, j as mdiAccessPoint, k as mdiEyeOff, l as mdiEye } from './matter-dashboard-app-FxzNxVJ6.js';
1
+ import { i, c, a as clientContext, t as tickContext, r, e, b as i$1, f as fireAndForget, s as showAlertDialog, d as b, A, h as handleAsync, g as t, n, D as DevModeService, m as mdiWifi, j as mdiAccessPoint, k as mdiEyeOff, l as mdiEye } from './matter-dashboard-app-D7-YX94X.js';
2
2
  import { p as preventDefault } from './prevent_default-D-ohDGsN.js';
3
3
  import './main.js';
4
4
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@matter-server/dashboard",
3
- "version": "0.7.2-alpha.0-20260602-cef59f5",
3
+ "version": "0.8.0",
4
4
  "description": "Dashboard for OHF Matter Server",
5
5
  "homepage": "https://github.com/matter-js/matterjs-server",
6
6
  "bugs": {
@@ -33,8 +33,8 @@
33
33
  "dependencies": {
34
34
  "@lit/context": "^1.1.6",
35
35
  "@material/web": "^2.4.1",
36
- "@matter-server/custom-clusters": "0.7.2-alpha.0-20260602-cef59f5",
37
- "@matter-server/ws-client": "0.7.2-alpha.0-20260602-cef59f5",
36
+ "@matter-server/custom-clusters": "0.8.0",
37
+ "@matter-server/ws-client": "0.8.0",
38
38
  "@mdi/js": "^7.4.47",
39
39
  "lit": "^3.3.3",
40
40
  "tslib": "^2.8.1",
@@ -42,7 +42,7 @@
42
42
  },
43
43
  "devDependencies": {
44
44
  "@babel/preset-env": "^7.29.7",
45
- "@matter/main": "0.17.1-alpha.0-20260601-9386e30f9",
45
+ "@matter/main": "0.17.1-alpha.0-20260602-24f28a953",
46
46
  "@rollup/plugin-babel": "^7.1.0",
47
47
  "@rollup/plugin-commonjs": "^29.0.3",
48
48
  "@rollup/plugin-json": "^6.1.0",
@@ -11,7 +11,7 @@ import "@material/web/list/list";
11
11
  import "@material/web/list/list-item";
12
12
  import { consume } from "@lit/context";
13
13
  import { MatterClient } from "@matter-server/ws-client";
14
- import { mdiArrowLeft, mdiBrightnessAuto, mdiCog, mdiLogout, mdiWeatherNight, mdiWeatherSunny } from "@mdi/js";
14
+ import { mdiArrowLeft, mdiBrightnessAuto, mdiCog, mdiHome, mdiLogout, mdiWeatherNight, mdiWeatherSunny } from "@mdi/js";
15
15
  import { LitElement, css, html, nothing } from "lit";
16
16
  import { customElement, property, state } from "lit/decorators.js";
17
17
  import { clientContext, tickContext } from "../../client/client-context.js";
@@ -67,6 +67,16 @@ export class DashboardHeader extends LitElement {
67
67
  this._unsubscribeDevMode?.();
68
68
  }
69
69
 
70
+ private _goBack() {
71
+ if (this.backButton) {
72
+ location.hash = this.backButton;
73
+ }
74
+ }
75
+
76
+ private _goHome() {
77
+ location.hash = "#";
78
+ }
79
+
70
80
  private _cycleTheme() {
71
81
  ThemeService.cycleTheme();
72
82
  }
@@ -144,11 +154,12 @@ export class DashboardHeader extends LitElement {
144
154
  <div class="header">
145
155
  <!-- optional back button -->
146
156
  ${this.backButton
147
- ? html` <a .href=${this.backButton}>
148
- <md-icon-button>
157
+ ? html` <md-icon-button title="Back" aria-label="Back" @click=${this._goBack}>
149
158
  <ha-svg-icon .path=${mdiArrowLeft}></ha-svg-icon>
150
159
  </md-icon-button>
151
- </a>`
160
+ <md-icon-button title="Home" aria-label="Home" @click=${this._goHome}>
161
+ <ha-svg-icon .path=${mdiHome}></ha-svg-icon>
162
+ </md-icon-button>`
152
163
  : ""}
153
164
 
154
165
  <div class="title">${this.title ?? ""}</div>