#1
React Review Audit
Score: 70/100 · 7 errors · 1075 warnings
Copy as prompt
Fix the following React Review diagnostics in my codebase.
## Errors (7)
1. [error] server-auth-actions — src/modules/favorites/server/actions.ts:8
Server action "toggleFavorite" — add auth check (auth(), getSession(), etc.) at the top
2. [error] server-auth-actions — src/modules/cart/server/actions.ts:8
Server action "addProductToCart" — add auth check (auth(), getSession(), etc.) at the top
3. [error] server-auth-actions — src/modules/cart/server/actions.ts:72
Server action "addRandomBoxToCart" — add auth check (auth(), getSession(), etc.) at the top
4. [error] server-auth-actions — src/modules/cart/server/actions.ts:106
Server action "updateCartItemQuantity" — add auth check (auth(), getSession(), etc.) at the top
5. [error] server-auth-actions — src/modules/cart/server/actions.ts:121
Server action "removeCartItem" — add auth check (auth(), getSession(), etc.) at the top
6. [error] effect-needs-cleanup — src/modules/shop/ui/views/shop-view.tsx:41
useEffect schedules `setTimeout(...)` but never returns a cleanup — leaks the registration on every re-run and on unmount. Return a cleanup function that calls clearTimeout(...)
7. [error] effect-needs-cleanup — src/modules/account/ui/views/account-view.tsx:34
useEffect schedules `setTimeout(...)` but never returns a cleanup — leaks the registration on every re-run and on unmount. Return a cleanup function that calls clearTimeout(...)
## Warnings (1075)
8. [warning] nextjs-missing-metadata — src/app/page.tsx:1
Page without metadata or generateMetadata export — hurts SEO
9. [warning] design-no-default-tailwind-palette — src/app/not-found.tsx:10
text-gray-300 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
10. [warning] design-no-redundant-size-axes — src/app/not-found.tsx:16
w-32 h-32 → use the shorthand size-32 (Tailwind v3.4+)
11. [warning] design-no-redundant-size-axes — src/app/not-found.tsx:17
w-16 h-16 → use the shorthand size-16 (Tailwind v3.4+)
12. [warning] design-no-redundant-size-axes — src/app/not-found.tsx:19
w-8 h-8 → use the shorthand size-8 (Tailwind v3.4+)
13. [warning] design-no-redundant-size-axes — src/app/not-found.tsx:20
w-6 h-6 → use the shorthand size-6 (Tailwind v3.4+)
14. [warning] design-no-bold-heading — src/app/not-found.tsx:25
font-bold on <h1> crushes counter shapes at display sizes — use font-semibold (600) or font-medium (500)
15. [warning] design-no-default-tailwind-palette — src/app/not-found.tsx:25
text-gray-900 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
16. [warning] design-no-bold-heading — src/app/not-found.tsx:28
font-bold on <h2> crushes counter shapes at display sizes — use font-semibold (600) or font-medium (500)
17. [warning] design-no-default-tailwind-palette — src/app/not-found.tsx:28
text-gray-800 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
18. [warning] design-no-default-tailwind-palette — src/app/not-found.tsx:31
text-gray-600 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
19. [warning] design-no-redundant-size-axes — src/app/not-found.tsx:41
w-5 h-5 → use the shorthand size-5 (Tailwind v3.4+)
20. [warning] design-no-default-tailwind-palette — src/app/not-found.tsx:47
text-gray-700 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
21. [warning] design-no-default-tailwind-palette — src/app/not-found.tsx:47
border-gray-300 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
22. [warning] design-no-redundant-size-axes — src/app/not-found.tsx:49
w-5 h-5 → use the shorthand size-5 (Tailwind v3.4+)
23. [warning] design-no-default-tailwind-palette — src/app/not-found.tsx:55
text-gray-500 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
24. [warning] design-no-default-tailwind-palette — src/app/not-found.tsx:59
text-gray-700 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
25. [warning] design-no-default-tailwind-palette — src/app/not-found.tsx:65
text-gray-700 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
26. [warning] design-no-default-tailwind-palette — src/app/not-found.tsx:71
text-gray-700 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
27. [warning] design-no-default-tailwind-palette — src/app/not-found.tsx:77
text-gray-700 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
28. [warning] design-no-default-tailwind-palette — src/app/not-found.tsx:86
border-gray-200 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
29. [warning] design-no-default-tailwind-palette — src/app/not-found.tsx:87
text-gray-500 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
30. [warning] nextjs-missing-metadata — src/app/favorites/page.tsx:1
Page without metadata or generateMetadata export — hurts SEO
31. [warning] no-barrel-import — src/db/make-admin.ts:1
Import from barrel/index file — import directly from the source module for better tree-shaking
32. [warning] nextjs-missing-metadata — src/app/checkout/page.tsx:1
Page without metadata or generateMetadata export — hurts SEO
33. [warning] async-defer-await — src/trpc/routers/preferences.ts:9
await blocks the function before an early-return that doesn't use the awaited value — move the await after the synchronous guard so the skip path stays fast
34. [warning] server-sequential-independent-await — src/trpc/routers/preferences.ts:37
Sequential `await` without a data dependency on the previous result — wrap the independent calls in `Promise.all([...])` so they race instead of waterfalling
35. [warning] nextjs-missing-metadata — src/app/cart/page.tsx:1
Page without metadata or generateMetadata export — hurts SEO
36. [warning] async-await-in-loop — src/trpc/routers/orders.ts:96
await inside a for…of loop runs the calls sequentially — for independent operations, collect them and use `await Promise.all(items.map(...))` to run them concurrently
37. [warning] async-await-in-loop — src/trpc/routers/orders.ts:161
await inside a for…of loop runs the calls sequentially — for independent operations, collect them and use `await Promise.all(items.map(...))` to run them concurrently
38. [warning] no-unknown-property — src/components/SubHeader/index.tsx:188
Unknown property found
39. [warning] design-no-default-tailwind-palette — src/components/SubHeader/index.tsx:82
border-gray-100 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
40. [warning] design-no-default-tailwind-palette — src/components/SubHeader/index.tsx:107
text-gray-700 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
41. [warning] design-no-default-tailwind-palette — src/components/SubHeader/index.tsx:108
text-gray-700 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
42. [warning] design-no-default-tailwind-palette — src/components/SubHeader/index.tsx:111
bg-gray-200 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
43. [warning] design-no-default-tailwind-palette — src/components/SubHeader/index.tsx:123
text-gray-600 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
44. [warning] design-no-default-tailwind-palette — src/components/SubHeader/index.tsx:126
text-gray-300 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
45. [warning] design-no-default-tailwind-palette — src/components/SubHeader/index.tsx:151
bg-gray-50 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
46. [warning] design-no-default-tailwind-palette — src/components/SubHeader/index.tsx:158
text-gray-700 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
47. [warning] design-no-default-tailwind-palette — src/components/SubHeader/index.tsx:158
text-gray-900 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
48. [warning] design-no-default-tailwind-palette — src/components/SubHeader/index.tsx:165
border-gray-100 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
49. [warning] design-no-default-tailwind-palette — src/components/SubHeader/index.tsx:174
text-gray-900 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
50. [warning] design-no-default-tailwind-palette — src/components/SubHeader/index.tsx:174
text-gray-700 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
51. [warning] design-no-redundant-size-axes — src/components/SubHeader/index.tsx:177
w-4 h-4 → use the shorthand size-4 (Tailwind v3.4+)
52. [warning] async-defer-await — src/trpc/routers/favorites.ts:48
await blocks the function before an early-return that doesn't use the awaited value — move the await after the synchronous guard so the skip path stays fast
53. [warning] click-events-have-key-events — src/components/Modal/index.tsx:28
Enforce a clickable non-interactive element has at least one keyboard event listener.
54. [warning] no-static-element-interactions — src/components/Modal/index.tsx:28
Static HTML elements with event handlers require a role.
55. [warning] design-no-default-tailwind-palette — src/components/Modal/index.tsx:35
bg-gray-100 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
56. [warning] design-no-default-tailwind-palette — src/components/Modal/index.tsx:38
text-gray-700 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
57. [warning] server-sequential-independent-await — src/trpc/routers/chat.ts:127
Sequential `await` without a data dependency on the previous result — wrap the independent calls in `Promise.all([...])` so they race instead of waterfalling
58. [warning] async-parallel — src/trpc/routers/chat.ts:109
3 sequential await statements that appear independent — use Promise.all() for parallel execution
59. [warning] async-await-in-loop — src/trpc/routers/chat.ts:165
await inside a for…of loop runs the calls sequentially — for independent operations, collect them and use `await Promise.all(items.map(...))` to run them concurrently
60. [warning] js-index-maps — src/trpc/routers/chat.ts:162
array.find() in a loop is O(n*m) — build a Map for O(1) lookups
61. [warning] async-await-in-loop — src/trpc/routers/chat.ts:555
await inside a for…of loop runs the calls sequentially — for independent operations, collect them and use `await Promise.all(items.map(...))` to run them concurrently
62. [warning] design-no-default-tailwind-palette — src/app/(dashboard)/layout.tsx:21
bg-gray-50 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
63. [warning] no-giant-component — src/modules/favorites/ui/views/favorites-view.tsx:14
Component "FavoritesView" is 352 lines — consider breaking it into smaller focused components
64. [warning] react-compiler-destructure-method — src/modules/favorites/ui/views/favorites-view.tsx:138
Destructure for clarity: `const { push } = useRouter()` then call `push(...)` directly — easier for React Compiler to memoize and clearer about which methods this component depends on
65. [warning] js-batch-dom-css — src/modules/favorites/ui/views/favorites-view.tsx:161
Multiple sequential element.style assignments — batch with cssText or classList for fewer reflows
66. [warning] js-batch-dom-css — src/modules/favorites/ui/views/favorites-view.tsx:162
Multiple sequential element.style assignments — batch with cssText or classList for fewer reflows
67. [warning] js-batch-dom-css — src/modules/favorites/ui/views/favorites-view.tsx:163
Multiple sequential element.style assignments — batch with cssText or classList for fewer reflows
68. [warning] js-batch-dom-css — src/modules/favorites/ui/views/favorites-view.tsx:164
Multiple sequential element.style assignments — batch with cssText or classList for fewer reflows
69. [warning] js-batch-dom-css — src/modules/favorites/ui/views/favorites-view.tsx:165
Multiple sequential element.style assignments — batch with cssText or classList for fewer reflows
70. [warning] js-batch-dom-css — src/modules/favorites/ui/views/favorites-view.tsx:166
Multiple sequential element.style assignments — batch with cssText or classList for fewer reflows
71. [warning] js-batch-dom-css — src/modules/favorites/ui/views/favorites-view.tsx:167
Multiple sequential element.style assignments — batch with cssText or classList for fewer reflows
72. [warning] js-batch-dom-css — src/modules/favorites/ui/views/favorites-view.tsx:168
Multiple sequential element.style assignments — batch with cssText or classList for fewer reflows
73. [warning] js-batch-dom-css — src/modules/favorites/ui/views/favorites-view.tsx:169
Multiple sequential element.style assignments — batch with cssText or classList for fewer reflows
74. [warning] js-batch-dom-css — src/modules/favorites/ui/views/favorites-view.tsx:175
Multiple sequential element.style assignments — batch with cssText or classList for fewer reflows
75. [warning] design-no-default-tailwind-palette — src/modules/favorites/ui/views/favorites-view.tsx:194
bg-gray-50 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
76. [warning] design-no-default-tailwind-palette — src/modules/favorites/ui/views/favorites-view.tsx:197
bg-gray-200 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
77. [warning] design-no-default-tailwind-palette — src/modules/favorites/ui/views/favorites-view.tsx:198
bg-gray-200 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
78. [warning] no-array-index-as-key — src/modules/favorites/ui/views/favorites-view.tsx:202
Array index "i" used as key — causes bugs when list is reordered or filtered
79. [warning] design-no-default-tailwind-palette — src/modules/favorites/ui/views/favorites-view.tsx:202
border-gray-200 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
80. [warning] design-no-default-tailwind-palette — src/modules/favorites/ui/views/favorites-view.tsx:203
bg-gray-200 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
81. [warning] design-no-default-tailwind-palette — src/modules/favorites/ui/views/favorites-view.tsx:205
bg-gray-200 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
82. [warning] design-no-default-tailwind-palette — src/modules/favorites/ui/views/favorites-view.tsx:206
bg-gray-200 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
83. [warning] design-no-default-tailwind-palette — src/modules/favorites/ui/views/favorites-view.tsx:218
bg-gray-50 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
84. [warning] design-no-bold-heading — src/modules/favorites/ui/views/favorites-view.tsx:220
font-bold on <h1> crushes counter shapes at display sizes — use font-semibold (600) or font-medium (500)
85. [warning] design-no-default-tailwind-palette — src/modules/favorites/ui/views/favorites-view.tsx:220
text-gray-900 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
86. [warning] design-no-default-tailwind-palette — src/modules/favorites/ui/views/favorites-view.tsx:221
text-gray-600 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
87. [warning] design-no-default-tailwind-palette — src/modules/favorites/ui/views/favorites-view.tsx:223
border-gray-200 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
88. [warning] design-no-bold-heading — src/modules/favorites/ui/views/favorites-view.tsx:227
font-bold on <h2> crushes counter shapes at display sizes — use font-semibold (600) or font-medium (500)
89. [warning] design-no-default-tailwind-palette — src/modules/favorites/ui/views/favorites-view.tsx:227
text-gray-900 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
90. [warning] design-no-default-tailwind-palette — src/modules/favorites/ui/views/favorites-view.tsx:228
text-gray-600 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
91. [warning] design-no-default-tailwind-palette — src/modules/favorites/ui/views/favorites-view.tsx:231
bg-gray-900 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
92. [warning] design-no-default-tailwind-palette — src/modules/favorites/ui/views/favorites-view.tsx:231
bg-gray-800 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
93. [warning] design-no-redundant-size-axes — src/modules/favorites/ui/views/favorites-view.tsx:234
w-4 h-4 → use the shorthand size-4 (Tailwind v3.4+)
94. [warning] design-no-default-tailwind-palette — src/modules/favorites/ui/views/favorites-view.tsx:243
bg-gray-50 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
95. [warning] design-no-bold-heading — src/modules/favorites/ui/views/favorites-view.tsx:247
font-bold on <h1> crushes counter shapes at display sizes — use font-semibold (600) or font-medium (500)
96. [warning] design-no-default-tailwind-palette — src/modules/favorites/ui/views/favorites-view.tsx:247
text-gray-900 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
97. [warning] design-no-default-tailwind-palette — src/modules/favorites/ui/views/favorites-view.tsx:248
text-gray-600 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
98. [warning] design-no-default-tailwind-palette — src/modules/favorites/ui/views/favorites-view.tsx:254
text-gray-600 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
99. [warning] design-no-default-tailwind-palette — src/modules/favorites/ui/views/favorites-view.tsx:254
text-gray-900 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
100. [warning] design-no-redundant-size-axes — src/modules/favorites/ui/views/favorites-view.tsx:257
w-4 h-4 → use the shorthand size-4 (Tailwind v3.4+)
101. [warning] design-no-default-tailwind-palette — src/modules/favorites/ui/views/favorites-view.tsx:272
border-gray-200 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
102. [warning] design-no-default-tailwind-palette — src/modules/favorites/ui/views/favorites-view.tsx:278
bg-gray-100 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
103. [warning] nextjs-image-missing-sizes — src/modules/favorites/ui/views/favorites-view.tsx:280
next/image with fill but no sizes — the browser downloads the largest image. Add a sizes attribute for responsive behavior
104. [warning] design-no-default-tailwind-palette — src/modules/favorites/ui/views/favorites-view.tsx:300
text-gray-900 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
105. [warning] design-no-default-tailwind-palette — src/modules/favorites/ui/views/favorites-view.tsx:300
text-gray-700 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
106. [warning] design-no-default-tailwind-palette — src/modules/favorites/ui/views/favorites-view.tsx:306
text-gray-900 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
107. [warning] design-no-default-tailwind-palette — src/modules/favorites/ui/views/favorites-view.tsx:309
text-gray-500 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
108. [warning] design-no-default-tailwind-palette — src/modules/favorites/ui/views/favorites-view.tsx:311
text-gray-400 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
109. [warning] design-no-default-tailwind-palette — src/modules/favorites/ui/views/favorites-view.tsx:321
bg-gray-100 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
110. [warning] design-no-default-tailwind-palette — src/modules/favorites/ui/views/favorites-view.tsx:321
bg-gray-200 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
111. [warning] design-no-default-tailwind-palette — src/modules/favorites/ui/views/favorites-view.tsx:330
bg-gray-100 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
112. [warning] design-no-default-tailwind-palette — src/modules/favorites/ui/views/favorites-view.tsx:330
bg-gray-200 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
113. [warning] design-no-default-tailwind-palette — src/modules/favorites/ui/views/favorites-view.tsx:340
bg-gray-100 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
114. [warning] design-no-default-tailwind-palette — src/modules/favorites/ui/views/favorites-view.tsx:340
text-gray-900 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
115. [warning] design-no-default-tailwind-palette — src/modules/favorites/ui/views/favorites-view.tsx:340
bg-gray-200 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
116. [warning] design-no-default-tailwind-palette — src/components/Header/index.tsx:30
border-gray-200 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
117. [warning] design-no-default-tailwind-palette — src/components/Header/index.tsx:34
text-gray-900 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
118. [warning] design-no-default-tailwind-palette — src/components/Header/index.tsx:39
text-gray-700 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
119. [warning] design-no-default-tailwind-palette — src/components/Header/index.tsx:39
text-gray-900 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
120. [warning] design-no-default-tailwind-palette — src/components/Header/index.tsx:42
text-gray-700 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
121. [warning] design-no-default-tailwind-palette — src/components/Header/index.tsx:42
text-gray-900 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
122. [warning] design-no-default-tailwind-palette — src/components/Header/index.tsx:45
text-gray-700 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
123. [warning] design-no-default-tailwind-palette — src/components/Header/index.tsx:45
text-gray-900 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
124. [warning] design-no-default-tailwind-palette — src/components/Header/index.tsx:59
bg-gray-50 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
125. [warning] design-no-default-tailwind-palette — src/components/Header/index.tsx:59
border-gray-200 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
126. [warning] design-no-default-tailwind-palette — src/components/Header/index.tsx:59
ring-gray-900 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
127. [warning] design-no-default-tailwind-palette — src/components/Header/index.tsx:64
text-gray-400 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
128. [warning] design-no-default-tailwind-palette — src/components/Header/index.tsx:71
bg-gray-100 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
129. [warning] design-no-default-tailwind-palette — src/components/Header/index.tsx:74
text-gray-700 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
130. [warning] react-compiler-destructure-method — src/components/Header/index.tsx:80
Destructure for clarity: `const { push } = useRouter()` then call `push(...)` directly — easier for React Compiler to memoize and clearer about which methods this component depends on
131. [warning] design-no-redundant-size-axes — src/components/Header/index.tsx:89
w-8 h-8 → use the shorthand size-8 (Tailwind v3.4+)
132. [warning] design-no-default-tailwind-palette — src/components/Header/index.tsx:89
from-gray-700 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
133. [warning] design-no-default-tailwind-palette — src/components/Header/index.tsx:89
to-gray-900 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
134. [warning] design-no-default-tailwind-palette — src/components/Header/index.tsx:93
bg-gray-100 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
135. [warning] design-no-default-tailwind-palette — src/components/Header/index.tsx:94
text-gray-700 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
136. [warning] design-no-default-tailwind-palette — src/components/Header/index.tsx:99
bg-gray-100 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
137. [warning] design-no-default-tailwind-palette — src/components/Header/index.tsx:100
text-gray-700 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
138. [warning] design-no-default-tailwind-palette — src/components/Header/index.tsx:103
bg-gray-100 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
139. [warning] design-no-default-tailwind-palette — src/components/Header/index.tsx:104
text-gray-700 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
140. [warning] design-no-default-tailwind-palette — src/components/Header/index.tsx:106
bg-gray-900 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
141. [warning] design-no-default-tailwind-palette — src/components/Header/index.tsx:115
border-gray-200 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
142. [warning] design-no-default-tailwind-palette — src/components/Header/index.tsx:120
bg-gray-50 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
143. [warning] design-no-default-tailwind-palette — src/components/Header/index.tsx:120
border-gray-200 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
144. [warning] design-no-default-tailwind-palette — src/components/Header/index.tsx:120
ring-gray-900 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
145. [warning] design-no-default-tailwind-palette — src/components/Header/index.tsx:125
text-gray-400 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
146. [warning] label-has-associated-control — src/modules/checkout/ui/views/checkout-view.tsx:152
A form label must have accessible text.
147. [warning] label-has-associated-control — src/modules/checkout/ui/views/checkout-view.tsx:166
A form label must have accessible text.
148. [warning] react-compiler-destructure-method — src/modules/checkout/ui/views/checkout-view.tsx:45
Destructure for clarity: `const { push } = useRouter()` then call `push(...)` directly — easier for React Compiler to memoize and clearer about which methods this component depends on
149. [warning] react-compiler-destructure-method — src/modules/checkout/ui/views/checkout-view.tsx:53
Destructure for clarity: `const { push } = useRouter()` then call `push(...)` directly — easier for React Compiler to memoize and clearer about which methods this component depends on
150. [warning] react-compiler-destructure-method — src/modules/checkout/ui/views/checkout-view.tsx:77
Destructure for clarity: `const { push } = useRouter()` then call `push(...)` directly — easier for React Compiler to memoize and clearer about which methods this component depends on
151. [warning] react-compiler-destructure-method — src/modules/checkout/ui/views/checkout-view.tsx:82
Destructure for clarity: `const { push } = useRouter()` then call `push(...)` directly — easier for React Compiler to memoize and clearer about which methods this component depends on
152. [warning] react-compiler-destructure-method — src/modules/checkout/ui/views/checkout-view.tsx:87
Destructure for clarity: `const { push } = useRouter()` then call `push(...)` directly — easier for React Compiler to memoize and clearer about which methods this component depends on
153. [warning] design-no-default-tailwind-palette — src/modules/checkout/ui/views/checkout-view.tsx:92
bg-gray-50 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
154. [warning] design-no-bold-heading — src/modules/checkout/ui/views/checkout-view.tsx:95
font-bold on <h1> crushes counter shapes at display sizes — use font-semibold (600) or font-medium (500)
155. [warning] design-no-default-tailwind-palette — src/modules/checkout/ui/views/checkout-view.tsx:95
text-gray-900 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
156. [warning] design-no-default-tailwind-palette — src/modules/checkout/ui/views/checkout-view.tsx:96
text-gray-600 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
157. [warning] design-no-default-tailwind-palette — src/modules/checkout/ui/views/checkout-view.tsx:102
border-gray-100 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
158. [warning] design-no-bold-heading — src/modules/checkout/ui/views/checkout-view.tsx:103
font-bold on <h2> crushes counter shapes at display sizes — use font-semibold (600) or font-medium (500)
159. [warning] design-no-default-tailwind-palette — src/modules/checkout/ui/views/checkout-view.tsx:103
text-gray-900 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
160. [warning] rerender-functional-setstate — src/modules/checkout/ui/views/checkout-view.tsx:109
setFormData({ ...formData, ... }) — use functional update `setFormData(prev => ({ ...prev, ... }))` to avoid stale closures
161. [warning] rerender-functional-setstate — src/modules/checkout/ui/views/checkout-view.tsx:118
setFormData({ ...formData, ... }) — use functional update `setFormData(prev => ({ ...prev, ... }))` to avoid stale closures
162. [warning] rerender-functional-setstate — src/modules/checkout/ui/views/checkout-view.tsx:126
setFormData({ ...formData, ... }) — use functional update `setFormData(prev => ({ ...prev, ... }))` to avoid stale closures
163. [warning] rerender-functional-setstate — src/modules/checkout/ui/views/checkout-view.tsx:134
setFormData({ ...formData, ... }) — use functional update `setFormData(prev => ({ ...prev, ... }))` to avoid stale closures
164. [warning] rerender-functional-setstate — src/modules/checkout/ui/views/checkout-view.tsx:142
setFormData({ ...formData, ... }) — use functional update `setFormData(prev => ({ ...prev, ... }))` to avoid stale closures
165. [warning] design-no-default-tailwind-palette — src/modules/checkout/ui/views/checkout-view.tsx:149
border-gray-100 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
166. [warning] design-no-bold-heading — src/modules/checkout/ui/views/checkout-view.tsx:150
font-bold on <h2> crushes counter shapes at display sizes — use font-semibold (600) or font-medium (500)
167. [warning] design-no-default-tailwind-palette — src/modules/checkout/ui/views/checkout-view.tsx:150
text-gray-900 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
168. [warning] design-no-default-tailwind-palette — src/modules/checkout/ui/views/checkout-view.tsx:152
border-gray-200 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
169. [warning] design-no-default-tailwind-palette — src/modules/checkout/ui/views/checkout-view.tsx:152
border-gray-300 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
170. [warning] rerender-functional-setstate — src/modules/checkout/ui/views/checkout-view.tsx:158
setFormData({ ...formData, ... }) — use functional update `setFormData(prev => ({ ...prev, ... }))` to avoid stale closures
171. [warning] design-no-redundant-size-axes — src/modules/checkout/ui/views/checkout-view.tsx:159
w-4 h-4 → use the shorthand size-4 (Tailwind v3.4+)
172. [warning] design-no-default-tailwind-palette — src/modules/checkout/ui/views/checkout-view.tsx:162
text-gray-900 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
173. [warning] design-no-default-tailwind-palette — src/modules/checkout/ui/views/checkout-view.tsx:163
text-gray-500 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
174. [warning] design-no-default-tailwind-palette — src/modules/checkout/ui/views/checkout-view.tsx:166
border-gray-200 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
175. [warning] design-no-default-tailwind-palette — src/modules/checkout/ui/views/checkout-view.tsx:166
border-gray-300 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
176. [warning] rerender-functional-setstate — src/modules/checkout/ui/views/checkout-view.tsx:172
setFormData({ ...formData, ... }) — use functional update `setFormData(prev => ({ ...prev, ... }))` to avoid stale closures
177. [warning] design-no-redundant-size-axes — src/modules/checkout/ui/views/checkout-view.tsx:173
w-4 h-4 → use the shorthand size-4 (Tailwind v3.4+)
178. [warning] design-no-default-tailwind-palette — src/modules/checkout/ui/views/checkout-view.tsx:176
text-gray-900 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
179. [warning] design-no-default-tailwind-palette — src/modules/checkout/ui/views/checkout-view.tsx:177
text-gray-500 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
180. [warning] design-no-default-tailwind-palette — src/modules/checkout/ui/views/checkout-view.tsx:185
border-gray-100 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
181. [warning] design-no-bold-heading — src/modules/checkout/ui/views/checkout-view.tsx:186
font-bold on <h2> crushes counter shapes at display sizes — use font-semibold (600) or font-medium (500)
182. [warning] design-no-default-tailwind-palette — src/modules/checkout/ui/views/checkout-view.tsx:186
text-gray-900 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
183. [warning] design-no-default-tailwind-palette — src/modules/checkout/ui/views/checkout-view.tsx:189
text-gray-600 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
184. [warning] design-no-default-tailwind-palette — src/modules/checkout/ui/views/checkout-view.tsx:194
text-gray-600 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
185. [warning] design-no-default-tailwind-palette — src/modules/checkout/ui/views/checkout-view.tsx:205
border-gray-200 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
186. [warning] design-no-default-tailwind-palette — src/modules/checkout/ui/views/checkout-view.tsx:207
text-gray-900 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
187. [warning] design-no-default-tailwind-palette — src/modules/checkout/ui/views/checkout-view.tsx:208
text-gray-900 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
188. [warning] design-no-default-tailwind-palette — src/modules/checkout/ui/views/checkout-view.tsx:216
bg-gray-900 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
189. [warning] design-no-default-tailwind-palette — src/modules/checkout/ui/views/checkout-view.tsx:216
bg-gray-800 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
190. [warning] design-no-redundant-size-axes — src/modules/checkout/ui/views/checkout-view.tsx:220
w-5 h-5 → use the shorthand size-5 (Tailwind v3.4+)
191. [warning] design-no-default-tailwind-palette — src/modules/checkout/ui/views/checkout-view.tsx:228
border-gray-200 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
192. [warning] design-no-default-tailwind-palette — src/modules/checkout/ui/views/checkout-view.tsx:229
text-gray-600 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
193. [warning] design-no-default-tailwind-palette — src/modules/checkout/ui/views/checkout-view.tsx:233
text-gray-600 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
194. [warning] no-giant-component — src/modules/cart/ui/views/cart-view.tsx:29
Component "CartView" is 325 lines — consider breaking it into smaller focused components
195. [warning] design-no-default-tailwind-palette — src/modules/cart/ui/views/cart-view.tsx:124
bg-gray-50 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
196. [warning] design-no-default-tailwind-palette — src/modules/cart/ui/views/cart-view.tsx:128
text-gray-300 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
197. [warning] design-no-bold-heading — src/modules/cart/ui/views/cart-view.tsx:130
font-bold on <h2> crushes counter shapes at display sizes — use font-semibold (600) or font-medium (500)
198. [warning] design-no-default-tailwind-palette — src/modules/cart/ui/views/cart-view.tsx:130
text-gray-900 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
199. [warning] design-no-default-tailwind-palette — src/modules/cart/ui/views/cart-view.tsx:131
text-gray-600 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
200. [warning] design-no-default-tailwind-palette — src/modules/cart/ui/views/cart-view.tsx:134
bg-gray-900 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
201. [warning] design-no-default-tailwind-palette — src/modules/cart/ui/views/cart-view.tsx:134
bg-gray-800 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
202. [warning] design-no-default-tailwind-palette — src/modules/cart/ui/views/cart-view.tsx:146
bg-gray-50 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
203. [warning] design-no-bold-heading — src/modules/cart/ui/views/cart-view.tsx:149
font-bold on <h1> crushes counter shapes at display sizes — use font-semibold (600) or font-medium (500)
204. [warning] design-no-default-tailwind-palette — src/modules/cart/ui/views/cart-view.tsx:149
text-gray-900 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
205. [warning] design-no-default-tailwind-palette — src/modules/cart/ui/views/cart-view.tsx:150
text-gray-600 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
206. [warning] no-array-index-as-key — src/modules/cart/ui/views/cart-view.tsx:157
Array index "i" used as key — causes bugs when list is reordered or filtered
207. [warning] design-no-default-tailwind-palette — src/modules/cart/ui/views/cart-view.tsx:165
text-gray-300 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
208. [warning] design-no-bold-heading — src/modules/cart/ui/views/cart-view.tsx:167
font-bold on <h2> crushes counter shapes at display sizes — use font-semibold (600) or font-medium (500)
209. [warning] design-no-default-tailwind-palette — src/modules/cart/ui/views/cart-view.tsx:167
text-gray-900 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
210. [warning] design-no-default-tailwind-palette — src/modules/cart/ui/views/cart-view.tsx:168
text-gray-600 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
211. [warning] design-no-default-tailwind-palette — src/modules/cart/ui/views/cart-view.tsx:171
bg-gray-900 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
212. [warning] design-no-default-tailwind-palette — src/modules/cart/ui/views/cart-view.tsx:171
bg-gray-800 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
213. [warning] design-no-default-tailwind-palette — src/modules/cart/ui/views/cart-view.tsx:206
bg-gray-100 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
214. [warning] nextjs-image-missing-sizes — src/modules/cart/ui/views/cart-view.tsx:207
next/image with fill but no sizes — the browser downloads the largest image. Add a sizes attribute for responsive behavior
215. [warning] design-no-bold-heading — src/modules/cart/ui/views/cart-view.tsx:220
font-bold on <h3> crushes counter shapes at display sizes — use font-semibold (600) or font-medium (500)
216. [warning] design-no-default-tailwind-palette — src/modules/cart/ui/views/cart-view.tsx:220
text-gray-900 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
217. [warning] design-no-default-tailwind-palette — src/modules/cart/ui/views/cart-view.tsx:224
text-gray-500 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
218. [warning] design-no-default-tailwind-palette — src/modules/cart/ui/views/cart-view.tsx:228
text-gray-600 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
219. [warning] design-no-default-tailwind-palette — src/modules/cart/ui/views/cart-view.tsx:236
text-gray-400 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
220. [warning] design-no-default-tailwind-palette — src/modules/cart/ui/views/cart-view.tsx:237
text-gray-600 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
221. [warning] design-no-default-tailwind-palette — src/modules/cart/ui/views/cart-view.tsx:243
border-gray-300 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
222. [warning] design-no-default-tailwind-palette — src/modules/cart/ui/views/cart-view.tsx:246
bg-gray-100 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
223. [warning] design-no-default-tailwind-palette — src/modules/cart/ui/views/cart-view.tsx:246
text-gray-700 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
224. [warning] design-no-default-tailwind-palette — src/modules/cart/ui/views/cart-view.tsx:250
text-gray-900 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
225. [warning] design-no-default-tailwind-palette — src/modules/cart/ui/views/cart-view.tsx:250
border-gray-300 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
226. [warning] design-no-default-tailwind-palette — src/modules/cart/ui/views/cart-view.tsx:255
bg-gray-100 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
227. [warning] design-no-default-tailwind-palette — src/modules/cart/ui/views/cart-view.tsx:255
text-gray-700 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
228. [warning] design-no-default-tailwind-palette — src/modules/cart/ui/views/cart-view.tsx:272
text-gray-900 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
229. [warning] design-no-bold-heading — src/modules/cart/ui/views/cart-view.tsx:283
font-bold on <h2> crushes counter shapes at display sizes — use font-semibold (600) or font-medium (500)
230. [warning] design-no-default-tailwind-palette — src/modules/cart/ui/views/cart-view.tsx:283
text-gray-900 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
231. [warning] design-no-default-tailwind-palette — src/modules/cart/ui/views/cart-view.tsx:286
text-gray-600 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
232. [warning] design-no-default-tailwind-palette — src/modules/cart/ui/views/cart-view.tsx:291
text-gray-600 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
233. [warning] design-no-default-tailwind-palette — src/modules/cart/ui/views/cart-view.tsx:310
border-gray-200 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
234. [warning] design-no-default-tailwind-palette — src/modules/cart/ui/views/cart-view.tsx:312
text-gray-900 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
235. [warning] design-no-default-tailwind-palette — src/modules/cart/ui/views/cart-view.tsx:313
text-gray-900 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
236. [warning] react-compiler-destructure-method — src/modules/cart/ui/views/cart-view.tsx:319
Destructure for clarity: `const { push } = useRouter()` then call `push(...)` directly — easier for React Compiler to memoize and clearer about which methods this component depends on
237. [warning] design-no-default-tailwind-palette — src/modules/cart/ui/views/cart-view.tsx:320
bg-gray-900 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
238. [warning] design-no-default-tailwind-palette — src/modules/cart/ui/views/cart-view.tsx:320
bg-gray-800 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
239. [warning] design-no-default-tailwind-palette — src/modules/cart/ui/views/cart-view.tsx:327
text-gray-600 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
240. [warning] design-no-default-tailwind-palette — src/modules/cart/ui/views/cart-view.tsx:327
text-gray-900 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
241. [warning] design-no-default-tailwind-palette — src/modules/cart/ui/views/cart-view.tsx:332
border-gray-200 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
242. [warning] design-no-default-tailwind-palette — src/modules/cart/ui/views/cart-view.tsx:333
text-gray-600 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
243. [warning] design-no-default-tailwind-palette — src/modules/cart/ui/views/cart-view.tsx:337
text-gray-600 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
244. [warning] design-no-default-tailwind-palette — src/modules/cart/ui/views/cart-view.tsx:341
text-gray-600 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
245. [warning] design-no-bold-heading — src/modules/dashboard/ui/views/dashboard-view.tsx:44
font-bold on <h1> crushes counter shapes at display sizes — use font-semibold (600) or font-medium (500)
246. [warning] design-no-default-tailwind-palette — src/modules/dashboard/ui/views/dashboard-view.tsx:44
text-gray-900 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
247. [warning] design-no-default-tailwind-palette — src/modules/dashboard/ui/views/dashboard-view.tsx:45
text-gray-600 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
248. [warning] design-no-default-tailwind-palette — src/modules/dashboard/ui/views/dashboard-view.tsx:53
border-gray-200 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
249. [warning] design-no-default-tailwind-palette — src/modules/dashboard/ui/views/dashboard-view.tsx:57
text-gray-600 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
250. [warning] design-no-default-tailwind-palette — src/modules/dashboard/ui/views/dashboard-view.tsx:58
text-gray-900 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
251. [warning] design-no-redundant-size-axes — src/modules/dashboard/ui/views/dashboard-view.tsx:63
w-6 h-6 → use the shorthand size-6 (Tailwind v3.4+)
252. [warning] design-no-default-tailwind-palette — src/modules/dashboard/ui/views/dashboard-view.tsx:71
border-gray-200 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
253. [warning] design-no-default-tailwind-palette — src/modules/dashboard/ui/views/dashboard-view.tsx:72
text-gray-900 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
254. [warning] nextjs-no-a-element — src/modules/dashboard/ui/views/dashboard-view.tsx:76
Use next/link instead of <a> for internal links — enables client-side navigation and prefetching
255. [warning] design-no-default-tailwind-palette — src/modules/dashboard/ui/views/dashboard-view.tsx:78
bg-gray-50 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
256. [warning] design-no-redundant-size-axes — src/modules/dashboard/ui/views/dashboard-view.tsx:80
w-5 h-5 → use the shorthand size-5 (Tailwind v3.4+)
257. [warning] design-no-default-tailwind-palette — src/modules/dashboard/ui/views/dashboard-view.tsx:81
text-gray-700 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
258. [warning] nextjs-no-a-element — src/modules/dashboard/ui/views/dashboard-view.tsx:83
Use next/link instead of <a> for internal links — enables client-side navigation and prefetching
259. [warning] design-no-default-tailwind-palette — src/modules/dashboard/ui/views/dashboard-view.tsx:85
bg-gray-50 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
260. [warning] design-no-redundant-size-axes — src/modules/dashboard/ui/views/dashboard-view.tsx:87
w-5 h-5 → use the shorthand size-5 (Tailwind v3.4+)
261. [warning] design-no-default-tailwind-palette — src/modules/dashboard/ui/views/dashboard-view.tsx:88
text-gray-700 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
262. [warning] nextjs-no-a-element — src/modules/dashboard/ui/views/dashboard-view.tsx:90
Use next/link instead of <a> for internal links — enables client-side navigation and prefetching
263. [warning] design-no-default-tailwind-palette — src/modules/dashboard/ui/views/dashboard-view.tsx:92
bg-gray-50 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
264. [warning] design-no-redundant-size-axes — src/modules/dashboard/ui/views/dashboard-view.tsx:94
w-5 h-5 → use the shorthand size-5 (Tailwind v3.4+)
265. [warning] design-no-default-tailwind-palette — src/modules/dashboard/ui/views/dashboard-view.tsx:95
text-gray-700 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
266. [warning] design-no-default-tailwind-palette — src/modules/dashboard/ui/views/dashboard-view.tsx:100
border-gray-200 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
267. [warning] design-no-default-tailwind-palette — src/modules/dashboard/ui/views/dashboard-view.tsx:101
text-gray-900 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
268. [warning] design-no-default-tailwind-palette — src/modules/dashboard/ui/views/dashboard-view.tsx:105
bg-gray-50 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
269. [warning] design-no-default-tailwind-palette — src/modules/dashboard/ui/views/dashboard-view.tsx:106
text-gray-600 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
270. [warning] design-no-default-tailwind-palette — src/modules/dashboard/ui/views/dashboard-view.tsx:107
text-gray-900 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
271. [warning] design-no-default-tailwind-palette — src/modules/dashboard/ui/views/dashboard-view.tsx:109
bg-gray-50 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
272. [warning] design-no-default-tailwind-palette — src/modules/dashboard/ui/views/dashboard-view.tsx:110
text-gray-600 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
273. [warning] design-no-default-tailwind-palette — src/modules/dashboard/ui/views/dashboard-view.tsx:111
text-gray-900 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
274. [warning] design-no-default-tailwind-palette — src/modules/dashboard/ui/views/dashboard-view.tsx:113
bg-gray-50 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
275. [warning] design-no-default-tailwind-palette — src/modules/dashboard/ui/views/dashboard-view.tsx:114
text-gray-600 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
276. [warning] design-no-redundant-size-axes — src/modules/dashboard/ui/views/dashboard-view.tsx:116
w-2 h-2 → use the shorthand size-2 (Tailwind v3.4+)
277. [warning] design-no-default-tailwind-palette — src/components/DashboardSidebar/index.tsx:32
border-gray-200 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
278. [warning] design-no-default-tailwind-palette — src/components/DashboardSidebar/index.tsx:33
border-gray-200 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
279. [warning] design-no-redundant-size-axes — src/components/DashboardSidebar/index.tsx:53
w-5 h-5 → use the shorthand size-5 (Tailwind v3.4+)
280. [warning] design-no-redundant-size-axes — src/components/DashboardSidebar/index.tsx:56
w-5 h-5 → use the shorthand size-5 (Tailwind v3.4+)
281. [warning] design-no-default-tailwind-palette — src/components/DashboardSidebar/index.tsx:65
border-gray-200 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
282. [warning] design-no-default-tailwind-palette — src/components/DashboardSidebar/index.tsx:65
bg-gray-50 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
283. [warning] design-no-default-tailwind-palette — src/components/DashboardSidebar/index.tsx:68
text-gray-700 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
284. [warning] design-no-redundant-size-axes — src/components/DashboardSidebar/index.tsx:70
w-5 h-5 → use the shorthand size-5 (Tailwind v3.4+)
285. [warning] design-no-bold-heading — src/modules/dashboard/ui/views/dashboard-users-view.tsx:86
font-bold on <h1> crushes counter shapes at display sizes — use font-semibold (600) or font-medium (500)
286. [warning] design-no-default-tailwind-palette — src/modules/dashboard/ui/views/dashboard-users-view.tsx:86
text-gray-900 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
287. [warning] design-no-default-tailwind-palette — src/modules/dashboard/ui/views/dashboard-users-view.tsx:87
text-gray-600 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
288. [warning] design-no-default-tailwind-palette — src/modules/dashboard/ui/views/dashboard-users-view.tsx:91
border-gray-200 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
289. [warning] design-no-default-tailwind-palette — src/modules/dashboard/ui/views/dashboard-users-view.tsx:92
border-gray-200 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
290. [warning] design-no-redundant-size-axes — src/modules/dashboard/ui/views/dashboard-users-view.tsx:96
w-5 h-5 → use the shorthand size-5 (Tailwind v3.4+)
291. [warning] design-no-default-tailwind-palette — src/modules/dashboard/ui/views/dashboard-users-view.tsx:96
text-gray-400 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
292. [warning] design-no-default-tailwind-palette — src/modules/dashboard/ui/views/dashboard-users-view.tsx:103
border-gray-300 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
293. [warning] design-no-default-tailwind-palette — src/modules/dashboard/ui/views/dashboard-users-view.tsx:110
bg-gray-50 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
294. [warning] design-no-default-tailwind-palette — src/modules/dashboard/ui/views/dashboard-users-view.tsx:110
border-gray-200 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
295. [warning] design-no-default-tailwind-palette — src/modules/dashboard/ui/views/dashboard-users-view.tsx:112
text-gray-500 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
296. [warning] design-no-default-tailwind-palette — src/modules/dashboard/ui/views/dashboard-users-view.tsx:115
text-gray-500 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
297. [warning] design-no-default-tailwind-palette — src/modules/dashboard/ui/views/dashboard-users-view.tsx:118
text-gray-500 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
298. [warning] design-no-default-tailwind-palette — src/modules/dashboard/ui/views/dashboard-users-view.tsx:121
text-gray-500 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
299. [warning] design-no-default-tailwind-palette — src/modules/dashboard/ui/views/dashboard-users-view.tsx:124
text-gray-500 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
300. [warning] design-no-default-tailwind-palette — src/modules/dashboard/ui/views/dashboard-users-view.tsx:129
divide-gray-200 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
301. [warning] design-no-default-tailwind-palette — src/modules/dashboard/ui/views/dashboard-users-view.tsx:132
text-gray-500 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
302. [warning] design-no-default-tailwind-palette — src/modules/dashboard/ui/views/dashboard-users-view.tsx:138
text-gray-500 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
303. [warning] design-no-default-tailwind-palette — src/modules/dashboard/ui/views/dashboard-users-view.tsx:144
bg-gray-50 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
304. [warning] nextjs-no-img-element — src/modules/dashboard/ui/views/dashboard-users-view.tsx:148
Use next/image instead of <img> — provides automatic optimization, lazy loading, and responsive srcset
305. [warning] design-no-redundant-size-axes — src/modules/dashboard/ui/views/dashboard-users-view.tsx:151
w-10 h-10 → use the shorthand size-10 (Tailwind v3.4+)
306. [warning] design-no-redundant-size-axes — src/modules/dashboard/ui/views/dashboard-users-view.tsx:154
w-10 h-10 → use the shorthand size-10 (Tailwind v3.4+)
307. [warning] design-no-default-tailwind-palette — src/modules/dashboard/ui/views/dashboard-users-view.tsx:154
bg-gray-200 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
308. [warning] design-no-redundant-size-axes — src/modules/dashboard/ui/views/dashboard-users-view.tsx:155
w-6 h-6 → use the shorthand size-6 (Tailwind v3.4+)
309. [warning] design-no-default-tailwind-palette — src/modules/dashboard/ui/views/dashboard-users-view.tsx:155
text-gray-500 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
310. [warning] design-no-default-tailwind-palette — src/modules/dashboard/ui/views/dashboard-users-view.tsx:158
text-gray-900
---
_Issue body truncated. See the full report at [react.review/dashboard](https://react.review/dashboard)._Activity
0No activity yet.