Fix the following React Review diagnostics in my codebase.
## Warnings (233)
1. [warning] no-react19-deprecated-apis — components/ui/toast.tsx:12
forwardRef is no longer needed on React 19+ — refs are regular props on function components; remove forwardRef and pass ref directly
2. [warning] no-react19-deprecated-apis — components/ui/toast.tsx:43
forwardRef is no longer needed on React 19+ — refs are regular props on function components; remove forwardRef and pass ref directly
3. [warning] no-react19-deprecated-apis — components/ui/toast.tsx:58
forwardRef is no longer needed on React 19+ — refs are regular props on function components; remove forwardRef and pass ref directly
4. [warning] no-react19-deprecated-apis — components/ui/toast.tsx:73
forwardRef is no longer needed on React 19+ — refs are regular props on function components; remove forwardRef and pass ref directly
5. [warning] design-no-redundant-size-axes — components/ui/toast.tsx:86
w-4 h-4 → use the shorthand size-4 (Tailwind v3.4+)
6. [warning] no-react19-deprecated-apis — components/ui/toast.tsx:91
forwardRef is no longer needed on React 19+ — refs are regular props on function components; remove forwardRef and pass ref directly
7. [warning] no-react19-deprecated-apis — components/ui/toast.tsx:103
forwardRef is no longer needed on React 19+ — refs are regular props on function components; remove forwardRef and pass ref directly
8. [warning] no-react19-deprecated-apis — components/ui/carousel.tsx:36
useContext is superseded by `use()` on React 19+ — `use()` reads context conditionally inside hooks, branches, and loops; switch to `import { use } from 'react'`
9. [warning] no-react19-deprecated-apis — components/ui/carousel.tsx:45
forwardRef is no longer needed on React 19+ — refs are regular props on function components; remove forwardRef and pass ref directly
10. [warning] no-prop-callback-in-effect — components/ui/carousel.tsx:106
useEffect calls prop callback "setApi" with local state in deps — this is the "lift state via callback" anti-pattern; lift state into a shared Provider so both sides read the same source
11. [warning] advanced-event-handler-refs — components/ui/carousel.tsx:109
useEffect re-subscribes a "onSelect" listener every time the handler identity changes — store the handler in a ref and have the listener read `handlerRef.current()`, then drop it from the deps
12. [warning] no-react19-deprecated-apis — components/ui/carousel.tsx:153
forwardRef is no longer needed on React 19+ — refs are regular props on function components; remove forwardRef and pass ref directly
13. [warning] no-react19-deprecated-apis — components/ui/carousel.tsx:175
forwardRef is no longer needed on React 19+ — refs are regular props on function components; remove forwardRef and pass ref directly
14. [warning] no-react19-deprecated-apis — components/ui/carousel.tsx:197
forwardRef is no longer needed on React 19+ — refs are regular props on function components; remove forwardRef and pass ref directly
15. [warning] design-no-redundant-size-axes — components/ui/carousel.tsx:219
w-4 h-4 → use the shorthand size-4 (Tailwind v3.4+)
16. [warning] no-react19-deprecated-apis — components/ui/carousel.tsx:226
forwardRef is no longer needed on React 19+ — refs are regular props on function components; remove forwardRef and pass ref directly
17. [warning] design-no-redundant-size-axes — components/ui/carousel.tsx:248
w-4 h-4 → use the shorthand size-4 (Tailwind v3.4+)
18. [warning] no-react19-deprecated-apis — components/ui/tooltip.tsx:14
forwardRef is no longer needed on React 19+ — refs are regular props on function components; remove forwardRef and pass ref directly
19. [warning] no-redundant-roles — components/ui/pagination.tsx:9
The `nav` element has an implicit role of `navigation`. Defining this explicitly is redundant and should be avoided.
20. [warning] no-react19-deprecated-apis — components/ui/pagination.tsx:17
forwardRef is no longer needed on React 19+ — refs are regular props on function components; remove forwardRef and pass ref directly
21. [warning] no-react19-deprecated-apis — components/ui/pagination.tsx:29
forwardRef is no longer needed on React 19+ — refs are regular props on function components; remove forwardRef and pass ref directly
22. [warning] design-no-redundant-size-axes — components/ui/pagination.tsx:72
w-4 h-4 → use the shorthand size-4 (Tailwind v3.4+)
23. [warning] design-no-redundant-size-axes — components/ui/pagination.tsx:89
w-4 h-4 → use the shorthand size-4 (Tailwind v3.4+)
24. [warning] design-no-redundant-size-axes — components/ui/pagination.tsx:103
w-4 h-4 → use the shorthand size-4 (Tailwind v3.4+)
25. [warning] no-unknown-property — components/ui/command.tsx:42
Unknown property found
26. [warning] no-react19-deprecated-apis — components/ui/command.tsx:11
forwardRef is no longer needed on React 19+ — refs are regular props on function components; remove forwardRef and pass ref directly
27. [warning] no-react19-deprecated-apis — components/ui/command.tsx:38
forwardRef is no longer needed on React 19+ — refs are regular props on function components; remove forwardRef and pass ref directly
28. [warning] design-no-redundant-size-axes — components/ui/command.tsx:43
w-4 h-4 → use the shorthand size-4 (Tailwind v3.4+)
29. [warning] no-react19-deprecated-apis — components/ui/command.tsx:57
forwardRef is no longer needed on React 19+ — refs are regular props on function components; remove forwardRef and pass ref directly
30. [warning] no-react19-deprecated-apis — components/ui/command.tsx:70
forwardRef is no longer needed on React 19+ — refs are regular props on function components; remove forwardRef and pass ref directly
31. [warning] no-react19-deprecated-apis — components/ui/command.tsx:83
forwardRef is no longer needed on React 19+ — refs are regular props on function components; remove forwardRef and pass ref directly
32. [warning] no-react19-deprecated-apis — components/ui/command.tsx:99
forwardRef is no longer needed on React 19+ — refs are regular props on function components; remove forwardRef and pass ref directly
33. [warning] no-react19-deprecated-apis — components/ui/command.tsx:111
forwardRef is no longer needed on React 19+ — refs are regular props on function components; remove forwardRef and pass ref directly
34. [warning] design-no-redundant-size-axes — components/ui/resizable.tsx:39
w-2.5 h-2.5 → use the shorthand size-2.5 (Tailwind v3.4+)
35. [warning] no-react19-deprecated-apis — components/ui/dropdown-menu.tsx:21
forwardRef is no longer needed on React 19+ — refs are regular props on function components; remove forwardRef and pass ref directly
36. [warning] no-react19-deprecated-apis — components/ui/dropdown-menu.tsx:43
forwardRef is no longer needed on React 19+ — refs are regular props on function components; remove forwardRef and pass ref directly
37. [warning] no-react19-deprecated-apis — components/ui/dropdown-menu.tsx:59
forwardRef is no longer needed on React 19+ — refs are regular props on function components; remove forwardRef and pass ref directly
38. [warning] no-react19-deprecated-apis — components/ui/dropdown-menu.tsx:77
forwardRef is no longer needed on React 19+ — refs are regular props on function components; remove forwardRef and pass ref directly
39. [warning] no-react19-deprecated-apis — components/ui/dropdown-menu.tsx:95
forwardRef is no longer needed on React 19+ — refs are regular props on function components; remove forwardRef and pass ref directly
40. [warning] design-no-redundant-size-axes — components/ui/dropdown-menu.tsx:108
w-3.5 h-3.5 → use the shorthand size-3.5 (Tailwind v3.4+)
41. [warning] design-no-redundant-size-axes — components/ui/dropdown-menu.tsx:110
w-4 h-4 → use the shorthand size-4 (Tailwind v3.4+)
42. [warning] no-react19-deprecated-apis — components/ui/dropdown-menu.tsx:119
forwardRef is no longer needed on React 19+ — refs are regular props on function components; remove forwardRef and pass ref directly
43. [warning] design-no-redundant-size-axes — components/ui/dropdown-menu.tsx:131
w-3.5 h-3.5 → use the shorthand size-3.5 (Tailwind v3.4+)
44. [warning] design-no-redundant-size-axes — components/ui/dropdown-menu.tsx:133
w-2 h-2 → use the shorthand size-2 (Tailwind v3.4+)
45. [warning] no-react19-deprecated-apis — components/ui/dropdown-menu.tsx:141
forwardRef is no longer needed on React 19+ — refs are regular props on function components; remove forwardRef and pass ref directly
46. [warning] no-react19-deprecated-apis — components/ui/dropdown-menu.tsx:159
forwardRef is no longer needed on React 19+ — refs are regular props on function components; remove forwardRef and pass ref directly
47. [warning] no-react19-deprecated-apis — components/ui/button.tsx:42
forwardRef is no longer needed on React 19+ — refs are regular props on function components; remove forwardRef and pass ref directly
48. [warning] no-react19-deprecated-apis — components/ui/alert-dialog.tsx:15
forwardRef is no longer needed on React 19+ — refs are regular props on function components; remove forwardRef and pass ref directly
49. [warning] no-react19-deprecated-apis — components/ui/alert-dialog.tsx:30
forwardRef is no longer needed on React 19+ — refs are regular props on function components; remove forwardRef and pass ref directly
50. [warning] no-react19-deprecated-apis — components/ui/alert-dialog.tsx:76
forwardRef is no longer needed on React 19+ — refs are regular props on function components; remove forwardRef and pass ref directly
51. [warning] no-react19-deprecated-apis — components/ui/alert-dialog.tsx:88
forwardRef is no longer needed on React 19+ — refs are regular props on function components; remove forwardRef and pass ref directly
52. [warning] no-react19-deprecated-apis — components/ui/alert-dialog.tsx:101
forwardRef is no longer needed on React 19+ — refs are regular props on function components; remove forwardRef and pass ref directly
53. [warning] no-react19-deprecated-apis — components/ui/alert-dialog.tsx:113
forwardRef is no longer needed on React 19+ — refs are regular props on function components; remove forwardRef and pass ref directly
54. [warning] no-react19-deprecated-apis — components/ui/sheet.tsx:18
forwardRef is no longer needed on React 19+ — refs are regular props on function components; remove forwardRef and pass ref directly
55. [warning] no-react19-deprecated-apis — components/ui/sheet.tsx:56
forwardRef is no longer needed on React 19+ — refs are regular props on function components; remove forwardRef and pass ref directly
56. [warning] design-no-redundant-size-axes — components/ui/sheet.tsx:69
w-4 h-4 → use the shorthand size-4 (Tailwind v3.4+)
57. [warning] no-react19-deprecated-apis — components/ui/sheet.tsx:105
forwardRef is no longer needed on React 19+ — refs are regular props on function components; remove forwardRef and pass ref directly
58. [warning] no-react19-deprecated-apis — components/ui/sheet.tsx:117
forwardRef is no longer needed on React 19+ — refs are regular props on function components; remove forwardRef and pass ref directly
59. [warning] no-react19-deprecated-apis — components/ui/input.tsx:5
forwardRef is no longer needed on React 19+ — refs are regular props on function components; remove forwardRef and pass ref directly
60. [warning] no-danger — components/ui/chart.tsx:81
Do not use `dangerouslySetInnerHTML` prop
61. [warning] prefer-dynamic-import — components/ui/chart.tsx:4
"recharts" is a heavy library — use React.lazy() or next/dynamic for code splitting
62. [warning] no-react19-deprecated-apis — components/ui/chart.tsx:28
useContext is superseded by `use()` on React 19+ — `use()` reads context conditionally inside hooks, branches, and loops; switch to `import { use } from 'react'`
63. [warning] no-react19-deprecated-apis — components/ui/chart.tsx:37
forwardRef is no longer needed on React 19+ — refs are regular props on function components; remove forwardRef and pass ref directly
64. [warning] no-react19-deprecated-apis — components/ui/chart.tsx:105
forwardRef is no longer needed on React 19+ — refs are regular props on function components; remove forwardRef and pass ref directly
65. [warning] no-react19-deprecated-apis — components/ui/chart.tsx:261
forwardRef is no longer needed on React 19+ — refs are regular props on function components; remove forwardRef and pass ref directly
66. [warning] design-no-redundant-size-axes — components/ui/chart.tsx:303
w-2 h-2 → use the shorthand size-2 (Tailwind v3.4+)
67. [warning] heading-has-content — components/ui/alert.tsx:31
Headings must have content and the content must be accessible by a screen reader.
68. [warning] no-react19-deprecated-apis — components/ui/alert.tsx:21
forwardRef is no longer needed on React 19+ — refs are regular props on function components; remove forwardRef and pass ref directly
69. [warning] no-react19-deprecated-apis — components/ui/alert.tsx:29
forwardRef is no longer needed on React 19+ — refs are regular props on function components; remove forwardRef and pass ref directly
70. [warning] no-react19-deprecated-apis — components/ui/alert.tsx:36
forwardRef is no longer needed on React 19+ — refs are regular props on function components; remove forwardRef and pass ref directly
71. [warning] no-react19-deprecated-apis — components/ui/context-menu.tsx:21
forwardRef is no longer needed on React 19+ — refs are regular props on function components; remove forwardRef and pass ref directly
72. [warning] design-no-redundant-size-axes — components/ui/context-menu.tsx:37
w-4 h-4 → use the shorthand size-4 (Tailwind v3.4+)
73. [warning] no-react19-deprecated-apis — components/ui/context-menu.tsx:42
forwardRef is no longer needed on React 19+ — refs are regular props on function components; remove forwardRef and pass ref directly
74. [warning] no-react19-deprecated-apis — components/ui/context-menu.tsx:57
forwardRef is no longer needed on React 19+ — refs are regular props on function components; remove forwardRef and pass ref directly
75. [warning] no-react19-deprecated-apis — components/ui/context-menu.tsx:74
forwardRef is no longer needed on React 19+ — refs are regular props on function components; remove forwardRef and pass ref directly
76. [warning] no-react19-deprecated-apis — components/ui/context-menu.tsx:92
forwardRef is no longer needed on React 19+ — refs are regular props on function components; remove forwardRef and pass ref directly
77. [warning] design-no-redundant-size-axes — components/ui/context-menu.tsx:105
w-3.5 h-3.5 → use the shorthand size-3.5 (Tailwind v3.4+)
78. [warning] design-no-redundant-size-axes — components/ui/context-menu.tsx:107
w-4 h-4 → use the shorthand size-4 (Tailwind v3.4+)
79. [warning] no-react19-deprecated-apis — components/ui/context-menu.tsx:116
forwardRef is no longer needed on React 19+ — refs are regular props on function components; remove forwardRef and pass ref directly
80. [warning] design-no-redundant-size-axes — components/ui/context-menu.tsx:128
w-3.5 h-3.5 → use the shorthand size-3.5 (Tailwind v3.4+)
81. [warning] design-no-redundant-size-axes — components/ui/context-menu.tsx:130
w-2 h-2 → use the shorthand size-2 (Tailwind v3.4+)
82. [warning] no-react19-deprecated-apis — components/ui/context-menu.tsx:138
forwardRef is no longer needed on React 19+ — refs are regular props on function components; remove forwardRef and pass ref directly
83. [warning] no-react19-deprecated-apis — components/ui/context-menu.tsx:156
forwardRef is no longer needed on React 19+ — refs are regular props on function components; remove forwardRef and pass ref directly
84. [warning] no-react19-deprecated-apis — components/ui/card.tsx:5
forwardRef is no longer needed on React 19+ — refs are regular props on function components; remove forwardRef and pass ref directly
85. [warning] no-react19-deprecated-apis — components/ui/card.tsx:20
forwardRef is no longer needed on React 19+ — refs are regular props on function components; remove forwardRef and pass ref directly
86. [warning] no-react19-deprecated-apis — components/ui/card.tsx:32
forwardRef is no longer needed on React 19+ — refs are regular props on function components; remove forwardRef and pass ref directly
87. [warning] no-react19-deprecated-apis — components/ui/card.tsx:47
forwardRef is no longer needed on React 19+ — refs are regular props on function components; remove forwardRef and pass ref directly
88. [warning] no-react19-deprecated-apis — components/ui/card.tsx:59
forwardRef is no longer needed on React 19+ — refs are regular props on function components; remove forwardRef and pass ref directly
89. [warning] no-react19-deprecated-apis — components/ui/card.tsx:67
forwardRef is no longer needed on React 19+ — refs are regular props on function components; remove forwardRef and pass ref directly
90. [warning] no-react19-deprecated-apis — components/ui/textarea.tsx:5
forwardRef is no longer needed on React 19+ — refs are regular props on function components; remove forwardRef and pass ref directly
91. [warning] no-react19-deprecated-apis — components/ui/breadcrumb.tsx:7
forwardRef is no longer needed on React 19+ — refs are regular props on function components; remove forwardRef and pass ref directly
92. [warning] no-react19-deprecated-apis — components/ui/breadcrumb.tsx:15
forwardRef is no longer needed on React 19+ — refs are regular props on function components; remove forwardRef and pass ref directly
93. [warning] no-react19-deprecated-apis — components/ui/breadcrumb.tsx:30
forwardRef is no longer needed on React 19+ — refs are regular props on function components; remove forwardRef and pass ref directly
94. [warning] no-react19-deprecated-apis — components/ui/breadcrumb.tsx:42
forwardRef is no longer needed on React 19+ — refs are regular props on function components; remove forwardRef and pass ref directly
95. [warning] no-react19-deprecated-apis — components/ui/breadcrumb.tsx:60
forwardRef is no longer needed on React 19+ — refs are regular props on function components; remove forwardRef and pass ref directly
96. [warning] design-no-redundant-size-axes — components/ui/breadcrumb.tsx:101
w-4 h-4 → use the shorthand size-4 (Tailwind v3.4+)
97. [warning] no-react19-deprecated-apis — components/ui/form.tsx:45
useContext is superseded by `use()` on React 19+ — `use()` reads context conditionally inside hooks, branches, and loops; switch to `import { use } from 'react'`
98. [warning] no-react19-deprecated-apis — components/ui/form.tsx:46
useContext is superseded by `use()` on React 19+ — `use()` reads context conditionally inside hooks, branches, and loops; switch to `import { use } from 'react'`
99. [warning] no-react19-deprecated-apis — components/ui/form.tsx:75
forwardRef is no longer needed on React 19+ — refs are regular props on function components; remove forwardRef and pass ref directly
100. [warning] no-react19-deprecated-apis — components/ui/form.tsx:89
forwardRef is no longer needed on React 19+ — refs are regular props on function components; remove forwardRef and pass ref directly
101. [warning] no-react19-deprecated-apis — components/ui/form.tsx:106
forwardRef is no longer needed on React 19+ — refs are regular props on function components; remove forwardRef and pass ref directly
102. [warning] no-react19-deprecated-apis — components/ui/form.tsx:128
forwardRef is no longer needed on React 19+ — refs are regular props on function components; remove forwardRef and pass ref directly
103. [warning] no-react19-deprecated-apis — components/ui/form.tsx:145
forwardRef is no longer needed on React 19+ — refs are regular props on function components; remove forwardRef and pass ref directly
104. [warning] no-react19-deprecated-apis — components/ui/toggle.tsx:31
forwardRef is no longer needed on React 19+ — refs are regular props on function components; remove forwardRef and pass ref directly
105. [warning] nextjs-missing-metadata — app/page.tsx:1
Page without metadata or generateMetadata export — hurts SEO
106. [warning] design-no-redundant-size-axes — app/page.tsx:44
w-1.5 h-1.5 → use the shorthand size-1.5 (Tailwind v3.4+)
107. [warning] design-no-redundant-size-axes — app/page.tsx:103
w-3.5 h-3.5 → use the shorthand size-3.5 (Tailwind v3.4+)
108. [warning] design-no-redundant-size-axes — app/page.tsx:108
w-3.5 h-3.5 → use the shorthand size-3.5 (Tailwind v3.4+)
109. [warning] design-no-redundant-size-axes — app/page.tsx:118
w-3.5 h-3.5 → use the shorthand size-3.5 (Tailwind v3.4+)
110. [warning] design-no-redundant-size-axes — app/page.tsx:131
w-3.5 h-3.5 → use the shorthand size-3.5 (Tailwind v3.4+)
111. [warning] design-no-redundant-size-axes — app/page.tsx:138
w-3.5 h-3.5 → use the shorthand size-3.5 (Tailwind v3.4+)
112. [warning] no-react19-deprecated-apis — components/ui/drawer.tsx:25
forwardRef is no longer needed on React 19+ — refs are regular props on function components; remove forwardRef and pass ref directly
113. [warning] no-react19-deprecated-apis — components/ui/drawer.tsx:37
forwardRef is no longer needed on React 19+ — refs are regular props on function components; remove forwardRef and pass ref directly
114. [warning] no-react19-deprecated-apis — components/ui/drawer.tsx:80
forwardRef is no longer needed on React 19+ — refs are regular props on function components; remove forwardRef and pass ref directly
115. [warning] no-react19-deprecated-apis — components/ui/drawer.tsx:95
forwardRef is no longer needed on React 19+ — refs are regular props on function components; remove forwardRef and pass ref directly
116. [warning] design-no-redundant-size-axes — components/github-star-button.tsx:23
w-4 h-4 → use the shorthand size-4 (Tailwind v3.4+)
117. [warning] no-react19-deprecated-apis — components/ui/accordion.tsx:11
forwardRef is no longer needed on React 19+ — refs are regular props on function components; remove forwardRef and pass ref directly
118. [warning] no-react19-deprecated-apis — components/ui/accordion.tsx:23
forwardRef is no longer needed on React 19+ — refs are regular props on function components; remove forwardRef and pass ref directly
119. [warning] design-no-redundant-size-axes — components/ui/accordion.tsx:37
w-4 h-4 → use the shorthand size-4 (Tailwind v3.4+)
120. [warning] no-react19-deprecated-apis — components/ui/accordion.tsx:43
forwardRef is no longer needed on React 19+ — refs are regular props on function components; remove forwardRef and pass ref directly
121. [warning] no-react19-deprecated-apis — components/ui/input-otp.tsx:9
forwardRef is no longer needed on React 19+ — refs are regular props on function components; remove forwardRef and pass ref directly
122. [warning] no-react19-deprecated-apis — components/ui/input-otp.tsx:25
forwardRef is no longer needed on React 19+ — refs are regular props on function components; remove forwardRef and pass ref directly
123. [warning] no-react19-deprecated-apis — components/ui/input-otp.tsx:33
forwardRef is no longer needed on React 19+ — refs are regular props on function components; remove forwardRef and pass ref directly
124. [warning] no-react19-deprecated-apis — components/ui/input-otp.tsx:37
useContext is superseded by `use()` on React 19+ — `use()` reads context conditionally inside hooks, branches, and loops; switch to `import { use } from 'react'`
125. [warning] no-react19-deprecated-apis — components/ui/input-otp.tsx:61
forwardRef is no longer needed on React 19+ — refs are regular props on function components; remove forwardRef and pass ref directly
126. [warning] no-react19-deprecated-apis — components/ui/avatar.tsx:8
forwardRef is no longer needed on React 19+ — refs are regular props on function components; remove forwardRef and pass ref directly
127. [warning] no-react19-deprecated-apis — components/ui/avatar.tsx:23
forwardRef is no longer needed on React 19+ — refs are regular props on function components; remove forwardRef and pass ref directly
128. [warning] no-react19-deprecated-apis — components/ui/avatar.tsx:35
forwardRef is no longer needed on React 19+ — refs are regular props on function components; remove forwardRef and pass ref directly
129. [warning] no-react19-deprecated-apis — components/ui/navigation-menu.tsx:8
forwardRef is no longer needed on React 19+ — refs are regular props on function components; remove forwardRef and pass ref directly
130. [warning] no-react19-deprecated-apis — components/ui/navigation-menu.tsx:26
forwardRef is no longer needed on React 19+ — refs are regular props on function components; remove forwardRef and pass ref directly
131. [warning] no-react19-deprecated-apis — components/ui/navigation-menu.tsx:47
forwardRef is no longer needed on React 19+ — refs are regular props on function components; remove forwardRef and pass ref directly
132. [warning] design-no-redundant-size-axes — components/ui/navigation-menu.tsx:58
w-3 h-3 → use the shorthand size-3 (Tailwind v3.4+)
133. [warning] no-react19-deprecated-apis — components/ui/navigation-menu.tsx:65
forwardRef is no longer needed on React 19+ — refs are regular props on function components; remove forwardRef and pass ref directly
134. [warning] no-react19-deprecated-apis — components/ui/navigation-menu.tsx:82
forwardRef is no longer needed on React 19+ — refs are regular props on function components; remove forwardRef and pass ref directly
135. [warning] no-react19-deprecated-apis — components/ui/navigation-menu.tsx:100
forwardRef is no longer needed on React 19+ — refs are regular props on function components; remove forwardRef and pass ref directly
136. [warning] design-no-redundant-size-axes — components/ui/navigation-menu.tsx:112
w-2 h-2 → use the shorthand size-2 (Tailwind v3.4+)
137. [warning] no-react19-deprecated-apis — components/ui/hover-card.tsx:12
forwardRef is no longer needed on React 19+ — refs are regular props on function components; remove forwardRef and pass ref directly
138. [warning] design-no-redundant-size-axes — components/ui/calendar.tsx:60
w-4 h-4 → use the shorthand size-4 (Tailwind v3.4+)
139. [warning] design-no-redundant-size-axes — components/ui/calendar.tsx:62
w-4 h-4 → use the shorthand size-4 (Tailwind v3.4+)
140. [warning] no-react19-deprecated-apis — components/ui/radio-group.tsx:9
forwardRef is no longer needed on React 19+ — refs are regular props on function components; remove forwardRef and pass ref directly
141. [warning] no-react19-deprecated-apis — components/ui/radio-group.tsx:23
forwardRef is no longer needed on React 19+ — refs are regular props on function components; remove forwardRef and pass ref directly
142. [warning] design-no-redundant-size-axes — components/ui/radio-group.tsx:37
w-2.5 h-2.5 → use the shorthand size-2.5 (Tailwind v3.4+)
143. [warning] no-react19-deprecated-apis — components/ui/progress.tsx:8
forwardRef is no longer needed on React 19+ — refs are regular props on function components; remove forwardRef and pass ref directly
144. [warning] no-react19-deprecated-apis — components/ui/menubar.tsx:19
forwardRef is no longer needed on React 19+ — refs are regular props on function components; remove forwardRef and pass ref directly
145. [warning] no-react19-deprecated-apis — components/ui/menubar.tsx:34
forwardRef is no longer needed on React 19+ — refs are regular props on function components; remove forwardRef and pass ref directly
146. [warning] no-react19-deprecated-apis — components/ui/menubar.tsx:49
forwardRef is no longer needed on React 19+ — refs are regular props on function components; remove forwardRef and pass ref directly
147. [warning] design-no-redundant-size-axes — components/ui/menubar.tsx:65
w-4 h-4 → use the shorthand size-4 (Tailwind v3.4+)
148. [warning] no-react19-deprecated-apis — components/ui/menubar.tsx:70
forwardRef is no longer needed on React 19+ — refs are regular props on function components; remove forwardRef and pass ref directly
149. [warning] no-react19-deprecated-apis — components/ui/menubar.tsx:85
forwardRef is no longer needed on React 19+ — refs are regular props on function components; remove forwardRef and pass ref directly
150. [warning] no-react19-deprecated-apis — components/ui/menubar.tsx:110
forwardRef is no longer needed on React 19+ — refs are regular props on function components; remove forwardRef and pass ref directly
151. [warning] no-react19-deprecated-apis — components/ui/menubar.tsx:128
forwardRef is no longer needed on React 19+ — refs are regular props on function components; remove forwardRef and pass ref directly
152. [warning] design-no-redundant-size-axes — components/ui/menubar.tsx:141
w-3.5 h-3.5 → use the shorthand size-3.5 (Tailwind v3.4+)
153. [warning] design-no-redundant-size-axes — components/ui/menubar.tsx:143
w-4 h-4 → use the shorthand size-4 (Tailwind v3.4+)
154. [warning] no-react19-deprecated-apis — components/ui/menubar.tsx:151
forwardRef is no longer needed on React 19+ — refs are regular props on function components; remove forwardRef and pass ref directly
155. [warning] design-no-redundant-size-axes — components/ui/menubar.tsx:163
w-3.5 h-3.5 → use the shorthand size-3.5 (Tailwind v3.4+)
156. [warning] design-no-redundant-size-axes — components/ui/menubar.tsx:165
w-2 h-2 → use the shorthand size-2 (Tailwind v3.4+)
157. [warning] no-react19-deprecated-apis — components/ui/menubar.tsx:173
forwardRef is no longer needed on React 19+ — refs are regular props on function components; remove forwardRef and pass ref directly
158. [warning] no-react19-deprecated-apis — components/ui/menubar.tsx:191
forwardRef is no longer needed on React 19+ — refs are regular props on function components; remove forwardRef and pass ref directly
159. [warning] no-react19-deprecated-apis — components/ui/checkbox.tsx:9
forwardRef is no longer needed on React 19+ — refs are regular props on function components; remove forwardRef and pass ref directly
160. [warning] design-no-redundant-size-axes — components/ui/checkbox.tsx:24
w-4 h-4 → use the shorthand size-4 (Tailwind v3.4+)
161. [warning] no-react19-deprecated-apis — components/ui/separator.tsx:8
forwardRef is no longer needed on React 19+ — refs are regular props on function components; remove forwardRef and pass ref directly
162. [warning] no-react19-deprecated-apis — components/ui/select.tsx:15
forwardRef is no longer needed on React 19+ — refs are regular props on function components; remove forwardRef and pass ref directly
163. [warning] design-no-redundant-size-axes — components/ui/select.tsx:29
w-4 h-4 → use the shorthand size-4 (Tailwind v3.4+)
164. [warning] no-react19-deprecated-apis — components/ui/select.tsx:35
forwardRef is no longer needed on React 19+ — refs are regular props on function components; remove forwardRef and pass ref directly
165. [warning] design-no-redundant-size-axes — components/ui/select.tsx:47
w-4 h-4 → use the shorthand size-4 (Tailwind v3.4+)
166. [warning] no-react19-deprecated-apis — components/ui/select.tsx:52
forwardRef is no longer needed on React 19+ — refs are regular props on function components; remove forwardRef and pass ref directly
167. [warning] design-no-redundant-size-axes — components/ui/select.tsx:64
w-4 h-4 → use the shorthand size-4 (Tailwind v3.4+)
168. [warning] no-react19-deprecated-apis — components/ui/select.tsx:70
forwardRef is no longer needed on React 19+ — refs are regular props on function components; remove forwardRef and pass ref directly
169. [warning] no-react19-deprecated-apis — components/ui/select.tsx:102
forwardRef is no longer needed on React 19+ — refs are regular props on function components; remove forwardRef and pass ref directly
170. [warning] no-react19-deprecated-apis — components/ui/select.tsx:114
forwardRef is no longer needed on React 19+ — refs are regular props on function components; remove forwardRef and pass ref directly
171. [warning] design-no-redundant-size-axes — components/ui/select.tsx:126
w-3.5 h-3.5 → use the shorthand size-3.5 (Tailwind v3.4+)
172. [warning] design-no-redundant-size-axes — components/ui/select.tsx:128
w-4 h-4 → use the shorthand size-4 (Tailwind v3.4+)
173. [warning] no-react19-deprecated-apis — components/ui/select.tsx:137
forwardRef is no longer needed on React 19+ — refs are regular props on function components; remove forwardRef and pass ref directly
174. [warning] no-react19-deprecated-apis — components/ui/label.tsx:13
forwardRef is no longer needed on React 19+ — refs are regular props on function components; remove forwardRef and pass ref directly
175. [warning] no-react19-deprecated-apis — components/ui/dialog.tsx:17
forwardRef is no longer needed on React 19+ — refs are regular props on function components; remove forwardRef and pass ref directly
176. [warning] no-react19-deprecated-apis — components/ui/dialog.tsx:32
forwardRef is no longer needed on React 19+ — refs are regular props on function components; remove forwardRef and pass ref directly
177. [warning] design-no-redundant-size-axes — components/ui/dialog.tsx:48
w-4 h-4 → use the shorthand size-4 (Tailwind v3.4+)
178. [warning] no-react19-deprecated-apis — components/ui/dialog.tsx:84
forwardRef is no longer needed on React 19+ — refs are regular props on function components; remove forwardRef and pass ref directly
179. [warning] no-react19-deprecated-apis — components/ui/dialog.tsx:99
forwardRef is no longer needed on React 19+ — refs are regular props on function components; remove forwardRef and pass ref directly
180. [warning] no-react19-deprecated-apis — components/ui/slider.tsx:8
forwardRef is no longer needed on React 19+ — refs are regular props on function components; remove forwardRef and pass ref directly
181. [warning] design-no-redundant-size-axes — components/ui/slider.tsx:23
w-5 h-5 → use the shorthand size-5 (Tailwind v3.4+)
182. [warning] no-react19-deprecated-apis — components/ui/popover.tsx:12
forwardRef is no longer needed on React 19+ — refs are regular props on function components; remove forwardRef and pass ref directly
183. [warning] rerender-state-only-in-handlers — components/pdf2md-loader.tsx:14
useState "pdf2md" is updated but never read in the component's return — use useRef so updates don't trigger re-renders
184. [warning] no-react19-deprecated-apis — components/ui/tabs.tsx:10
forwardRef is no longer needed on React 19+ — refs are regular props on function components; remove forwardRef and pass ref directly
185. [warning] no-react19-deprecated-apis — components/ui/tabs.tsx:25
forwardRef is no longer needed on React 19+ — refs are regular props on function components; remove forwardRef and pass ref directly
186. [warning] no-react19-deprecated-apis — components/ui/tabs.tsx:40
forwardRef is no longer needed on React 19+ — refs are regular props on function components; remove forwardRef and pass ref directly
187. [warning] no-react19-deprecated-apis — components/ui/table.tsx:5
forwardRef is no longer needed on React 19+ — refs are regular props on function components; remove forwardRef and pass ref directly
188. [warning] no-react19-deprecated-apis — components/ui/table.tsx:19
forwardRef is no longer needed on React 19+ — refs are regular props on function components; remove forwardRef and pass ref directly
189. [warning] no-react19-deprecated-apis — components/ui/table.tsx:27
forwardRef is no longer needed on React 19+ — refs are regular props on function components; remove forwardRef and pass ref directly
190. [warning] no-react19-deprecated-apis — components/ui/table.tsx:39
forwardRef is no longer needed on React 19+ — refs are regular props on function components; remove forwardRef and pass ref directly
191. [warning] no-react19-deprecated-apis — components/ui/table.tsx:54
forwardRef is no longer needed on React 19+ — refs are regular props on function components; remove forwardRef and pass ref directly
192. [warning] no-react19-deprecated-apis — components/ui/table.tsx:69
forwardRef is no longer needed on React 19+ — refs are regular props on function components; remove forwardRef and pass ref directly
193. [warning] no-react19-deprecated-apis — components/ui/table.tsx:84
forwardRef is no longer needed on React 19+ — refs are regular props on function components; remove forwardRef and pass ref directly
194. [warning] no-react19-deprecated-apis — components/ui/table.tsx:96
forwardRef is no longer needed on React 19+ — refs are regular props on function components; remove forwardRef and pass ref directly
195. [warning] no-react19-deprecated-apis — components/ui/scroll-area.tsx:8
forwardRef is no longer needed on React 19+ — refs are regular props on function components; remove forwardRef and pass ref directly
196. [warning] no-react19-deprecated-apis — components/ui/scroll-area.tsx:26
forwardRef is no longer needed on React 19+ — refs are regular props on function components; remove forwardRef and pass ref directly
197. [warning] no-react19-deprecated-apis — components/ui/toggle-group.tsx:17
forwardRef is no longer needed on React 19+ — refs are regular props on function components; remove forwardRef and pass ref directly
198. [warning] no-react19-deprecated-apis — components/ui/toggle-group.tsx:35
forwardRef is no longer needed on React 19+ — refs are regular props on function components; remove forwardRef and pass ref directly
199. [warning] no-react19-deprecated-apis — components/ui/toggle-group.tsx:40
useContext is superseded by `use()` on React 19+ — `use()` reads context conditionally inside hooks, branches, and loops; switch to `import { use } from 'react'`
200. [warning] no-react19-deprecated-apis — components/ui/sidebar.tsx:42
useContext is superseded by `use()` on React 19+ — `use()` reads context conditionally inside hooks, branches, and loops; switch to `import { use } from 'react'`
201. [warning] no-react19-deprecated-apis — components/ui/sidebar.tsx:50
forwardRef is no longer needed on React 19+ — refs are regular props on function components; remove forwardRef and pass ref directly
202. [warning] no-derived-useState — components/ui/sidebar.tsx:75
useState initialized from prop "defaultOpen" — if this value should stay in sync with the prop, derive it during render instead
203. [warning] no-react19-deprecated-apis — components/ui/sidebar.tsx:159
forwardRef is no longer needed on React 19+ — refs are regular props on function components; remove forwardRef and pass ref directly
204. [warning] no-react19-deprecated-apis — components/ui/sidebar.tsx:262
forwardRef is no longer needed on React 19+ — refs are regular props on function components; remove forwardRef and pass ref directly
205. [warning] no-react19-deprecated-apis — components/ui/sidebar.tsx:288
forwardRef is no longer needed on React 19+ — refs are regular props on function components; remove forwardRef and pass ref directly
206. [warning] no-react19-deprecated-apis — components/ui/sidebar.tsx:317
forwardRef is no longer needed on React 19+ — refs are regular props on function components; remove forwardRef and pass ref directly
207. [warning] no-react19-deprecated-apis — components/ui/sidebar.tsx:335
forwardRef is no longer needed on React 19+ — refs are regular props on function components; remove forwardRef and pass ref directly
208. [warning] no-react19-deprecated-apis — components/ui/sidebar.tsx:353
forwardRef is no longer needed on React 19+ — refs are regular props on function components; remove forwardRef and pass ref directly
209. [warning] no-react19-deprecated-apis — components/ui/sidebar.tsx:368
forwardRef is no longer needed on React 19+ — refs are regular props on function components; remove forwardRef and pass ref directly
210. [warning] no-react19-deprecated-apis — components/ui/sidebar.tsx:383
forwardRef is no longer needed on React 19+ — refs are regular props on function components; remove forwardRef and pass ref directly
211. [warning] no-react19-deprecated-apis — components/ui/sidebar.tsx:398
forwardRef is no longer needed on React 19+ — refs are regular props on function components; remove forwardRef and pass ref directly
212. [warning] no-react19-deprecated-apis — components/ui/sidebar.tsx:416
forwardRef is no longer needed on React 19+ — refs are regular props on function components; remove forwardRef and pass ref directly
213. [warning] no-react19-deprecated-apis — components/ui/sidebar.tsx:431
forwardRef is no longer needed on React 19+ — refs are regular props on function components; remove forwardRef and pass ref directly
214. [warning] no-react19-deprecated-apis — components/ui/sidebar.tsx:452
forwardRef is no longer needed on React 19+ — refs are regular props on function components; remove forwardRef and pass ref directly
215. [warning] no-react19-deprecated-apis — components/ui/sidebar.tsx:475
forwardRef is no longer needed on React 19+ — refs are regular props on function components; remove forwardRef and pass ref directly
216. [warning] no-react19-deprecated-apis — components/ui/sidebar.tsx:488
forwardRef is no longer needed on React 19+ — refs are regular props on function components; remove forwardRef and pass ref directly
217. [warning] no-react19-deprecated-apis — components/ui/sidebar.tsx:501
forwardRef is no longer needed on React 19+ — refs are regular props on function components; remove forwardRef and pass ref directly
218. [warning] no-react19-deprecated-apis — components/ui/sidebar.tsx:536
forwardRef is no longer needed on React 19+ — refs are regular props on function components; remove forwardRef and pass ref directly
219. [warning] no-react19-deprecated-apis — components/ui/sidebar.tsx:595
forwardRef is no longer needed on React 19+ — refs are regular props on function components; remove forwardRef and pass ref directly
220. [warning] no-react19-deprecated-apis — components/ui/sidebar.tsx:626
forwardRef is no longer needed on React 19+ — refs are regular props on function components; remove forwardRef and pass ref directly
221. [warning] no-react19-deprecated-apis — components/ui/sidebar.tsx:647
forwardRef is no longer needed on React 19+ — refs are regular props on function components; remove forwardRef and pass ref directly
222. [warning] no-usememo-simple-expression — components/ui/sidebar.tsx:654
useMemo wrapping a trivially cheap expression — memo overhead exceeds the computation
223. [warning] no-react19-deprecated-apis — components/ui/sidebar.tsx:685
forwardRef is no longer needed on React 19+ — refs are regular props on function components; remove forwardRef and pass ref directly
224. [warning] no-react19-deprecated-apis — components/ui/sidebar.tsx:702
forwardRef is no longer needed on React 19+ — refs are regular props on function components; remove forwardRef and pass ref directly
225. [warning] no-react19-deprecated-apis — components/ui/sidebar.tsx:708
forwardRef is no longer needed on React 19+ — refs are regular props on function components; remove forwardRef and pass ref directly
226. [warning] prefer-useReducer — components/file-uploader.tsx:20
Component "FileUploader" has 5 useState calls — consider useReducer for related state
227. [warning] no-cascading-set-state — components/file-uploader.tsx:28
3 setState calls in a single useEffect — consider using useReducer or deriving state
228. [warning] design-no-redundant-size-axes — components/file-uploader.tsx:130
w-4 h-4 → use the shorthand size-4 (Tailwind v3.4+)
229. [warning] design-no-redundant-size-axes — components/file-uploader.tsx:150
w-5 h-5 → use the shorthand size-5 (Tailwind v3.4+)
230. [warning] design-no-redundant-size-axes — components/file-uploader.tsx:164
w-4 h-4 → use the shorthand size-4 (Tailwind v3.4+)
231. [warning] design-no-three-period-ellipsis — components/file-uploader.tsx:172
Three-period ellipsis ("...") in JSX text — use the actual ellipsis character "…" (or `…`)
232. [warning] no-generic-handler-names — components/file-uploader.tsx:199
Non-descriptive handler name "handleChange" — name should describe what it does, not when it runs
233. [warning] no-react19-deprecated-apis — components/ui/switch.tsx:8
forwardRef is no longer needed on React 19+ — refs are regular props on function components; remove forwardRef and pass ref directly
Copy as prompt
forwardRef is no longer needed on React 19+ — refs are regular props on function components; remove forwardRef and pass ref directly · 169 in 40 files
no-react19-deprecated-apiscomponents/ui/sidebar.tsxcomponents/ui/menubar.tsxcomponents/ui/dropdown-menu.tsxcomponents/ui/context-menu.tsxcomponents/ui/table.tsxw-4 h-4 → use the shorthand size-4 (Tailwind v3.4+) · 49 in 22 files
design-no-redundant-size-axesapp/page.tsxcomponents/ui/context-menu.tsxcomponents/ui/menubar.tsxcomponents/ui/select.tsxcomponents/ui/dropdown-menu.tsxuseEffect calls prop callback "setApi" with local state in deps — this is the "lift state via callback" anti-pattern; lift state into a shared Provider so both sides read the same source · 1 in 1 file
no-prop-callback-in-effectcomponents/ui/carousel.tsxuseEffect re-subscribes a "onSelect" listener every time the handler identity changes — store the handler in a ref and have the listener read `handlerRef.current()`, then drop it from the deps · 1 in 1 file
advanced-event-handler-refscomponents/ui/carousel.tsxThe `nav` element has an implicit role of `navigation`. Defining this explicitly is redundant and should be avoided. · 1 in 1 file
no-redundant-rolescomponents/ui/pagination.tsxUnknown property found · 1 in 1 file
no-unknown-propertycomponents/ui/command.tsxDo not use `dangerouslySetInnerHTML` prop · 1 in 1 file
no-dangercomponents/ui/chart.tsx"recharts" is a heavy library — use React.lazy() or next/dynamic for code splitting · 1 in 1 file
prefer-dynamic-importcomponents/ui/chart.tsxHeadings must have content and the content must be accessible by a screen reader. · 1 in 1 file
heading-has-contentcomponents/ui/alert.tsxPage without metadata or generateMetadata export — hurts SEO · 1 in 1 file
nextjs-missing-metadataapp/page.tsxuseState "pdf2md" is updated but never read in the component's return — use useRef so updates don't trigger re-renders · 1 in 1 file
rerender-state-only-in-handlerscomponents/pdf2md-loader.tsxuseState initialized from prop "defaultOpen" — if this value should stay in sync with the prop, derive it during render instead · 1 in 1 file
no-derived-useStatecomponents/ui/sidebar.tsxuseMemo wrapping a trivially cheap expression — memo overhead exceeds the computation · 1 in 1 file
no-usememo-simple-expressioncomponents/ui/sidebar.tsxComponent "FileUploader" has 5 useState calls — consider useReducer for related state · 1 in 1 file
prefer-useReducercomponents/file-uploader.tsx3 setState calls in a single useEffect — consider using useReducer or deriving state · 1 in 1 file
no-cascading-set-statecomponents/file-uploader.tsxThree-period ellipsis ("...") in JSX text — use the actual ellipsis character "…" (or `…`) · 1 in 1 file
design-no-three-period-ellipsiscomponents/file-uploader.tsxNon-descriptive handler name "handleChange" — name should describe what it does, not when it runs · 1 in 1 file
no-generic-handler-namescomponents/file-uploader.tsxReviewed by reactreview for commit b7229e4. Configure here.