ProUnlock everything for $49.99 a year, or $79.99 once. See plans ›

Nexus UI

Empty Projects, animated React component

An empty projects screen with three starter templates in a loose stack that fans out when you point at it. Picking a template flies that exact card into the grid as your first project.

  • Pro
  • Cards
  • Hover
  • Spring

Taps when you pick a template or start over and lands the new project card with a soft drop; the fan-out on hover is silent. Sound is off on this site until you switch it on.

Play with it

Move the controls and watch it change. Copy code gives you a snippet with only the props you changed.

Projects

No projects yet

Pick a starting point. You can change everything later.

Props

PropTypeDefaultWhat it does
templatesEMPTY_PROJECTS_TEMPLATESThe starter templates in the stack, each { id, name, tint: [background, accent] }. The ids landing, dashboard and docs draw their own little page; three works best.
title"Projects"Heading above the grid.
emptyTitle"No projects yet"Headline of the empty state.
emptyDescription"Pick a starting point. You can change everything later."Line under the headline.
onCreateundefinedCalled when a template, or the blank project, is picked. The autoplay demo never calls it.
autoplayfalseFans the stack, picks a template and starts over on a loop until someone touches it. Pauses off screen and never runs under reduced motion.
className""Extra classes for the card.
enableSoundtruePlays interface sounds on interaction. They follow the sound switch (setSoundsEnabled, on by default) and stay silent on hover. Autoplay makes the same sounds once the visitor has used the page. Pass false to silence this component.

Empty Projects questions

Does it make sound, and how do I turn it off?

Taps when you pick a template or start over and lands the new project card with a soft drop; the fan-out on hover is silent. Sounds are synthesised with the Web Audio API, so there are no audio files, and they only play after a click or key press. Pass `enableSound={false}` to silence this component, or call `setSoundsEnabled(false)` from `@/lib/ui-sounds` to switch every sound off at once. The CLI installs `@/lib/ui-sounds` with the component.