From 94953ddf6cb0a7d7d934b1cbd04b6ec022538665 Mon Sep 17 00:00:00 2001 From: Bram Kragten Date: Mon, 25 Apr 2022 14:09:23 +0200 Subject: [PATCH] Hide supervisor only config, fix backup config page (#12401) --- src/layouts/hass-tabs-subpage-data-table.ts | 2 +- .../config/core/ha-config-system-navigation.ts | 15 +++++++++------ src/panels/config/ha-panel-config.ts | 2 ++ 3 files changed, 12 insertions(+), 7 deletions(-) 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`