"use client"; import { useId, type ReactNode } from "react"; import { motion, useReducedMotion } from "motion/react"; type TextOrbitProps = { /** Text round the circle. End it with a separator (" • ") so the join looks even. */ text: string; /** Sits still in the middle. */ children?: ReactNode; /** Width and height, in pixels. */ size?: number; /** Seconds per full turn. */ duration?: number; className?: string; }; /* TextOrbit: text runs round a circle and slowly turns, like a badge stamp. Anything in children sits still in the middle. */ export function TextOrbit({ text, children, size = 160, duration = 14, className = "" }: TextOrbitProps) { const reduce = useReducedMotion(); const pathId = `to${useId().replace(/[^a-zA-Z0-9]/g, "")}`; const r = 40; // inside a 100 x 100 box return (