1
0
mirror of https://github.com/home-assistant/frontend.git synced 2026-02-14 23:18:21 +00:00

Fix theme and sidebar on demo (#29433)

This commit is contained in:
Paul Bottein
2026-02-05 15:49:27 +01:00
committed by GitHub
parent 83aa06cb18
commit c26e59f19c
5 changed files with 19 additions and 17 deletions

View File

@@ -1,14 +1,12 @@
import type { MockHomeAssistant } from "../../../src/fake_data/provide_hass";
let changeFunction;
let sidebarChangeCallback;
export const mockFrontend = (hass: MockHomeAssistant) => {
hass.mockWS("frontend/get_user_data", () => ({
value: null,
}));
hass.mockWS("frontend/get_user_data", () => ({ value: null }));
hass.mockWS("frontend/set_user_data", ({ key, value }) => {
if (key === "sidebar") {
changeFunction?.({
sidebarChangeCallback?.({
value: {
panelOrder: value.panelOrder || [],
hiddenPanels: value.hiddenPanels || [],
@@ -16,14 +14,11 @@ export const mockFrontend = (hass: MockHomeAssistant) => {
});
}
});
hass.mockWS("frontend/subscribe_user_data", (_msg, _hass, onChange) => {
changeFunction = onChange;
onChange?.({
value: {
panelOrder: [],
hiddenPanels: [],
},
});
hass.mockWS("frontend/subscribe_user_data", (msg, _hass, onChange) => {
if (msg.key === "sidebar") {
sidebarChangeCallback = onChange;
}
onChange?.({ value: null });
// eslint-disable-next-line @typescript-eslint/no-empty-function
return () => {};
});
@@ -48,4 +43,5 @@ export const mockFrontend = (hass: MockHomeAssistant) => {
return () => {};
});
hass.mockWS("repairs/list_issues", () => ({ issues: [] }));
hass.mockWS("frontend/get_themes", (_msg, currentHass) => currentHass.themes);
};

View File

@@ -29,6 +29,7 @@ export const mockLovelace = (
hass.mockWS("lovelace/config/save", () => Promise.resolve());
hass.mockWS("lovelace/resources", () => Promise.resolve([]));
hass.mockWS("lovelace/dashboards/list", () => Promise.resolve([]));
};
customElements.whenDefined("hui-root").then(() => {

View File

@@ -3,8 +3,8 @@ import type { Panels } from "../types";
export const demoPanels: Panels = {
lovelace: {
component_name: "lovelace",
icon: null,
title: null,
icon: "mdi:view-dashboard",
title: "demo",
config: { mode: "storage" },
url_path: "lovelace",
},

View File

@@ -256,6 +256,10 @@ export const provideHass = (
darkMode: false,
theme: "default",
},
selectedTheme: {
theme: "default",
dark: false,
},
panels: demoPanels,
services: demoServices,
user: {
@@ -348,7 +352,7 @@ export const provideHass = (
mockTheme(theme) {
invalidateThemeCache();
hass().updateHass({
selectedTheme: { theme: theme ? "mock" : "default" },
selectedTheme: { theme: theme ? "mock" : "default", dark: false },
themes: {
...hass().themes,
themes: {
@@ -361,7 +365,7 @@ export const provideHass = (
document.documentElement,
themes,
selectedTheme!.theme,
undefined,
{ dark: false },
true
);
},

View File

@@ -1,5 +1,6 @@
{
"panel": {
"demo": "Demo",
"apps": "Apps",
"energy": "Energy",
"calendar": "Calendar",