homebridge-nuheat2 1.2.13 → 1.2.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +6 -0
- package/homebridge-ui/public/styles.css +99 -117
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,12 @@ All notable changes to this project should be documented in this file
|
|
|
4
4
|
|
|
5
5
|
## [Unreleased]
|
|
6
6
|
|
|
7
|
+
## [1.2.14] - 2026-04-27
|
|
8
|
+
|
|
9
|
+
### Changed
|
|
10
|
+
|
|
11
|
+
- Make the custom Homebridge admin UI styles inherit the active Homebridge theme instead of forcing a separate dark design
|
|
12
|
+
|
|
7
13
|
## [1.2.13] - 2026-04-24
|
|
8
14
|
|
|
9
15
|
### Changed
|
|
@@ -1,20 +1,17 @@
|
|
|
1
|
-
@import url("https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;600&display=swap");
|
|
2
|
-
|
|
3
1
|
:root {
|
|
4
|
-
--
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
--
|
|
9
|
-
--
|
|
10
|
-
--
|
|
11
|
-
--
|
|
12
|
-
--
|
|
13
|
-
--
|
|
14
|
-
--
|
|
15
|
-
--
|
|
16
|
-
--
|
|
17
|
-
--success: #4fd1a5;
|
|
2
|
+
--plugin-border: var(
|
|
3
|
+
--bs-border-color-translucent,
|
|
4
|
+
rgba(148, 163, 184, 0.28)
|
|
5
|
+
);
|
|
6
|
+
--plugin-strong-border: rgba(148, 163, 184, 0.42);
|
|
7
|
+
--plugin-subtle-surface: rgba(148, 163, 184, 0.08);
|
|
8
|
+
--plugin-accent: var(--bs-primary, #0a84ff);
|
|
9
|
+
--plugin-accent-surface: rgba(10, 132, 255, 0.08);
|
|
10
|
+
--plugin-warning-surface: rgba(245, 158, 11, 0.12);
|
|
11
|
+
--plugin-success-surface: rgba(34, 197, 94, 0.12);
|
|
12
|
+
--plugin-danger-surface: rgba(239, 68, 68, 0.12);
|
|
13
|
+
--plugin-tile-ink: currentColor;
|
|
14
|
+
--plugin-tile-muted: currentColor;
|
|
18
15
|
}
|
|
19
16
|
|
|
20
17
|
* {
|
|
@@ -23,41 +20,45 @@
|
|
|
23
20
|
|
|
24
21
|
body {
|
|
25
22
|
margin: 0;
|
|
26
|
-
|
|
27
|
-
background:
|
|
28
|
-
|
|
29
|
-
rgba(243, 186, 77, 0.1),
|
|
30
|
-
transparent 260px
|
|
31
|
-
),
|
|
32
|
-
var(--bg);
|
|
33
|
-
color: var(--text);
|
|
23
|
+
color: inherit;
|
|
24
|
+
background: transparent;
|
|
25
|
+
font: inherit;
|
|
34
26
|
}
|
|
35
27
|
|
|
36
28
|
.container {
|
|
37
29
|
max-width: 920px;
|
|
38
30
|
margin: 0 auto;
|
|
39
|
-
padding:
|
|
31
|
+
padding: 24px;
|
|
40
32
|
display: grid;
|
|
41
33
|
gap: 18px;
|
|
34
|
+
color: inherit;
|
|
42
35
|
}
|
|
43
36
|
|
|
44
37
|
header h1 {
|
|
45
|
-
font-size: 2.15rem;
|
|
46
|
-
line-height: 1.1;
|
|
47
38
|
margin: 0 0 8px;
|
|
39
|
+
font-size: 2rem;
|
|
40
|
+
line-height: 1.1;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
.subtitle,
|
|
44
|
+
.help,
|
|
45
|
+
.muted {
|
|
46
|
+
color: currentColor;
|
|
47
|
+
opacity: 0.72;
|
|
48
48
|
}
|
|
49
49
|
|
|
50
|
-
.subtitle
|
|
50
|
+
.subtitle,
|
|
51
|
+
.help {
|
|
51
52
|
margin: 0;
|
|
52
|
-
|
|
53
|
+
line-height: 1.5;
|
|
53
54
|
}
|
|
54
55
|
|
|
55
56
|
.panel {
|
|
56
|
-
|
|
57
|
-
|
|
57
|
+
color: inherit;
|
|
58
|
+
background: transparent;
|
|
59
|
+
border: 1px solid var(--plugin-border);
|
|
58
60
|
border-radius: 8px;
|
|
59
61
|
padding: 22px;
|
|
60
|
-
box-shadow: var(--shadow);
|
|
61
62
|
}
|
|
62
63
|
|
|
63
64
|
.panel h2 {
|
|
@@ -82,16 +83,6 @@ header h1 {
|
|
|
82
83
|
gap: 16px;
|
|
83
84
|
}
|
|
84
85
|
|
|
85
|
-
.help {
|
|
86
|
-
color: var(--muted);
|
|
87
|
-
margin: 0;
|
|
88
|
-
line-height: 1.5;
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
.muted {
|
|
92
|
-
color: var(--muted);
|
|
93
|
-
}
|
|
94
|
-
|
|
95
86
|
.settings-grid,
|
|
96
87
|
.split-grid {
|
|
97
88
|
display: grid;
|
|
@@ -103,33 +94,29 @@ header h1 {
|
|
|
103
94
|
.field {
|
|
104
95
|
display: grid;
|
|
105
96
|
gap: 7px;
|
|
106
|
-
color:
|
|
97
|
+
color: inherit;
|
|
107
98
|
font-size: 0.95rem;
|
|
108
99
|
font-weight: 600;
|
|
109
100
|
}
|
|
110
101
|
|
|
102
|
+
.field input,
|
|
103
|
+
.field select {
|
|
104
|
+
width: 100%;
|
|
105
|
+
}
|
|
106
|
+
|
|
111
107
|
.field small,
|
|
112
108
|
.checkbox small {
|
|
113
|
-
color:
|
|
109
|
+
color: currentColor;
|
|
114
110
|
display: block;
|
|
115
111
|
font-size: 0.82rem;
|
|
116
112
|
font-weight: 400;
|
|
117
113
|
line-height: 1.35;
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
select,
|
|
121
|
-
input {
|
|
122
|
-
width: 100%;
|
|
123
|
-
padding: 12px 14px;
|
|
124
|
-
border-radius: 7px;
|
|
125
|
-
border: 1px solid var(--border);
|
|
126
|
-
background: var(--input);
|
|
127
|
-
color: var(--text);
|
|
128
|
-
font-size: 1rem;
|
|
114
|
+
opacity: 0.72;
|
|
129
115
|
}
|
|
130
116
|
|
|
131
117
|
input::placeholder {
|
|
132
|
-
color:
|
|
118
|
+
color: currentColor;
|
|
119
|
+
opacity: 0.48;
|
|
133
120
|
}
|
|
134
121
|
|
|
135
122
|
.checkbox {
|
|
@@ -137,7 +124,7 @@ input::placeholder {
|
|
|
137
124
|
align-items: flex-start;
|
|
138
125
|
gap: 10px;
|
|
139
126
|
margin-top: 18px;
|
|
140
|
-
color:
|
|
127
|
+
color: inherit;
|
|
141
128
|
font-weight: 600;
|
|
142
129
|
}
|
|
143
130
|
|
|
@@ -152,8 +139,7 @@ input::placeholder {
|
|
|
152
139
|
}
|
|
153
140
|
|
|
154
141
|
.readonly input {
|
|
155
|
-
|
|
156
|
-
opacity: 0.75;
|
|
142
|
+
opacity: 0.68;
|
|
157
143
|
}
|
|
158
144
|
|
|
159
145
|
.actions {
|
|
@@ -164,31 +150,29 @@ input::placeholder {
|
|
|
164
150
|
}
|
|
165
151
|
|
|
166
152
|
button {
|
|
167
|
-
|
|
168
|
-
border-radius: 7px;
|
|
169
|
-
padding: 12px 20px;
|
|
170
|
-
font-size: 0.95rem;
|
|
171
|
-
font-weight: 600;
|
|
172
|
-
cursor: pointer;
|
|
173
|
-
transition:
|
|
174
|
-
transform 0.15s ease,
|
|
175
|
-
box-shadow 0.15s ease;
|
|
153
|
+
font: inherit;
|
|
176
154
|
}
|
|
177
155
|
|
|
178
|
-
button
|
|
179
|
-
|
|
180
|
-
|
|
156
|
+
button.primary,
|
|
157
|
+
button.secondary {
|
|
158
|
+
border-radius: 6px;
|
|
181
159
|
}
|
|
182
160
|
|
|
183
|
-
.primary {
|
|
184
|
-
|
|
185
|
-
|
|
161
|
+
button.primary {
|
|
162
|
+
color: var(--bs-btn-color, #fff);
|
|
163
|
+
background: var(--bs-primary, var(--plugin-accent));
|
|
164
|
+
border: 1px solid var(--bs-primary, var(--plugin-accent));
|
|
186
165
|
}
|
|
187
166
|
|
|
188
|
-
.secondary {
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
border: 1px solid var(--border);
|
|
167
|
+
button.secondary {
|
|
168
|
+
color: inherit;
|
|
169
|
+
background: transparent;
|
|
170
|
+
border: 1px solid var(--plugin-border);
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
button.primary:hover,
|
|
174
|
+
button.secondary:hover {
|
|
175
|
+
filter: brightness(1.04);
|
|
192
176
|
}
|
|
193
177
|
|
|
194
178
|
.toast-container {
|
|
@@ -202,33 +186,37 @@ button:hover {
|
|
|
202
186
|
}
|
|
203
187
|
|
|
204
188
|
.toast {
|
|
205
|
-
|
|
206
|
-
|
|
189
|
+
color: inherit;
|
|
190
|
+
background: var(--bs-body-bg, var(--plugin-subtle-surface));
|
|
191
|
+
border: 1px solid var(--plugin-border);
|
|
207
192
|
border-radius: 8px;
|
|
208
193
|
padding: 12px 16px;
|
|
209
|
-
box-shadow: var(--shadow);
|
|
210
194
|
min-width: 220px;
|
|
211
195
|
animation: slide-in 0.2s ease-out;
|
|
212
196
|
}
|
|
213
197
|
|
|
214
198
|
.toast.success {
|
|
215
|
-
|
|
199
|
+
background: var(--plugin-success-surface);
|
|
200
|
+
border-color: rgba(34, 197, 94, 0.42);
|
|
216
201
|
}
|
|
217
202
|
|
|
218
203
|
.toast.error {
|
|
219
|
-
|
|
204
|
+
background: var(--plugin-danger-surface);
|
|
205
|
+
border-color: rgba(239, 68, 68, 0.42);
|
|
220
206
|
}
|
|
221
207
|
|
|
222
208
|
.toast.warning {
|
|
223
|
-
|
|
209
|
+
background: var(--plugin-warning-surface);
|
|
210
|
+
border-color: rgba(245, 158, 11, 0.42);
|
|
224
211
|
}
|
|
225
212
|
|
|
226
213
|
.list-panel,
|
|
227
214
|
.diagnostic-card {
|
|
228
|
-
|
|
215
|
+
color: var(--plugin-tile-ink);
|
|
216
|
+
background: var(--plugin-subtle-surface);
|
|
217
|
+
border: 1px solid var(--plugin-border);
|
|
229
218
|
border-radius: 8px;
|
|
230
219
|
padding: 16px;
|
|
231
|
-
background: var(--panel-soft);
|
|
232
220
|
}
|
|
233
221
|
|
|
234
222
|
.dynamic-list {
|
|
@@ -238,11 +226,12 @@ button:hover {
|
|
|
238
226
|
}
|
|
239
227
|
|
|
240
228
|
.empty-list {
|
|
241
|
-
color: var(--muted);
|
|
242
|
-
border: 1px dashed var(--border);
|
|
229
|
+
color: var(--plugin-tile-muted);
|
|
230
|
+
border: 1px dashed var(--plugin-strong-border);
|
|
243
231
|
border-radius: 8px;
|
|
244
232
|
padding: 14px;
|
|
245
233
|
line-height: 1.45;
|
|
234
|
+
opacity: 0.78;
|
|
246
235
|
}
|
|
247
236
|
|
|
248
237
|
.config-row {
|
|
@@ -256,13 +245,14 @@ button:hover {
|
|
|
256
245
|
display: inline-flex;
|
|
257
246
|
align-items: center;
|
|
258
247
|
gap: 8px;
|
|
259
|
-
color: var(--muted);
|
|
248
|
+
color: var(--plugin-tile-muted);
|
|
260
249
|
font-size: 0.86rem;
|
|
261
250
|
white-space: nowrap;
|
|
251
|
+
opacity: 0.78;
|
|
262
252
|
}
|
|
263
253
|
|
|
264
254
|
.remove-row {
|
|
265
|
-
padding:
|
|
255
|
+
padding: 8px 12px;
|
|
266
256
|
}
|
|
267
257
|
|
|
268
258
|
.diagnostics-summary {
|
|
@@ -282,58 +272,50 @@ button:hover {
|
|
|
282
272
|
}
|
|
283
273
|
|
|
284
274
|
.diagnostic-card dt {
|
|
285
|
-
color: var(--muted);
|
|
275
|
+
color: var(--plugin-tile-muted);
|
|
286
276
|
font-size: 0.82rem;
|
|
287
277
|
margin-bottom: 4px;
|
|
278
|
+
opacity: 0.72;
|
|
288
279
|
}
|
|
289
280
|
|
|
290
281
|
.diagnostic-card dd {
|
|
291
282
|
margin: 0;
|
|
283
|
+
color: var(--plugin-tile-ink);
|
|
292
284
|
word-break: break-word;
|
|
293
285
|
}
|
|
294
286
|
|
|
295
|
-
.pill
|
|
287
|
+
.pill,
|
|
288
|
+
.status-pill {
|
|
296
289
|
display: inline-flex;
|
|
297
290
|
align-items: center;
|
|
291
|
+
border: 1px solid var(--plugin-border);
|
|
298
292
|
border-radius: 999px;
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
border: 1px solid var(--border);
|
|
293
|
+
color: inherit;
|
|
294
|
+
background: transparent;
|
|
302
295
|
white-space: nowrap;
|
|
303
296
|
}
|
|
304
297
|
|
|
305
|
-
.pill
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
color: #86efac;
|
|
309
|
-
}
|
|
310
|
-
|
|
311
|
-
.pill.warn {
|
|
312
|
-
background: rgba(245, 158, 11, 0.12);
|
|
313
|
-
border-color: rgba(245, 158, 11, 0.4);
|
|
314
|
-
color: #fcd34d;
|
|
298
|
+
.pill {
|
|
299
|
+
padding: 6px 10px;
|
|
300
|
+
font-size: 0.8rem;
|
|
315
301
|
}
|
|
316
302
|
|
|
317
303
|
.status-pill {
|
|
318
|
-
|
|
319
|
-
border-radius: 999px;
|
|
320
|
-
color: var(--muted);
|
|
304
|
+
padding: 7px 11px;
|
|
321
305
|
font-size: 0.82rem;
|
|
322
306
|
font-weight: 600;
|
|
323
|
-
padding: 7px 11px;
|
|
324
|
-
white-space: nowrap;
|
|
325
307
|
}
|
|
326
308
|
|
|
309
|
+
.pill.good,
|
|
327
310
|
.status-pill.good {
|
|
328
|
-
background:
|
|
329
|
-
border-color: rgba(
|
|
330
|
-
color: #9ff0d4;
|
|
311
|
+
background: var(--plugin-success-surface);
|
|
312
|
+
border-color: rgba(34, 197, 94, 0.42);
|
|
331
313
|
}
|
|
332
314
|
|
|
315
|
+
.pill.warn,
|
|
333
316
|
.status-pill.warn {
|
|
334
|
-
background:
|
|
335
|
-
border-color: rgba(
|
|
336
|
-
color: #ffd98a;
|
|
317
|
+
background: var(--plugin-warning-surface);
|
|
318
|
+
border-color: rgba(245, 158, 11, 0.42);
|
|
337
319
|
}
|
|
338
320
|
|
|
339
321
|
@keyframes slide-in {
|
|
@@ -353,7 +335,7 @@ button:hover {
|
|
|
353
335
|
}
|
|
354
336
|
|
|
355
337
|
.container {
|
|
356
|
-
padding:
|
|
338
|
+
padding: 20px 16px;
|
|
357
339
|
}
|
|
358
340
|
|
|
359
341
|
.settings-grid,
|