Compare commits

...

1 Commits

Author SHA1 Message Date
Claude 3fbd844c1a Restore initial data argument of the demo registry mocks
The gallery passes fixed areas and floors to mockAreaRegistry and
mockFloorRegistry, but the argument was dropped when demo configs
gained their own registries, breaking the type check.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KZ6ydA22VeQndgynH4SxCV
2026-07-25 21:20:47 +00:00
2 changed files with 56 additions and 34 deletions
+30 -19
View File
@@ -12,8 +12,21 @@ export interface DemoArea {
let areas: AreaRegistryEntry[] = [];
export const mockAreaRegistry = (hass: MockHomeAssistant) => {
const setAreas = (hass: MockHomeAssistant, data: AreaRegistryEntry[]) => {
areas = data;
const areasById: Record<string, AreaRegistryEntry> = {};
areas.forEach((area) => {
areasById[area.area_id] = area;
});
hass.updateHass({ areas: areasById });
};
export const mockAreaRegistry = (
hass: MockHomeAssistant,
data: AreaRegistryEntry[] = []
) => {
hass.mockWS("config/area_registry/list", () => areas);
setAreas(hass, data);
};
/** Set the areas of the currently loaded demo config. */
@@ -21,22 +34,20 @@ export const setDemoAreas = (
hass: MockHomeAssistant,
demoAreas: DemoArea[] = []
) => {
areas = demoAreas.map((area) => ({
area_id: area.area_id,
name: area.name,
floor_id: area.floor_id ?? null,
icon: area.icon ?? null,
temperature_entity_id: area.temperature_entity_id ?? null,
humidity_entity_id: area.humidity_entity_id ?? null,
aliases: [],
labels: [],
picture: null,
created_at: 0,
modified_at: 0,
}));
const areasById: Record<string, AreaRegistryEntry> = {};
areas.forEach((area) => {
areasById[area.area_id] = area;
});
hass.updateHass({ areas: areasById });
setAreas(
hass,
demoAreas.map((area) => ({
area_id: area.area_id,
name: area.name,
floor_id: area.floor_id ?? null,
icon: area.icon ?? null,
temperature_entity_id: area.temperature_entity_id ?? null,
humidity_entity_id: area.humidity_entity_id ?? null,
aliases: [],
labels: [],
picture: null,
created_at: 0,
modified_at: 0,
}))
);
};
+26 -15
View File
@@ -10,8 +10,21 @@ export interface DemoFloor {
let floors: FloorRegistryEntry[] = [];
export const mockFloorRegistry = (hass: MockHomeAssistant) => {
const setFloors = (hass: MockHomeAssistant, data: FloorRegistryEntry[]) => {
floors = data;
const floorsById: Record<string, FloorRegistryEntry> = {};
floors.forEach((floor) => {
floorsById[floor.floor_id] = floor;
});
hass.updateHass({ floors: floorsById });
};
export const mockFloorRegistry = (
hass: MockHomeAssistant,
data: FloorRegistryEntry[] = []
) => {
hass.mockWS("config/floor_registry/list", () => floors);
setFloors(hass, data);
};
/** Set the floors of the currently loaded demo config. */
@@ -19,18 +32,16 @@ export const setDemoFloors = (
hass: MockHomeAssistant,
demoFloors: DemoFloor[] = []
) => {
floors = demoFloors.map((floor) => ({
floor_id: floor.floor_id,
name: floor.name,
level: floor.level ?? null,
icon: floor.icon ?? null,
aliases: [],
created_at: 0,
modified_at: 0,
}));
const floorsById: Record<string, FloorRegistryEntry> = {};
floors.forEach((floor) => {
floorsById[floor.floor_id] = floor;
});
hass.updateHass({ floors: floorsById });
setFloors(
hass,
demoFloors.map((floor) => ({
floor_id: floor.floor_id,
name: floor.name,
level: floor.level ?? null,
icon: floor.icon ?? null,
aliases: [],
created_at: 0,
modified_at: 0,
}))
);
};