Skip to content

Add Touch & Mobile Support to Interactive Components #7

@Shuvo-code-dev

Description

@Shuvo-code-dev

◌ Concept

Ballpit, ClickSpark, and MagnetButton only listen to mouse
events (mousemove, mousedown, mouseleave). On any touch
device, these components are completely non-interactive —
they just sit there doing nothing.

✦ The Solution

Add touch event support to all interactive components:

  • touchstart → equivalent of mousedown
  • touchmove → equivalent of mousemove
  • touchend → equivalent of mouseleave

Best approach: migrate to the Pointer Events API which
handles both mouse and touch automatically.

⚡ Why it matters?

Over 60% of global web traffic comes from mobile devices.
Halqa's most impressive components are completely invisible
to the majority of its visitors.

🌑 Alternative Solutions

  • Add a "Desktop recommended" badge on affected components
    as a short-term fix while the full fix is being built.

📌 Visuals & Context

Affected files:

  • Ballpit.tsx — mousemove only
  • ClickSpark.tsx — mousedown only
  • MagnetButton.tsx — mousemove only

Thank you for helping us evolve the circle. 🪶

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions