"use client"; import type { ReactNode } from "react"; import { PrototypeTargetIdProvider } from "@prototype/components/prototypes/prototype-target"; import { CommentProvider } from "@prototype/lib/prototype-comments/react/CommentProvider"; import type { PrototypeComponentRegistry } from "@prototype/lib/prototypes/prototype-component-registry"; import { getPrototypeComponentRegistryForSlug } from "@prototype/lib/prototypes/create-prototype-registry"; import { PrototypeCommentRegistryProvider, usePrototypeCommentRegistry, } from "@prototype/lib/prototypes/prototype-comment-registry"; function PrototypeCommentProviderInner({ slug, children, }: { slug: string; children: ReactNode; }) { const { readHandlers } = usePrototypeCommentRegistry(); return ( readHandlers()?.getLiveState() ?? {}} onRestore={(live) => readHandlers()?.onRestore(live)} > {children} ); } type PrototypeCommentRootProps = { slug: string; componentRegistry?: PrototypeComponentRegistry; children: ReactNode; }; /** Registry + slug-scoped CommentProvider for prototype routes. */ export function PrototypeCommentRoot({ slug, componentRegistry, children, }: PrototypeCommentRootProps) { const resolvedRegistry = componentRegistry ?? getPrototypeComponentRegistryForSlug(slug); return ( {children} ); }