diff --git a/src/layouts/hass-tabs-subpage-data-table.ts b/src/layouts/hass-tabs-subpage-data-table.ts index 5085aba824..7a176549d7 100644 --- a/src/layouts/hass-tabs-subpage-data-table.ts +++ b/src/layouts/hass-tabs-subpage-data-table.ts @@ -130,7 +130,7 @@ export class HaTabsSubpageDataTable extends LitElement { * Array of tabs to show on the page. * @type {Array} */ - @property() public tabs!: PageNavigation[]; + @property() public tabs: PageNavigation[] = []; /** * Force hides the filter menu. diff --git a/src/panels/config/core/ha-config-system-navigation.ts b/src/panels/config/core/ha-config-system-navigation.ts index 8792ef009a..2bd3e86b18 100644 --- a/src/panels/config/core/ha-config-system-navigation.ts +++ b/src/panels/config/core/ha-config-system-navigation.ts @@ -1,5 +1,6 @@ import { css, CSSResultGroup, html, LitElement, TemplateResult } from "lit"; import { customElement, property } from "lit/decorators"; +import { canShowPage } from "../../../common/config/can_show_page"; import "../../../components/ha-card"; import "../../../components/ha-navigation-list"; import { CloudStatus } from "../../../data/cloud"; @@ -23,12 +24,14 @@ class HaConfigSystemNavigation extends LitElement { @property({ type: Boolean }) public showAdvanced!: boolean; protected render(): TemplateResult { - const pages = configSections.general.map((page) => ({ - ...page, - name: page.translationKey - ? this.hass.localize(page.translationKey) - : page.name, - })); + const pages = configSections.general + .filter((page) => canShowPage(this.hass, page)) + .map((page) => ({ + ...page, + name: page.translationKey + ? this.hass.localize(page.translationKey) + : page.name, + })); return html`