Skip to content

Commit 193c4e1

Browse files
another useTemplate bug
1 parent 1bd42f2 commit 193c4e1

File tree

7 files changed

+32
-24
lines changed

7 files changed

+32
-24
lines changed

CHANGELOG.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
# 5.1.4
2+
- useTemplate was too restrictive and only setting the state when the value was a string, will now return string/object
3+
14
# 5.1.3
25
- Release failed, bumping again, add a console error for template rendering errors.
36

packages/components/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "@hakit/components",
33
"type": "module",
4-
"version": "5.1.3",
4+
"version": "5.1.4",
55
"private": false,
66
"keywords": [
77
"react",
@@ -70,7 +70,7 @@
7070
"@emotion/react": ">=11.x.x",
7171
"@emotion/styled": ">=11.x",
7272
"@fullcalendar/react": ">=6.x.x",
73-
"@hakit/core": "^5.1.3",
73+
"@hakit/core": "^5.1.4",
7474
"@mui/material": "^6.3.0",
7575
"@use-gesture/react": ">=10.x",
7676
"autolinker": ">=4.x",

packages/core/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@hakit/core",
3-
"version": "5.1.3",
3+
"version": "5.1.4",
44
"private": false,
55
"type": "module",
66
"keywords": [

packages/core/src/HassConnect/examples/renderError.code.tsx

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,18 @@ import { HassConnect, useStore } from "@hakit/core";
22
import { ThemeProvider } from "@hakit/components";
33
export function App() {
44
return (
5-
<HassConnect hassUrl="http://homeassistant.local:8123" options={{
6-
renderError: (error) => (
7-
<div style={{ color: 'red', padding: '1rem', backgroundColor: '#fdd' }}>
8-
<h2>Error</h2>
9-
{error}
10-
<p>Please check your connection or authentication details.</p>
11-
</div>
12-
),
13-
}}>
5+
<HassConnect
6+
hassUrl="http://homeassistant.local:8123"
7+
options={{
8+
renderError: (error) => (
9+
<div style={{ color: "red", padding: "1rem", backgroundColor: "#fdd" }}>
10+
<h2>Error</h2>
11+
{error}
12+
<p>Please check your connection or authentication details.</p>
13+
</div>
14+
),
15+
}}
16+
>
1417
<ThemeProvider />
1518
<SomeComponent />
1619
</HassConnect>

packages/core/src/HassConnect/examples/specifyingLanguage.code.tsx

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,12 @@ import { HassConnect, useStore } from "@hakit/core";
22
import { ThemeProvider } from "@hakit/components";
33
export function App() {
44
return (
5-
<HassConnect hassUrl="http://homeassistant.local:8123" options={{
6-
locale: 'en', // Specify the desired locale
7-
}}>
5+
<HassConnect
6+
hassUrl="http://homeassistant.local:8123"
7+
options={{
8+
locale: "en", // Specify the desired locale
9+
}}
10+
>
811
<ThemeProvider />
912
<SomeComponent />
1013
</HassConnect>

packages/core/src/hooks/useTemplate/examples/disable.code.tsx

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,18 +3,19 @@ import { templateCodeToProcess } from "./constants";
33
import { useState } from "react";
44

55
function RenderCustomTemplate() {
6-
76
const [enabled, setEnabled] = useState(false);
87
const template = useTemplate({
98
enabled,
109
template: templateCodeToProcess,
1110
variables: { entity_id: "light.fake_light_1" },
1211
});
1312

14-
return <>
15-
Template result: {template ?? "not-enabled"}
16-
<button onClick={() => setEnabled(!enabled)}>{enabled ? "Disable" : "Enable"}</button>
17-
</>;
13+
return (
14+
<>
15+
Template result: {template ?? "not-enabled"}
16+
<button onClick={() => setEnabled(!enabled)}>{enabled ? "Disable" : "Enable"}</button>
17+
</>
18+
);
1819
}
1920

2021
export function App() {

packages/core/src/hooks/useTemplate/index.ts

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ export type TemplateParams = {
3434

3535
export const useTemplate = (params: TemplateParams) => {
3636
const connection = useStore((state) => state.connection);
37-
const [template, setTemplate] = useState<string | null>(null);
37+
const [template, setTemplate] = useState<string | object | null>(null);
3838
const unsubscribeRef = useRef<UnsubscribeFunc | null>(null);
3939
const memoizedParams = useMemo(() => params, [params]);
4040

@@ -67,9 +67,7 @@ export const useTemplate = (params: TemplateParams) => {
6767
setTemplate(response.error);
6868
return;
6969
}
70-
if (typeof response.result === "string") {
71-
setTemplate((previous) => (previous === response.result ? previous : response.result));
72-
}
70+
setTemplate((previous) => (previous === response.result ? previous : response.result));
7371
};
7472

7573
const handleError = (err: RenderTemplateError) => {

0 commit comments

Comments
 (0)