#1
React Review Audit
Score: 69/100 · 40 errors · 680 warnings
Copy as prompt
Fix the following React Review diagnostics in my codebase.
## Errors (40)
1. [error] no-nested-component-definition — src/modules/instructor/features/NewCourse/components/Steps/Curriculum/components/CourseLesson/CourseLesson.tsx:30
Component "DeleteLesson" defined inside "CourseLesson" — creates new instance every render, destroying state
2. [error] no-nested-component-definition — src/modules/instructor/features/NewCourse/components/Steps/Curriculum/components/CourseLesson/CourseLesson.tsx:51
Component "AddDescriptionToLesson" defined inside "CourseLesson" — creates new instance every render, destroying state
3. [error] no-nested-component-definition — src/modules/instructor/features/NewCourse/components/Steps/Curriculum/components/CourseLesson/CourseLesson.tsx:82
Component "AddCaptionsToLesson" defined inside "CourseLesson" — creates new instance every render, destroying state
4. [error] no-nested-component-definition — src/modules/instructor/features/NewCourse/components/Steps/Curriculum/components/CourseLesson/CourseLesson.tsx:113
Component "AddNotesToLesson" defined inside "CourseLesson" — creates new instance every render, destroying state
5. [error] no-nested-component-definition — src/modules/instructor/features/NewCourse/components/Steps/Curriculum/components/CourseLesson/CourseLesson.tsx:145
Component "AddVideoToLesson" defined inside "CourseLesson" — creates new instance every render, destroying state
6. [error] no-nested-component-definition — src/modules/instructor/features/NewCourse/components/Steps/Curriculum/components/CourseLesson/CourseLesson.tsx:175
Component "EditLessonName" defined inside "CourseLesson" — creates new instance every render, destroying state
7. [error] rules-of-hooks — src/modules/home/features/watchCourse/WatchCourse.tsx:32
React Hook "useGetCourseById" is called conditionally. React Hooks must be called in the exact same order in every component render.
8. [error] rules-of-hooks — src/modules/home/features/userProfile/userProfile.tsx:45
React Hook "useState" is called in function "Anonymous" that is neither a React function component nor a custom React Hook function. React component names must start with an uppercase letter. React Hook names must start with the word "use".
9. [error] alt-text — src/modules/home/features/userProfile/_components/Dashbord.tsx:90
Missing `alt` attribute.
10. [error] alt-text — src/modules/home/features/userProfile/_components/Dashbord.tsx:93
Missing `alt` attribute.
11. [error] alt-text — src/modules/instructor/layout/MainLayout/MainLayout.tsx:47
Missing `alt` attribute.
12. [error] alt-text — src/modules/instructor/layout/MainLayout/MainLayout.tsx:59
Missing `alt` attribute.
13. [error] rules-of-hooks — src/modules/home/features/courseDetails/courseDetails.tsx:41
React Hook "useParams" is called in function "Anonymous" that is neither a React function component nor a custom React Hook function. React component names must start with an uppercase letter. React Hook names must start with the word "use".
14. [error] rules-of-hooks — src/modules/home/features/courseDetails/courseDetails.tsx:44
React Hook "useGetCourseById" is called in function "Anonymous" that is neither a React function component nor a custom React Hook function. React component names must start with an uppercase letter. React Hook names must start with the word "use".
15. [error] rules-of-hooks — src/modules/home/features/courseDetails/courseDetails.tsx:45
React Hook "useModal" is called in function "Anonymous" that is neither a React function component nor a custom React Hook function. React component names must start with an uppercase letter. React Hook names must start with the word "use".
16. [error] alt-text — src/modules/auth/components/SocialMediaBtn/SocialMediaBtn.tsx:21
Missing `alt` attribute.
17. [error] alt-text — src/modules/auth/components/Button/Button.tsx:17
Missing `alt` attribute.
18. [error] rules-of-hooks — src/modules/home/features/category/Category.tsx:16
React Hook "useGetCategoryDetails" is called conditionally. React Hooks must be called in the exact same order in every component render.
19. [error] rules-of-hooks — src/modules/home/data/queries/home.query.ts:22
React Hook "useQueryClient" is called in function "Anonymous" that is neither a React function component nor a custom React Hook function. React component names must start with an uppercase letter. React Hook names must start with the word "use".
20. [error] rules-of-hooks — src/modules/shared/lib/interceptors.ts:51
React Hook "useAuthStore" cannot be called in an async function.
21. [error] alt-text — src/modules/home/components/topCategory.tsx:127
Missing `alt` attribute.
22. [error] no-nested-component-definition — src/modules/home/components/Course.tsx:58
Component "LastThreeMonths" defined inside "Course" — creates new instance every render, destroying state
23. [error] alt-text — src/modules/auth/layout/MainLayout/MainLayout.tsx:18
Missing `alt` attribute.
24. [error] alt-text — src/modules/shared/components/ui/toaster.tsx:23
Missing `alt` attribute.
25. [error] alt-text — src/modules/shared/components/ui/toaster.tsx:24
Missing `alt` attribute.
26. [error] alt-text — src/modules/shared/components/ui/toaster.tsx:25
Missing `alt` attribute.
27. [error] alt-text — src/modules/shared/components/ui/toaster.tsx:26
Missing `alt` attribute.
28. [error] jsx-key — src/modules/auth/features/Register/Register.tsx:29
Missing "key" prop for element in iterator.
29. [error] alt-text — src/modules/auth/features/Register/Register.tsx:13
Missing `alt` attribute.
30. [error] alt-text — src/modules/shared/components/Header/Header.tsx:93
Missing `alt` attribute.
31. [error] jsx-key — src/modules/instructor/features/NewCourse/components/Steps/PublishCourse/components/AddInstructor/AddInstructor.tsx:40
Missing "key" prop for element in iterator.
32. [error] jsx-key — src/modules/auth/features/Login/Login.tsx:59
Missing "key" prop for element in iterator.
33. [error] alt-text — src/modules/auth/features/Login/Login.tsx:43
Missing `alt` attribute.
34. [error] no-nested-component-definition — src/modules/instructor/features/NewCourse/components/Steps/PublishCourse/PublishCourse.tsx:13
Component "CreateNewCourse" defined inside "PublishCourse" — creates new instance every render, destroying state
35. [error] no-nested-component-definition — src/modules/instructor/features/NewCourse/components/Steps/Curriculum/components/CourseSection/EditSectionModal.tsx:20
Component "ChangeSectionNameHandler" defined inside "EditSectionModal" — creates new instance every render, destroying state
36. [error] no-nested-component-definition — src/modules/instructor/features/NewCourse/components/Steps/Curriculum/components/CourseSection/CourseSection.tsx:34
Component "DeleteSection" defined inside "CourseSection" — creates new instance every render, destroying state
37. [error] no-nested-component-definition — src/modules/instructor/features/NewCourse/components/Steps/Curriculum/components/CourseSection/CourseSection.tsx:47
Component "EditSectionName" defined inside "CourseSection" — creates new instance every render, destroying state
38. [error] no-nested-component-definition — src/modules/instructor/features/NewCourse/components/Steps/Curriculum/components/CourseSection/CourseSection.tsx:71
Component "AddLesson" defined inside "CourseSection" — creates new instance every render, destroying state
39. [error] no-nested-component-definition — src/modules/instructor/features/NewCourse/components/Steps/Curriculum/components/CourseLesson/EditLessonModal.tsx:21
Component "ChangeLessonNameHandler" defined inside "EditLessonModal" — creates new instance every render, destroying state
40. [error] require-reduced-motion — package.json:0
Project uses a motion library but has no prefers-reduced-motion handling — required for accessibility (WCAG 2.3.3)
## Warnings (680)
41. [warning] no-react19-deprecated-apis — src/modules/home/features/watchCourse/_components/Progress.tsx:5
forwardRef is no longer needed on React 19+ — refs are regular props on function components; remove forwardRef and pass ref directly
42. [warning] design-no-default-tailwind-palette — src/modules/home/features/watchCourse/_components/Progress.tsx:18
bg-slate-50 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
43. [warning] rendering-svg-precision — src/modules/instructor/assets/icons/Stats/CardIcon.tsx:14
SVG d attribute uses 4+ decimal precision — truncate to 1–2 decimals to shrink markup with no visible difference
44. [warning] rendering-svg-precision — src/modules/instructor/assets/icons/Stats/CardIcon.tsx:18
SVG d attribute uses 4+ decimal precision — truncate to 1–2 decimals to shrink markup with no visible difference
45. [warning] rendering-svg-precision — src/modules/instructor/assets/icons/Stats/CardIcon.tsx:25
SVG d attribute uses 4+ decimal precision — truncate to 1–2 decimals to shrink markup with no visible difference
46. [warning] rendering-svg-precision — src/modules/instructor/assets/icons/Stats/CardIcon.tsx:32
SVG d attribute uses 4+ decimal precision — truncate to 1–2 decimals to shrink markup with no visible difference
47. [warning] rendering-svg-precision — src/modules/instructor/assets/icons/Stats/CardIcon.tsx:39
SVG d attribute uses 4+ decimal precision — truncate to 1–2 decimals to shrink markup with no visible difference
48. [warning] use-lazy-motion — src/modules/instructor/features/NewCourse/components/Steps/Curriculum/components/CourseLesson/CourseLesson.tsx:15
Import "m" with LazyMotion instead of "motion" — saves ~30kb in bundle size
49. [warning] no-giant-component — src/modules/instructor/features/NewCourse/components/Steps/Curriculum/components/CourseLesson/CourseLesson.tsx:26
Component "CourseLesson" is 302 lines — consider breaking it into smaller focused components
50. [warning] no-scale-from-zero — src/modules/instructor/features/NewCourse/components/Steps/Curriculum/components/CourseLesson/CourseLesson.tsx:222
scale: 0 makes elements appear from nowhere — use scale: 0.95 with opacity: 0 for natural entrance
51. [warning] design-no-default-tailwind-palette — src/modules/instructor/features/NewCourse/components/Steps/Curriculum/components/CourseLesson/CourseLesson.tsx:234
text-gray-900 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
52. [warning] design-no-default-tailwind-palette — src/modules/home/features/watchCourse/_components/LecturesDescription.tsx:11
text-gray-900 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
53. [warning] rendering-svg-precision — src/modules/instructor/assets/icons/Stats/CalendarIcon.tsx:14
SVG d attribute uses 4+ decimal precision — truncate to 1–2 decimals to shrink markup with no visible difference
54. [warning] rendering-svg-precision — src/modules/instructor/assets/icons/Stats/CalendarIcon.tsx:32
SVG d attribute uses 4+ decimal precision — truncate to 1–2 decimals to shrink markup with no visible difference
55. [warning] rendering-svg-precision — src/modules/shared/assets/icons/Upload/UploadVideoIcon.tsx:15
SVG d attribute uses 4+ decimal precision — truncate to 1–2 decimals to shrink markup with no visible difference
56. [warning] rendering-svg-precision — src/modules/shared/assets/icons/Upload/UploadVideoIcon.tsx:19
SVG d attribute uses 4+ decimal precision — truncate to 1–2 decimals to shrink markup with no visible difference
57. [warning] design-no-default-tailwind-palette — src/modules/instructor/features/NewCourse/components/Steps/Curriculum/components/CourseLesson/AddVideoModal.tsx:41
text-gray-900 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
58. [warning] design-no-default-tailwind-palette — src/modules/instructor/features/NewCourse/components/Steps/Curriculum/components/CourseLesson/AddVideoModal.tsx:42
text-gray-700 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
59. [warning] design-no-default-tailwind-palette — src/modules/home/features/watchCourse/_components/LectureNotes.tsx:18
text-gray-900 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
60. [warning] rendering-svg-precision — src/modules/instructor/assets/icons/Stats/AvatarIcon.tsx:14
SVG d attribute uses 4+ decimal precision — truncate to 1–2 decimals to shrink markup with no visible difference
61. [warning] rendering-svg-precision — src/modules/instructor/assets/icons/Stats/AvatarIcon.tsx:18
SVG d attribute uses 4+ decimal precision — truncate to 1–2 decimals to shrink markup with no visible difference
62. [warning] rendering-svg-precision — src/modules/instructor/assets/icons/Stats/AvatarIcon.tsx:24
SVG d attribute uses 4+ decimal precision — truncate to 1–2 decimals to shrink markup with no visible difference
63. [warning] rendering-svg-precision — src/modules/instructor/assets/icons/Stats/AvatarIcon.tsx:30
SVG d attribute uses 4+ decimal precision — truncate to 1–2 decimals to shrink markup with no visible difference
64. [warning] rendering-svg-precision — src/modules/shared/assets/icons/Upload/UploadImageIcon.tsx:14
SVG d attribute uses 4+ decimal precision — truncate to 1–2 decimals to shrink markup with no visible difference
65. [warning] rendering-svg-precision — src/modules/shared/assets/icons/Upload/UploadImageIcon.tsx:21
SVG d attribute uses 4+ decimal precision — truncate to 1–2 decimals to shrink markup with no visible difference
66. [warning] rendering-svg-precision — src/modules/shared/assets/icons/Upload/UploadImageIcon.tsx:28
SVG d attribute uses 4+ decimal precision — truncate to 1–2 decimals to shrink markup with no visible difference
67. [warning] design-no-default-tailwind-palette — src/modules/home/features/watchCourse/_components/HeroSection.tsx:24
bg-gray-50 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
68. [warning] design-no-redundant-size-axes — src/modules/home/features/watchCourse/_components/HeroSection.tsx:26
w-[50px] h-[50px] → use the shorthand size-[50px] (Tailwind v3.4+)
69. [warning] design-no-default-tailwind-palette — src/modules/home/features/watchCourse/_components/HeroSection.tsx:32
text-gray-700 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
70. [warning] click-events-have-key-events — src/modules/home/features/watchCourse/_components/Comments.tsx:75
Enforce a clickable non-interactive element has at least one keyboard event listener.
71. [warning] no-static-element-interactions — src/modules/home/features/watchCourse/_components/Comments.tsx:75
Static HTML elements with event handlers require a role.
72. [warning] use-lazy-motion — src/modules/home/features/watchCourse/_components/Comments.tsx:2
Import "m" with LazyMotion instead of "motion" — saves ~30kb in bundle size
73. [warning] design-no-redundant-size-axes — src/modules/home/features/watchCourse/_components/Comments.tsx:61
w-[45px] h-[45px] → use the shorthand size-[45px] (Tailwind v3.4+)
74. [warning] design-no-default-tailwind-palette — src/modules/home/features/watchCourse/_components/Comments.tsx:66
text-gray-900 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
75. [warning] design-no-default-tailwind-palette — src/modules/home/features/watchCourse/_components/Comments.tsx:68
text-gray-600 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
76. [warning] design-no-default-tailwind-palette — src/modules/home/features/watchCourse/_components/Comments.tsx:70
text-gray-700 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
77. [warning] design-no-default-tailwind-palette — src/modules/home/features/watchCourse/_components/Comments.tsx:76
text-gray-500 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
78. [warning] no-scale-from-zero — src/modules/home/features/watchCourse/_components/Comments.tsx:87
scale: 0 makes elements appear from nowhere — use scale: 0.95 with opacity: 0 for natural entrance
79. [warning] no-scale-from-zero — src/modules/home/features/watchCourse/_components/Comments.tsx:89
scale: 0 makes elements appear from nowhere — use scale: 0.95 with opacity: 0 for natural entrance
80. [warning] design-no-default-tailwind-palette — src/modules/home/features/watchCourse/_components/Comments.tsx:91
border-gray-100 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
81. [warning] design-no-default-tailwind-palette — src/modules/home/features/watchCourse/_components/Comments.tsx:93
border-gray-100 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
82. [warning] design-no-default-tailwind-palette — src/modules/home/features/watchCourse/_components/Comments.tsx:95
border-gray-100 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
83. [warning] design-no-default-tailwind-palette — src/modules/home/features/watchCourse/_components/Comments.tsx:99
text-gray-500 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
84. [warning] rerender-state-only-in-handlers — src/modules/home/features/watchCourse/_components/Comments.tsx:113
useState "replayOpen" is updated but never read in the component's return — use useRef so updates don't trigger re-renders
85. [warning] no-array-index-as-key — src/modules/home/features/watchCourse/_components/Comments.tsx:120
Array index "index" used as key — causes bugs when list is reordered or filtered
86. [warning] design-no-default-tailwind-palette — src/modules/home/features/watchCourse/_components/Comments.tsx:127
border-gray-100 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
87. [warning] design-no-default-tailwind-palette — src/modules/home/features/watchCourse/_components/Comments.tsx:131
border-gray-100 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
88. [warning] no-render-in-render — src/modules/home/features/watchCourse/_components/Comments.tsx:133
Inline render function "renderComments()" — extract to a separate component for proper reconciliation
89. [warning] no-render-in-render — src/modules/home/features/watchCourse/_components/Comments.tsx:148
Inline render function "renderComments()" — extract to a separate component for proper reconciliation
90. [warning] design-no-default-tailwind-palette — src/modules/home/features/watchCourse/_components/AttachFiels.tsx:12
text-gray-900 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
91. [warning] design-no-default-tailwind-palette — src/modules/home/features/watchCourse/_components/AttachFiels.tsx:12
bg-gray-50 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
92. [warning] design-no-default-tailwind-palette — src/modules/home/features/watchCourse/_components/AttachFiels.tsx:17
text-gray-600 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
93. [warning] rendering-svg-precision — src/modules/instructor/assets/icons/Sidebar/SmallLogo.tsx:25
SVG d attribute uses 4+ decimal precision — truncate to 1–2 decimals to shrink markup with no visible difference
94. [warning] design-no-default-tailwind-palette — src/modules/home/features/watchCourse/_components/Acordination.tsx:16
text-gray-800 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
95. [warning] design-no-default-tailwind-palette — src/modules/home/features/watchCourse/_components/Acordination.tsx:40
border-gray-100 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
96. [warning] design-no-default-tailwind-palette — src/modules/home/features/watchCourse/_components/Acordination.tsx:41
border-gray-100 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
97. [warning] design-no-redundant-size-axes — src/modules/home/features/watchCourse/_components/Acordination.tsx:44
w-[18px] h-[18px] → use the shorthand size-[18px] (Tailwind v3.4+)
98. [warning] design-no-default-tailwind-palette — src/modules/home/features/watchCourse/_components/Acordination.tsx:44
border-gray-200 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
99. [warning] design-no-default-tailwind-palette — src/modules/home/features/watchCourse/_components/Acordination.tsx:49
text-gray-700 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
100. [warning] design-no-default-tailwind-palette — src/modules/home/features/watchCourse/_components/Acordination.tsx:55
text-gray-300 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
101. [warning] design-no-default-tailwind-palette — src/modules/home/features/watchCourse/_components/Acordination.tsx:69
border-gray-100 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
102. [warning] design-no-default-tailwind-palette — src/modules/home/features/watchCourse/_components/Acordination.tsx:70
border-gray-100 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
103. [warning] design-no-redundant-size-axes — src/modules/home/features/watchCourse/_components/Acordination.tsx:73
w-[18px] h-[18px] → use the shorthand size-[18px] (Tailwind v3.4+)
104. [warning] design-no-default-tailwind-palette — src/modules/home/features/watchCourse/_components/Acordination.tsx:73
border-gray-200 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
105. [warning] design-no-default-tailwind-palette — src/modules/home/features/watchCourse/_components/Acordination.tsx:78
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/home/features/watchCourse/_components/Acordination.tsx:84
text-gray-300 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
107. [warning] rendering-svg-precision — src/modules/instructor/assets/icons/Sidebar/Settings.tsx:11
SVG d attribute uses 4+ decimal precision — truncate to 1–2 decimals to shrink markup with no visible difference
108. [warning] rendering-svg-precision — src/modules/instructor/assets/icons/Sidebar/Settings.tsx:18
SVG d attribute uses 4+ decimal precision — truncate to 1–2 decimals to shrink markup with no visible difference
109. [warning] design-no-default-tailwind-palette — src/modules/instructor/features/NewCourse/components/Steps/Curriculum/Curriculum.tsx:146
bg-gray-50 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
110. [warning] no-react19-deprecated-apis — src/modules/home/features/watchCourse/_components/AcordianationUi.tsx:10
forwardRef is no longer needed on React 19+ — refs are regular props on function components; remove forwardRef and pass ref directly
111. [warning] no-react19-deprecated-apis — src/modules/home/features/watchCourse/_components/AcordianationUi.tsx:18
forwardRef is no longer needed on React 19+ — refs are regular props on function components; remove forwardRef and pass ref directly
112. [warning] design-no-redundant-size-axes — src/modules/home/features/watchCourse/_components/AcordianationUi.tsx:39
w-5 h-5 → use the shorthand size-5 (Tailwind v3.4+)
113. [warning] design-no-default-tailwind-palette — src/modules/home/features/watchCourse/_components/AcordianationUi.tsx:43
text-gray-700 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
114. [warning] no-react19-deprecated-apis — src/modules/home/features/watchCourse/_components/AcordianationUi.tsx:68
forwardRef is no longer needed on React 19+ — refs are regular props on function components; remove forwardRef and pass ref directly
115. [warning] rendering-svg-precision — src/modules/instructor/assets/icons/Sidebar/NewCourse.tsx:11
SVG d attribute uses 4+ decimal precision — truncate to 1–2 decimals to shrink markup with no visible difference
116. [warning] no-effect-event-handler — src/modules/instructor/features/NewCourse/components/Steps/BasicInformation/BasicInformation.tsx:45
useEffect simulating an event handler — move logic to an actual event handler instead
117. [warning] design-no-default-tailwind-palette — src/modules/home/features/watchCourse/WatchCourse.tsx:45
text-gray-800 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
118. [warning] design-no-space-on-flex-children — src/modules/home/features/watchCourse/WatchCourse.tsx:52
space-x-4 on a flex/grid parent — use gap-x-4 instead. Per-sibling margins phantom-gap on conditional render and don't mirror in RTL
119. [warning] design-no-redundant-size-axes — src/modules/home/features/watchCourse/WatchCourse.tsx:54
w-10 h-10 → use the shorthand size-10 (Tailwind v3.4+)
120. [warning] design-no-default-tailwind-palette — src/modules/home/features/watchCourse/WatchCourse.tsx:54
border-gray-800 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
121. [warning] design-no-redundant-size-axes — src/modules/home/features/watchCourse/WatchCourse.tsx:59
w-10 h-10 → use the shorthand size-10 (Tailwind v3.4+)
122. [warning] design-no-default-tailwind-palette — src/modules/home/features/watchCourse/WatchCourse.tsx:59
border-gray-800 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
123. [warning] design-no-redundant-size-axes — src/modules/home/features/watchCourse/WatchCourse.tsx:64
w-10 h-10 → use the shorthand size-10 (Tailwind v3.4+)
124. [warning] design-no-default-tailwind-palette — src/modules/home/features/watchCourse/WatchCourse.tsx:64
border-gray-800 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
125. [warning] design-no-redundant-size-axes — src/modules/home/features/watchCourse/WatchCourse.tsx:69
w-10 h-10 → use the shorthand size-10 (Tailwind v3.4+)
126. [warning] design-no-default-tailwind-palette — src/modules/home/features/watchCourse/WatchCourse.tsx:69
border-gray-800 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
127. [warning] design-no-default-tailwind-palette — src/modules/home/features/watchCourse/WatchCourse.tsx:76
text-gray-600 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
128. [warning] design-no-default-tailwind-palette — src/modules/home/features/watchCourse/WatchCourse.tsx:83
text-gray-600 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
129. [warning] design-no-default-tailwind-palette — src/modules/home/features/watchCourse/WatchCourse.tsx:89
text-gray-600 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
130. [warning] design-no-default-tailwind-palette — src/modules/home/features/watchCourse/WatchCourse.tsx:97
border-gray-100 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
131. [warning] design-no-default-tailwind-palette — src/modules/home/features/watchCourse/WatchCourse.tsx:101
text-gray-900 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
132. [warning] rendering-svg-precision — src/modules/instructor/assets/icons/Sidebar/Message.tsx:13
SVG d attribute uses 4+ decimal precision — truncate to 1–2 decimals to shrink markup with no visible difference
133. [warning] rendering-svg-precision — src/modules/instructor/assets/icons/Sidebar/Message.tsx:20
SVG d attribute uses 4+ decimal precision — truncate to 1–2 decimals to shrink markup with no visible difference
134. [warning] rendering-svg-precision — src/modules/instructor/assets/icons/Sidebar/Message.tsx:26
SVG d attribute uses 4+ decimal precision — truncate to 1–2 decimals to shrink markup with no visible difference
135. [warning] rendering-svg-precision — src/modules/instructor/assets/icons/Sidebar/Message.tsx:32
SVG d attribute uses 4+ decimal precision — truncate to 1–2 decimals to shrink markup with no visible difference
136. [warning] design-no-default-tailwind-palette — src/modules/instructor/features/NewCourse/components/Steps/AdvanceInformation/components/UploadVideo/UploadVideo.tsx:9
bg-gray-50 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
137. [warning] design-no-default-tailwind-palette — src/modules/instructor/features/NewCourse/components/Steps/AdvanceInformation/components/UploadVideo/UploadVideo.tsx:13
text-gray-600 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
138. [warning] click-events-have-key-events — src/modules/home/features/userProfile/userProfile.tsx:90
Enforce a clickable non-interactive element has at least one keyboard event listener.
139. [warning] no-static-element-interactions — src/modules/home/features/userProfile/userProfile.tsx:90
Static HTML elements with event handlers require a role.
140. [warning] design-no-redundant-size-axes — src/modules/home/features/userProfile/userProfile.tsx:59
w-[110px] h-[110px] → use the shorthand size-[110px] (Tailwind v3.4+)
141. [warning] design-no-default-tailwind-palette — src/modules/home/features/userProfile/userProfile.tsx:67
text-gray-900 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
142. [warning] design-no-default-tailwind-palette — src/modules/home/features/userProfile/userProfile.tsx:70
text-gray-600 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
143. [warning] design-no-default-tailwind-palette — src/modules/home/features/userProfile/userProfile.tsx:87
border-gray-100 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
144. [warning] design-no-default-tailwind-palette — src/modules/instructor/features/NewCourse/components/Steps/AdvanceInformation/components/UploadImage/UploadImage.tsx:21
bg-gray-50 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
145. [warning] design-no-default-tailwind-palette — src/modules/instructor/features/NewCourse/components/Steps/AdvanceInformation/components/UploadImage/UploadImage.tsx:34
text-gray-600 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
146. [warning] rendering-svg-precision — src/modules/instructor/assets/icons/Sidebar/Earning.tsx:11
SVG d attribute uses 4+ decimal precision — truncate to 1–2 decimals to shrink markup with no visible difference
147. [warning] rendering-svg-precision — src/modules/instructor/assets/icons/Sidebar/Earning.tsx:18
SVG d attribute uses 4+ decimal precision — truncate to 1–2 decimals to shrink markup with no visible difference
148. [warning] rendering-svg-precision — src/modules/instructor/assets/icons/Sidebar/Earning.tsx:25
SVG d attribute uses 4+ decimal precision — truncate to 1–2 decimals to shrink markup with no visible difference
149. [warning] rendering-svg-precision — src/modules/instructor/assets/icons/Sidebar/Earning.tsx:32
SVG d attribute uses 4+ decimal precision — truncate to 1–2 decimals to shrink markup with no visible difference
150. [warning] design-no-default-tailwind-palette — src/modules/instructor/features/NewCourse/components/Steps/AdvanceInformation/AdvanceInformation.tsx:27
border-gray-100 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
151. [warning] design-no-default-tailwind-palette — src/modules/instructor/features/NewCourse/components/Steps/AdvanceInformation/AdvanceInformation.tsx:39
border-gray-100 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
152. [warning] design-no-default-tailwind-palette — src/modules/home/features/userProfile/_components/Teacher.tsx:37
text-gray-400 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
153. [warning] design-no-default-tailwind-palette — src/modules/home/features/userProfile/_components/Teacher.tsx:40
border-gray-100 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
154. [warning] design-no-default-tailwind-palette — src/modules/home/features/userProfile/_components/Teacher.tsx:45
text-gray-500 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
155. [warning] design-no-default-tailwind-palette — src/modules/home/features/userProfile/_components/Teacher.tsx:50
text-gray-400 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
156. [warning] design-no-default-tailwind-palette — src/modules/home/features/userProfile/_components/Teacher.tsx:54
text-gray-700 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
157. [warning] design-no-default-tailwind-palette — src/modules/home/features/userProfile/_components/Teacher.tsx:58
text-gray-700 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
158. [warning] design-no-default-tailwind-palette — src/modules/home/features/userProfile/_components/Teacher.tsx:71
text-gray-400 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
159. [warning] design-no-default-tailwind-palette — src/modules/home/features/userProfile/_components/Teacher.tsx:75
text-gray-700 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
160. [warning] design-no-default-tailwind-palette — src/modules/home/features/userProfile/_components/Teacher.tsx:79
text-gray-700 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
161. [warning] design-no-default-tailwind-palette — src/modules/home/features/userProfile/_components/Teacher.tsx:95
border-gray-100 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
162. [warning] design-no-default-tailwind-palette — src/modules/home/features/userProfile/_components/Teacher.tsx:98
text-gray-500 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
163. [warning] design-no-default-tailwind-palette — src/modules/home/features/userProfile/_components/Teacher.tsx:108
text-gray-700 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
164. [warning] design-no-default-tailwind-palette — src/modules/home/features/userProfile/_components/Teacher.tsx:109
text-gray-500 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
165. [warning] design-no-default-tailwind-palette — src/modules/instructor/features/NewCourse/components/SaveChanges/SaveChanges.tsx:10
border-gray-100 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
166. [warning] no-array-index-as-key — src/modules/home/features/userProfile/_components/Dashbord.tsx:58
Array index "index" used as key — causes bugs when list is reordered or filtered
167. [warning] design-no-redundant-size-axes — src/modules/home/features/userProfile/_components/Dashbord.tsx:71
w-[70px] h-[70px] → use the shorthand size-[70px] (Tailwind v3.4+)
168. [warning] design-no-default-tailwind-palette — src/modules/home/features/userProfile/_components/Dashbord.tsx:78
text-gray-900 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
169. [warning] design-no-default-tailwind-palette — src/modules/home/features/userProfile/_components/Dashbord.tsx:79
text-gray-600 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
170. [warning] design-no-space-on-flex-children — src/modules/home/features/userProfile/_components/Dashbord.tsx:88
space-x-4 on a flex/grid parent — use gap-x-4 instead. Per-sibling margins phantom-gap on conditional render and don't mirror in RTL
171. [warning] design-no-default-tailwind-palette — src/modules/home/features/userProfile/_components/Dashbord.tsx:98
border-gray-100 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
172. [warning] design-no-default-tailwind-palette — src/modules/home/features/userProfile/_components/Dashbord.tsx:103
text-gray-600 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
173. [warning] design-no-default-tailwind-palette — src/modules/home/features/userProfile/_components/Dashbord.tsx:106
text-gray-900 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
174. [warning] design-no-default-tailwind-palette — src/modules/home/features/userProfile/_components/Dashbord.tsx:108
bg-gray-100 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
175. [warning] rendering-svg-precision — src/modules/instructor/assets/icons/NavBar/SearchIcon.tsx:13
SVG d attribute uses 4+ decimal precision — truncate to 1–2 decimals to shrink markup with no visible difference
176. [warning] rendering-svg-precision — src/modules/instructor/assets/icons/NavBar/SearchIcon.tsx:20
SVG d attribute uses 4+ decimal precision — truncate to 1–2 decimals to shrink markup with no visible difference
177. [warning] click-events-have-key-events — src/modules/instructor/features/NewCourse/components/MultipleAnswer/MultipleAnswer.tsx:27
Enforce a clickable non-interactive element has at least one keyboard event listener.
178. [warning] use-lazy-motion — src/modules/instructor/features/NewCourse/components/MultipleAnswer/MultipleAnswer.tsx:2
Import "m" with LazyMotion instead of "motion" — saves ~30kb in bundle size
179. [warning] no-derived-useState — src/modules/instructor/features/NewCourse/components/MultipleAnswer/MultipleAnswer.tsx:16
useState initialized from prop "defaultValue" — if this value should stay in sync with the prop, derive it during render instead
180. [warning] design-no-default-tailwind-palette — src/modules/instructor/features/NewCourse/components/MultipleAnswer/MultipleAnswer.tsx:22
text-gray-900 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
181. [warning] design-no-default-tailwind-palette — src/modules/instructor/features/NewCourse/components/MultipleAnswer/MultipleAnswer.tsx:23
text-gray-900 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
182. [warning] no-scale-from-zero — src/modules/instructor/features/NewCourse/components/MultipleAnswer/MultipleAnswer.tsx:47
scale: 0 makes elements appear from nowhere — use scale: 0.95 with opacity: 0 for natural entrance
183. [warning] design-no-default-tailwind-palette — src/modules/home/features/userProfile/_components/Courses.tsx:38
text-gray-400 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
184. [warning] design-no-default-tailwind-palette — src/modules/home/features/userProfile/_components/Courses.tsx:41
border-gray-100 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
185. [warning] design-no-default-tailwind-palette — src/modules/home/features/userProfile/_components/Courses.tsx:46
text-gray-500 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
186. [warning] design-no-default-tailwind-palette — src/modules/home/features/userProfile/_components/Courses.tsx:51
text-gray-400 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
187. [warning] design-no-default-tailwind-palette — src/modules/home/features/userProfile/_components/Courses.tsx:55
text-gray-700 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
188. [warning] design-no-default-tailwind-palette — src/modules/home/features/userProfile/_components/Courses.tsx:59
text-gray-700 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
189. [warning] design-no-default-tailwind-palette — src/modules/home/features/userProfile/_components/Courses.tsx:71
text-gray-400 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
190. [warning] design-no-default-tailwind-palette — src/modules/home/features/userProfile/_components/Courses.tsx:75
text-gray-700 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
191. [warning] design-no-default-tailwind-palette — src/modules/home/features/userProfile/_components/Courses.tsx:79
text-gray-700 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
192. [warning] design-no-default-tailwind-palette — src/modules/home/features/userProfile/_components/Courses.tsx:91
text-gray-400 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
193. [warning] design-no-default-tailwind-palette — src/modules/home/features/userProfile/_components/Courses.tsx:95
text-gray-700 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
194. [warning] design-no-default-tailwind-palette — src/modules/home/features/userProfile/_components/Courses.tsx:99
text-gray-700 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
195. [warning] design-no-default-tailwind-palette — src/modules/home/features/userProfile/_components/Courses.tsx:113
border-gray-100 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
196. [warning] design-no-default-tailwind-palette — src/modules/home/features/userProfile/_components/Courses.tsx:116
border-gray-100 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
197. [warning] design-no-default-tailwind-palette — src/modules/home/features/userProfile/_components/Courses.tsx:118
text-gray-600 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
198. [warning] design-no-default-tailwind-palette — src/modules/home/features/userProfile/_components/Courses.tsx:121
text-gray-900 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
199. [warning] rendering-svg-precision — src/modules/instructor/assets/icons/NavBar/Notification.tsx:13
SVG d attribute uses 4+ decimal precision — truncate to 1–2 decimals to shrink markup with no visible difference
200. [warning] rendering-svg-precision — src/modules/instructor/assets/icons/NavBar/Notification.tsx:20
SVG d attribute uses 4+ decimal precision — truncate to 1–2 decimals to shrink markup with no visible difference
201. [warning] no-uncontrolled-input — src/modules/instructor/layout/NavBar/components/search/Search.tsx:9
<input value={value}> — "value" is initialized as undefined (uncontrolled), then becomes controlled on first set; React warns about this flip. Initialize useState with an explicit value (e.g. `useState("")`)
202. [warning] design-no-default-tailwind-palette — src/modules/instructor/layout/NavBar/components/search/Search.tsx:10
bg-gray-50 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
203. [warning] design-no-default-tailwind-palette — src/modules/instructor/layout/NavBar/components/search/Search.tsx:10
placeholder-gray-500 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
204. [warning] design-no-default-tailwind-palette — src/modules/instructor/layout/NavBar/components/search/Search.tsx:10
text-gray-700 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
205. [warning] rendering-svg-precision — src/modules/instructor/assets/icons/Dashboard/ActivityCommentIcon.tsx:14
SVG d attribute uses 4+ decimal precision — truncate to 1–2 decimals to shrink markup with no visible difference
206. [warning] rendering-svg-precision — src/modules/instructor/assets/icons/Dashboard/ActivityCommentIcon.tsx:18
SVG d attribute uses 4+ decimal precision — truncate to 1–2 decimals to shrink markup with no visible difference
207. [warning] rendering-svg-precision — src/modules/instructor/assets/icons/Dashboard/ActivityCommentIcon.tsx:22
SVG d attribute uses 4+ decimal precision — truncate to 1–2 decimals to shrink markup with no visible difference
208. [warning] rendering-svg-precision — src/modules/instructor/assets/icons/Dashboard/ActivityCommentIcon.tsx:26
SVG d attribute uses 4+ decimal precision — truncate to 1–2 decimals to shrink markup with no visible difference
209. [warning] design-no-redundant-size-axes — src/modules/instructor/layout/NavBar/components/Profile/Profile.tsx:11
w-12 h-12 → use the shorthand size-12 (Tailwind v3.4+)
210. [warning] click-events-have-key-events — src/modules/home/features/courses/_components/courseDetails.tsx:102
Enforce a clickable non-interactive element has at least one keyboard event listener.
211. [warning] no-static-element-interactions — src/modules/home/features/courses/_components/courseDetails.tsx:102
Static HTML elements with event handlers require a role.
212. [warning] use-lazy-motion — src/modules/home/features/courses/_components/courseDetails.tsx:4
Import "m" with LazyMotion instead of "motion" — saves ~30kb in bundle size
213. [warning] design-no-default-tailwind-palette — src/modules/home/features/courses/_components/courseDetails.tsx:131
text-gray-700 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
214. [warning] design-no-default-tailwind-palette — src/modules/home/features/courses/_components/courseDetails.tsx:137
text-gray-700 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
215. [warning] design-no-default-tailwind-palette — src/modules/home/features/courses/_components/courseDetails.tsx:141
text-gray-700 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
216. [warning] no-array-index-as-key — src/modules/home/features/courses/_components/courseDetails.tsx:143
Array index "index" used as key — causes bugs when list is reordered or filtered
217. [warning] design-no-default-tailwind-palette — src/modules/home/features/courses/_components/courseDetails.tsx:166
border-gray-100 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
218. [warning] design-no-space-on-flex-children — src/modules/home/features/courses/_components/courseDetails.tsx:169
space-x-2 on a flex/grid parent — use gap-x-2 instead. Per-sibling margins phantom-gap on conditional render and don't mirror in RTL
219. [warning] design-no-redundant-size-axes — src/modules/home/features/courses/_components/courseDetails.tsx:172
w-[18px] h-[18px] → use the shorthand size-[18px] (Tailwind v3.4+)
220. [warning] design-no-default-tailwind-palette — src/modules/home/features/courses/_components/courseDetails.tsx:172
text-gray-200 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
221. [warning] design-no-default-tailwind-palette — src/modules/home/features/courses/_components/courseDetails.tsx:172
border-gray-200 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
222. [warning] design-no-default-tailwind-palette — src/modules/home/features/courses/_components/courseDetails.tsx:176
text-gray-700 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
223. [warning] design-no-default-tailwind-palette — src/modules/home/features/courses/_components/courseDetails.tsx:191
border-gray-100 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
224. [warning] design-no-space-on-flex-children — src/modules/home/features/courses/_components/courseDetails.tsx:192
space-x-2 on a flex/grid parent — use gap-x-2 instead. Per-sibling margins phantom-gap on conditional render and don't mirror in RTL
225. [warning] design-no-redundant-size-axes — src/modules/home/features/courses/_components/courseDetails.tsx:196
w-[18px] h-[18px] → use the shorthand size-[18px] (Tailwind v3.4+)
226. [warning] design-no-default-tailwind-palette — src/modules/home/features/courses/_components/courseDetails.tsx:196
text-gray-200 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
227. [warning] design-no-default-tailwind-palette — src/modules/home/features/courses/_components/courseDetails.tsx:196
border-gray-200 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
228. [warning] design-no-default-tailwind-palette — src/modules/home/features/courses/_components/courseDetails.tsx:200
text-gray-700 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
229. [warning] design-no-default-tailwind-palette — src/modules/home/features/courses/_components/courseDetails.tsx:205
text-gray-500 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
230. [warning] design-no-redundant-size-axes — src/modules/home/features/courses/_components/courseDetails.tsx:214
w-[300px] h-[300px] → use the shorthand size-[300px] (Tailwind v3.4+)
231. [warning] design-no-redundant-size-axes — src/modules/home/features/courses/_components/courseDetails.tsx:215
w-[300px] h-[300px] → use the shorthand size-[300px] (Tailwind v3.4+)
232. [warning] design-no-redundant-size-axes — src/modules/home/features/courses/_components/courseDetails.tsx:216
w-[300px] h-[300px] → use the shorthand size-[300px] (Tailwind v3.4+)
233. [warning] design-no-redundant-size-axes — src/modules/home/features/courses/_components/courseDetails.tsx:217
w-[300px] h-[300px] → use the shorthand size-[300px] (Tailwind v3.4+)
234. [warning] design-no-redundant-size-axes — src/modules/home/features/courses/_components/courseDetails.tsx:219
w-[300px] h-[300px] → use the shorthand size-[300px] (Tailwind v3.4+)
235. [warning] design-no-redundant-size-axes — src/modules/home/features/courses/_components/courseDetails.tsx:224
w-[300px] h-[300px] → use the shorthand size-[300px] (Tailwind v3.4+)
236. [warning] design-no-default-tailwind-palette — src/modules/home/features/courses/_components/courseDetails.tsx:250
border-gray-100 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
237. [warning] design-no-default-tailwind-palette — src/modules/home/features/courses/_components/courseDetails.tsx:268
text-gray-700 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
238. [warning] design-no-default-tailwind-palette — src/modules/home/features/courses/_components/courseDetails.tsx:279
text-gray-900 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
239. [warning] design-no-default-tailwind-palette — src/modules/home/features/courses/_components/courseDetails.tsx:291
bg-gray-100 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
240. [warning] design-no-default-tailwind-palette — src/modules/home/features/courses/_components/courseDetails.tsx:304
text-gray-700 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
241. [warning] design-no-default-tailwind-palette — src/modules/home/features/courses/_components/courseDetails.tsx:307
text-gray-500 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
242. [warning] rendering-svg-precision — src/modules/instructor/assets/icons/CreateCourse/deleteIcon.tsx:14
SVG d attribute uses 4+ decimal precision — truncate to 1–2 decimals to shrink markup with no visible difference
243. [warning] rendering-svg-precision — src/modules/instructor/assets/icons/CreateCourse/deleteIcon.tsx:35
SVG d attribute uses 4+ decimal precision — truncate to 1–2 decimals to shrink markup with no visible difference
244. [warning] rendering-svg-precision — src/modules/instructor/assets/icons/CreateCourse/deleteIcon.tsx:42
SVG d attribute uses 4+ decimal precision — truncate to 1–2 decimals to shrink markup with no visible difference
245. [warning] design-no-default-tailwind-palette — src/modules/instructor/layout/NavBar/components/Notifications/Notification.tsx:6
bg-gray-50 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
246. [warning] design-no-redundant-size-axes — src/modules/instructor/layout/NavBar/components/Notifications/Notification.tsx:7
w-3 h-3 → use the shorthand size-3 (Tailwind v3.4+)
247. [warning] design-no-default-tailwind-palette — src/modules/home/features/courses/_components/Suggestion.tsx:22
text-gray-900 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
248. [warning] design-no-default-tailwind-palette — src/modules/home/features/courses/_components/Suggestion.tsx:23
text-gray-700 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
249. [warning] rendering-svg-precision — src/modules/instructor/assets/icons/CreateCourse/UploadFileIcon.tsx:15
SVG d attribute uses 4+ decimal precision — truncate to 1–2 decimals to shrink markup with no visible difference
250. [warning] rendering-svg-precision — src/modules/instructor/assets/icons/CreateCourse/UploadFileIcon.tsx:19
SVG d attribute uses 4+ decimal precision — truncate to 1–2 decimals to shrink markup with no visible difference
251. [warning] rendering-svg-precision — src/modules/instructor/assets/icons/CreateCourse/UploadFileIcon.tsx:26
SVG d attribute uses 4+ decimal precision — truncate to 1–2 decimals to shrink markup with no visible difference
252. [warning] rendering-svg-precision — src/modules/instructor/assets/icons/CreateCourse/UploadFileIcon.tsx:33
SVG d attribute uses 4+ decimal precision — truncate to 1–2 decimals to shrink markup with no visible difference
253. [warning] design-no-default-tailwind-palette — src/modules/instructor/layout/NavBar/NavBar.tsx:21
text-gray-600 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
254. [warning] design-no-default-tailwind-palette — src/modules/instructor/layout/NavBar/NavBar.tsx:22
text-gray-900 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
255. [warning] rendering-svg-precision — src/modules/instructor/assets/icons/CreateCourse/PublishCourseIcon.tsx:14
SVG d attribute uses 4+ decimal precision — truncate to 1–2 decimals to shrink markup with no visible difference
256. [warning] rendering-svg-precision — src/modules/instructor/assets/icons/CreateCourse/PublishCourseIcon.tsx:18
SVG d attribute uses 4+ decimal precision — truncate to 1–2 decimals to shrink markup with no visible difference
257. [warning] click-events-have-key-events — src/modules/instructor/layout/MainLayout/MainLayout.tsx:47
Enforce a clickable non-interactive element has at least one keyboard event listener.
258. [warning] click-events-have-key-events — src/modules/instructor/layout/MainLayout/MainLayout.tsx:59
Enforce a clickable non-interactive element has at least one keyboard event listener.
259. [warning] click-events-have-key-events — src/modules/instructor/layout/MainLayout/MainLayout.tsx:99
Enforce a clickable non-interactive element has at least one keyboard event listener.
260. [warning] no-static-element-interactions — src/modules/instructor/layout/MainLayout/MainLayout.tsx:99
Static HTML elements with event handlers require a role.
261. [warning] use-lazy-motion — src/modules/instructor/layout/MainLayout/MainLayout.tsx:8
Import "m" with LazyMotion instead of "motion" — saves ~30kb in bundle size
262. [warning] no-derived-state-effect — src/modules/instructor/layout/MainLayout/MainLayout.tsx:28
Derived state in useEffect — compute during render instead
263. [warning] no-array-index-as-key — src/modules/instructor/layout/MainLayout/MainLayout.tsx:80
Array index "index" used as key — causes bugs when list is reordered or filtered
264. [warning] design-no-default-tailwind-palette — src/modules/instructor/layout/MainLayout/MainLayout.tsx:104
bg-gray-50 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
265. [warning] rendering-svg-precision — src/modules/instructor/assets/icons/CreateCourse/EditIcon.tsx:12
SVG d attribute uses 4+ decimal precision — truncate to 1–2 decimals to shrink markup with no visible difference
266. [warning] rendering-svg-precision — src/modules/instructor/assets/icons/CreateCourse/EditIcon.tsx:26
SVG d attribute uses 4+ decimal precision — truncate to 1–2 decimals to shrink markup with no visible difference
267. [warning] design-no-default-tailwind-palette — src/modules/home/features/courseDetails/courseDetails.tsx:68
border-gray-100 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
268. [warning] design-no-default-tailwind-palette — src/modules/home/features/courseDetails/courseDetails.tsx:72
text-gray-900 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
269. [warning] design-no-default-tailwind-palette — src/modules/home/features/courseDetails/_components/courseInstructor.tsx:47
border-gray-100 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
270. [warning] no-array-index-as-key — src/modules/home/features/courseDetails/_components/courseInstructor.tsx:48
Array index "index" used as key — causes bugs when list is reordered or filtered
271. [warning] design-no-redundant-size-axes — src/modules/home/features/courseDetails/_components/courseInstructor.tsx:50
w-[200px] h-[200px] → use the shorthand size-[200px] (Tailwind v3.4+)
272. [warning] design-no-default-tailwind-palette — src/modules/home/features/courseDetails/_components/courseInstructor.tsx:61
text-gray-900 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
273. [warning] design-no-default-tailwind-palette — src/modules/home/features/courseDetails/_components/courseInstructor.tsx:65
text-gray-700 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
274. [warning] no-array-index-as-key — src/modules/home/features/courseDetails/_components/courseInstructor.tsx:71
Array index "index" used as key — causes bugs when list is reordered or filtered
275. [warning] design-no-default-tailwind-palette — src/modules/home/features/courseDetails/_components/courseInstructor.tsx:78
text-gray-700 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
276. [warning] design-no-default-tailwind-palette — src/modules/home/features/courseDetails/_components/courseInstructor.tsx:79
text-gray-900 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
277. [warning] design-no-default-tailwind-palette — src/modules/home/features/courseDetails/_components/courseInstructor.tsx:87
text-gray-700 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
278. [warning] rendering-svg-precision — src/modules/instructor/assets/icons/CreateCourse/CurriculumIcon.tsx:14
SVG d attribute uses 4+ decimal precision — truncate to 1–2 decimals to shrink markup with no visible difference
279. [warning] rendering-svg-precision — src/modules/instructor/assets/icons/CreateCourse/CurriculumIcon.tsx:18
SVG d attribute uses 4+ decimal precision — truncate to 1–2 decimals to shrink markup with no visible difference
280. [warning] design-no-default-tailwind-palette — src/modules/auth/components/SocialMediaBtn/SocialMediaBtn.tsx:18
border-gray-100 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
281. [warning] design-no-default-tailwind-palette — src/modules/auth/components/SocialMediaBtn/SocialMediaBtn.tsx:18
bg-gray-50 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
282. [warning] design-no-default-tailwind-palette — src/modules/auth/components/SocialMediaBtn/SocialMediaBtn.tsx:20
border-gray-100 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
283. [warning] no-array-index-as-key — src/modules/home/features/courseDetails/_components/WhatWillLearnInCourse.tsx:27
Array index "index" used as key — causes bugs when list is reordered or filtered
284. [warning] design-no-default-tailwind-palette — src/modules/home/features/courseDetails/_components/WhatWillLearnInCourse.tsx:29
text-gray-700 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
285. [warning] design-no-default-tailwind-palette — src/modules/home/features/courseDetails/_components/StudentFeedbackSelect.tsx:15
text-gray-700 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
286. [warning] design-no-default-tailwind-palette — src/modules/home/features/courseDetails/_components/StudentFeedbackSelect.tsx:19
text-gray-700 reads as the Tailwind template default — use zinc (true neutral), neutral (warmer), or stone (warmest)
287. [warning] rendering-svg-precision — src/modules/instructor/assets/icons/CreateCourse/CheckedStepIcons.tsx:13
SVG d attribute uses 4+ decimal precision — truncate to 1–2 decimals to shrink markup with no visible difference
288. [warning] rendering-svg-precision — src/modules/instructor/assets/icons/CreateCourse/CheckedStepIcons.tsx:20
SVG d attribute uses 4+ decimal precision — truncate to 1–2 decimals to shrink markup with no visible difference
289. [warning] design-no-default-tailwind-palette —
---
_Issue body truncated. See the full report at [react.review/dashboard](https://react.review/dashboard)._Activity
0No activity yet.