# Interactive Waves Hero

> best practices for building maintainable and readable React applications, I have extracted all the complex animation logic from the Waves component into its own custom hook, useWaveAnimation. This change makes the Waves component much cleaner and separates the animation logic (the "how") from the component's rendering (the "what"), which is a key principle of high-quality React code.

- Author: [Dhileep Kumar GM](https://21st.dev/@dhileepkumargm)
- License: no-license
- Tags: Canvas, Interactive, CTA, Wave, Background Animation
- Live preview: https://21st.dev/@dhileepkumargm/components/interactive-waves-hero

## Install

```bash
npx shadcn@latest add "https://21st.dev/r/dhileepkumargm/interactive-waves-hero?api_key=$API_KEY_21ST"
```

Requires a 21st API key (generate one at https://21st.dev/mcp) passed as `API_KEY_21ST`. Free accounts get a limited number of installs per day; unlimited on a paid plan — see https://21st.dev/pricing.

Full component directory: https://21st.dev/llms.txt · More like this: https://21st.dev/community/components/s/canvas.md
