Fix the following React Review diagnostics in my codebase.
## Errors (1)
1. [error] require-reduced-motion — apps/website/package.json:0
Project uses a motion library but has no prefers-reduced-motion handling — required for accessibility (WCAG 2.3.3)
## Warnings (22)
2. [warning] exhaustive-deps — apps/demo/src/app.tsx:72
React Hook `useEffect` is missing dependency `inputValue.trim` — list it in the dependency array, or call the hook unconditionally.
3. [warning] no-array-index-key — apps/demo/src/app.tsx:96
Array index in `key` doesn't uniquely identify the element — re-renders may use stale state.
4. [warning] no-array-index-as-key — apps/demo/src/app.tsx:96
Array index "index" used as key — causes bugs when list is reordered or filtered
5. [warning] control-has-associated-label — apps/demo/src/app.tsx:107
A control must be associated with a text label — add visible text, `aria-label`, or `aria-labelledby`.
6. [warning] button-has-type — apps/demo/src/app.tsx:118
`<button>` elements must have an explicit `type` attribute.
7. [warning] nextjs-missing-metadata — apps/website/app/page.tsx:6
Page without metadata or generateMetadata export — hurts SEO
8. [warning] use-lazy-motion — apps/website/app/page.tsx:9
Import "m" with LazyMotion instead of "motion" — saves ~30kb in bundle size
9. [warning] exhaustive-deps — apps/website/app/page.tsx:261
React Hook `useEffect` is missing dependency `config` — list it in the dependency array, or call the hook unconditionally.
10. [warning] click-events-have-key-events — apps/website/app/page.tsx:579
Visible non-interactive elements with click handlers must have a corresponding keyboard listener (`onKeyUp`, `onKeyDown`, or `onKeyPress`).
11. [warning] no-static-element-interactions — apps/website/app/page.tsx:579
Static HTML elements with event handlers require a role — add `role="…"` or use a semantic HTML element instead.
12. [warning] button-has-type — apps/website/app/page.tsx:596
`<button>` elements must have an explicit `type` attribute.
13. [warning] no-array-index-key — apps/website/app/page.tsx:758
Array index in `key` doesn't uniquely identify the element — re-renders may use stale state.
14. [warning] no-array-index-as-key — apps/website/app/page.tsx:758
Array index "index" used as key — causes bugs when list is reordered or filtered
15. [warning] click-events-have-key-events — apps/website/app/page.tsx:759
Visible non-interactive elements with click handlers must have a corresponding keyboard listener (`onKeyUp`, `onKeyDown`, or `onKeyPress`).
16. [warning] no-static-element-interactions — apps/website/app/page.tsx:759
Static HTML elements with event handlers require a role — add `role="…"` or use a semantic HTML element instead.
17. [warning] no-array-index-as-key — apps/website/app/claude-spinner.tsx:38
Array index "index" used as key — causes bugs when list is reordered or filtered
18. [warning] unused-dependency — apps/website/package.json:0
Unused dependency: `class-variance-authority`
19. [warning] unused-dependency — apps/website/package.json:0
Unused dependency: `lucide-react`
20. [warning] unused-dependency — apps/website/package.json:0
Unused dependency: `pasito`
21. [warning] unused-dependency — apps/website/package.json:0
Unused dependency: `torph`
22. [warning] unused-dependency — apps/website/package.json:0
Unused dependency: `web-haptics`
23. [warning] unused-dependency — apps/website/package.json:0
Unused dependency: `zustand`
Copy as prompt
❌ Errors (1)
Project uses a motion library but has no prefers-reduced-motion handling — required for accessibility (WCAG 2.3.3) · 1 in 1 file
require-reduced-motionapps/website/package.jsonUnused dependency: `class-variance-authority` · 6 in 1 file
unused-dependencyapps/website/package.jsonArray index "index" used as key — causes bugs when list is reordered or filtered · 3 in 3 files
no-array-index-as-keyapps/demo/src/app.tsxapps/website/app/page.tsxapps/website/app/claude-spinner.tsxReact Hook `useEffect` is missing dependency `inputValue.trim` — list it in the dependency array, or call the hook unconditionally. · 2 in 2 files
exhaustive-depsapps/demo/src/app.tsxapps/website/app/page.tsxArray index in `key` doesn't uniquely identify the element — re-renders may use stale state. · 2 in 2 files
no-array-index-keyapps/demo/src/app.tsxapps/website/app/page.tsx`<button>` elements must have an explicit `type` attribute. · 2 in 2 files
button-has-typeapps/demo/src/app.tsxapps/website/app/page.tsxVisible non-interactive elements with click handlers must have a corresponding keyboard listener (`onKeyUp`, `onKeyDown`, or `onKeyPress`). · 2 in 1 file
click-events-have-key-eventsapps/website/app/page.tsxStatic HTML elements with event handlers require a role — add `role="…"` or use a semantic HTML element instead. · 2 in 1 file
no-static-element-interactionsapps/website/app/page.tsxA control must be associated with a text label — add visible text, `aria-label`, or `aria-labelledby`. · 1 in 1 file
control-has-associated-labelapps/demo/src/app.tsxPage without metadata or generateMetadata export — hurts SEO · 1 in 1 file
nextjs-missing-metadataapps/website/app/page.tsxImport "m" with LazyMotion instead of "motion" — saves ~30kb in bundle size · 1 in 1 file
use-lazy-motionapps/website/app/page.tsxReviewed by reactreview for commit b47aab7. Configure here.