Commit 8ae1ad4
committed
Implement Tailwind-inspired theme system with variant support
- Create theme-config.ts with variant types (transparent, modal, embedded, custom)
- Add ThemeProvider and useTheme() hook for context-based theme access
- Add VariantProvider for setting theme variants in component trees
- Migrate all components to use useTheme() instead of theme props
- Add logoColor to theme interface, automatically resolved per light/dark mode
- Centralize background color resolution with applyVariantBackgrounds utility
- Export mergeThemeOverrides and cloneChatTheme from theme-system
- Clean up LoginModal to use modal variant with solid backgrounds
- Add plugin system foundation for future theme extensibility
This provides a clean, hook-based API where components call useTheme()
with no arguments and automatically get the appropriate theme variant
based on their parent context. Modal components wrap with VariantProvider
to get solid backgrounds instead of transparent ones.1 parent 29f098b commit 8ae1ad4
File tree
12 files changed
+636
-133
lines changed- cli/src
- components
- __tests__
- hooks
- utils
12 files changed
+636
-133
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
36 | 36 | | |
37 | 37 | | |
38 | 38 | | |
| 39 | + | |
39 | 40 | | |
40 | 41 | | |
41 | 42 | | |
| |||
50 | 51 | | |
51 | 52 | | |
52 | 53 | | |
53 | | - | |
54 | 54 | | |
55 | | - | |
56 | 55 | | |
57 | 56 | | |
58 | 57 | | |
| |||
170 | 169 | | |
171 | 170 | | |
172 | 171 | | |
173 | | - | |
174 | | - | |
175 | | - | |
176 | | - | |
177 | | - | |
178 | | - | |
179 | | - | |
180 | | - | |
181 | | - | |
182 | | - | |
183 | | - | |
184 | | - | |
185 | | - | |
186 | | - | |
187 | | - | |
188 | | - | |
189 | | - | |
190 | | - | |
191 | | - | |
192 | | - | |
193 | | - | |
194 | | - | |
195 | | - | |
196 | | - | |
197 | | - | |
198 | | - | |
199 | | - | |
200 | | - | |
201 | | - | |
202 | | - | |
203 | | - | |
204 | | - | |
205 | | - | |
206 | | - | |
207 | | - | |
208 | | - | |
| 172 | + | |
| 173 | + | |
| 174 | + | |
209 | 175 | | |
210 | 176 | | |
211 | 177 | | |
| |||
316 | 282 | | |
317 | 283 | | |
318 | 284 | | |
319 | | - | |
320 | | - | |
321 | 285 | | |
322 | 286 | | |
323 | 287 | | |
| |||
334 | 298 | | |
335 | 299 | | |
336 | 300 | | |
337 | | - | |
| 301 | + | |
338 | 302 | | |
339 | 303 | | |
340 | 304 | | |
| |||
1173 | 1137 | | |
1174 | 1138 | | |
1175 | 1139 | | |
1176 | | - | |
1177 | 1140 | | |
1178 | 1141 | | |
1179 | 1142 | | |
| |||
1388 | 1351 | | |
1389 | 1352 | | |
1390 | 1353 | | |
1391 | | - | |
| 1354 | + | |
1392 | 1355 | | |
1393 | 1356 | | |
1394 | 1357 | | |
1395 | 1358 | | |
1396 | | - | |
1397 | 1359 | | |
1398 | 1360 | | |
1399 | 1361 | | |
| |||
1404 | 1366 | | |
1405 | 1367 | | |
1406 | 1368 | | |
1407 | | - | |
1408 | 1369 | | |
1409 | 1370 | | |
1410 | 1371 | | |
| |||
1424 | 1385 | | |
1425 | 1386 | | |
1426 | 1387 | | |
1427 | | - | |
1428 | 1388 | | |
1429 | 1389 | | |
1430 | 1390 | | |
| |||
1439 | 1399 | | |
1440 | 1400 | | |
1441 | 1401 | | |
1442 | | - | |
1443 | 1402 | | |
1444 | 1403 | | |
1445 | 1404 | | |
1446 | 1405 | | |
1447 | | - | |
| 1406 | + | |
1448 | 1407 | | |
1449 | 1408 | | |
1450 | 1409 | | |
1451 | 1410 | | |
1452 | 1411 | | |
1453 | 1412 | | |
1454 | | - | |
1455 | 1413 | | |
1456 | 1414 | | |
1457 | 1415 | | |
| |||
Lines changed: 22 additions & 21 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
13 | 13 | | |
14 | 14 | | |
15 | 15 | | |
16 | | - | |
| 16 | + | |
17 | 17 | | |
18 | 18 | | |
19 | 19 | | |
20 | | - | |
21 | | - | |
22 | 20 | | |
23 | 21 | | |
24 | 22 | | |
| |||
41 | 39 | | |
42 | 40 | | |
43 | 41 | | |
44 | | - | |
45 | | - | |
46 | | - | |
47 | | - | |
48 | | - | |
49 | | - | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
50 | 49 | | |
51 | 50 | | |
52 | 51 | | |
53 | 52 | | |
54 | 53 | | |
55 | | - | |
56 | | - | |
57 | | - | |
58 | | - | |
59 | | - | |
60 | | - | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
61 | 61 | | |
62 | 62 | | |
63 | 63 | | |
64 | 64 | | |
65 | 65 | | |
66 | 66 | | |
67 | 67 | | |
68 | | - | |
69 | | - | |
70 | | - | |
71 | | - | |
72 | | - | |
73 | | - | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
74 | 75 | | |
75 | 76 | | |
76 | 77 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | | - | |
2 | | - | |
3 | 1 | | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
4 | 20 | | |
5 | 21 | | |
6 | 22 | | |
7 | | - | |
8 | 23 | | |
9 | 24 | | |
10 | | - | |
11 | | - | |
| 25 | + | |
12 | 26 | | |
13 | 27 | | |
14 | | - | |
15 | | - | |
16 | | - | |
17 | | - | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
18 | 31 | | |
19 | 32 | | |
20 | 33 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
9 | 9 | | |
10 | 10 | | |
11 | 11 | | |
| 12 | + | |
12 | 13 | | |
13 | 14 | | |
14 | 15 | | |
| |||
23 | 24 | | |
24 | 25 | | |
25 | 26 | | |
26 | | - | |
27 | 27 | | |
28 | 28 | | |
29 | 29 | | |
| |||
32 | 32 | | |
33 | 33 | | |
34 | 34 | | |
35 | | - | |
36 | 35 | | |
37 | 36 | | |
38 | 37 | | |
39 | | - | |
40 | 38 | | |
41 | 39 | | |
42 | 40 | | |
43 | 41 | | |
44 | 42 | | |
45 | | - | |
46 | 43 | | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
47 | 58 | | |
48 | 59 | | |
49 | 60 | | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
50 | 64 | | |
51 | 65 | | |
52 | 66 | | |
| |||
219 | 233 | | |
220 | 234 | | |
221 | 235 | | |
222 | | - | |
223 | | - | |
224 | | - | |
225 | | - | |
226 | | - | |
227 | | - | |
228 | | - | |
229 | | - | |
230 | | - | |
231 | | - | |
232 | | - | |
233 | | - | |
234 | | - | |
235 | | - | |
236 | | - | |
237 | | - | |
238 | | - | |
239 | | - | |
240 | | - | |
241 | | - | |
242 | | - | |
243 | | - | |
244 | 236 | | |
245 | 237 | | |
246 | 238 | | |
| |||
278 | 270 | | |
279 | 271 | | |
280 | 272 | | |
281 | | - | |
| 273 | + | |
282 | 274 | | |
283 | 275 | | |
284 | 276 | | |
| |||
319 | 311 | | |
320 | 312 | | |
321 | 313 | | |
322 | | - | |
| 314 | + | |
323 | 315 | | |
324 | 316 | | |
325 | 317 | | |
| |||
352 | 344 | | |
353 | 345 | | |
354 | 346 | | |
355 | | - | |
| 347 | + | |
356 | 348 | | |
357 | 349 | | |
358 | 350 | | |
| |||
0 commit comments