- Interactive skill tree with dagre auto-layout and React Flow (15 math+logic nodes) - Workbench with math input (LTR/RTL toggle), multiple choice, keyboard shortcuts - Challenge verification engine with retry-based flow (no answer reveal until 3 failures) - Scratchpad canvas with freehand drawing, text boxes, eraser, colors, and stroke sizes - "Aprende primero" collapsible explanations on introductory challenges - XP/level system, daily streaks, 7 achievements, progress persistence via Zustand - Profile page with stats and achievement gallery - Sidebar navigation with XP bar and streak badge Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
26 lines
545 B
TypeScript
26 lines
545 B
TypeScript
"use client"
|
|
|
|
import { Separator as SeparatorPrimitive } from "@base-ui/react/separator"
|
|
|
|
import { cn } from "@/lib/utils"
|
|
|
|
function Separator({
|
|
className,
|
|
orientation = "horizontal",
|
|
...props
|
|
}: SeparatorPrimitive.Props) {
|
|
return (
|
|
<SeparatorPrimitive
|
|
data-slot="separator"
|
|
orientation={orientation}
|
|
className={cn(
|
|
"shrink-0 bg-border data-horizontal:h-px data-horizontal:w-full data-vertical:w-px data-vertical:self-stretch",
|
|
className
|
|
)}
|
|
{...props}
|
|
/>
|
|
)
|
|
}
|
|
|
|
export { Separator }
|