SummoningCircle renders a single animated circular button representing one project. It displays the project title and a Sigil icon inside a set of concentric rotating rings — an outer dashed ring and an inner dotted ring — that spin continuously when the item is active. Clicking the circle fires theDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/apursley2012/sys.witch-v2/llms.txt
Use this file to discover all available pages before exploring further.
onClick callback, and the isActive prop toggles the selected visual state. One SummoningCircle is rendered per project; selection state is lifted to the parent.
Props
The project object to display inside the circle. The component reads
project.title for the heading and project.image for the background texture, and passes project.title to the button’s aria-label.Callback fired when the user clicks the circle. Wire this to your parent state setter to update the selected project and drive ProjectPanel.
When
true, the outer and inner rings animate to a full 360° rotation loop, borders shift to full neon-magenta and neon-purple, and the title inside the circle switches to text-neon-magenta with a glow. When false, borders are dimmed and rings are stationary.Usage
Interaction
Each SummoningCircle has two interactive states:- Hover — When
isActiveisfalse, hovering the circle scales it up viahover:scale-105and partially brightens the ring borders from their dimmed state. - Active — When
isActiveistrue, the circle scales toscale-105, both rings animate into a continuous rotation loop (outer ring at 20s, inner ring at 15s in the opposite direction), borders glow at full neon intensity, and the Sigil color switches from purple to magenta.
50% to 100% and gain a magenta drop-shadow glow when the circle is active.