import {
ActionList,
Badge,
Box,
Separator,
Skeleton,
} from "@prismicio/editor-ui";
import { useRouter } from "next/router";
import { Suspense } from "react";
import { telemetry } from "@/apiClient";
import { CUSTOM_TYPES_CONFIG } from "@/features/customTypes/customTypesConfig";
import { CUSTOM_TYPES_MESSAGES } from "@/features/customTypes/customTypesMessages";
import { DefaultErrorBoundary } from "@/features/errorBoundaries";
import { RepositoryInfo } from "@/features/navigation/RepositoryInfo";
import { OnboardingGuide } from "@/features/onboarding";
import { useAdapterName } from "@/hooks/useAdapterName";
import { useMarketingContent } from "@/hooks/useMarketingContent";
import { CodeIcon } from "@/icons/CodeIcon";
import { FolderIcon } from "@/icons/FolderIcon";
import { LightningIcon } from "@/icons/Lightning";
import { MenuBookIcon } from "@/icons/MenuBookIcon";
import { ChangesItem } from "../../legacy/components/Navigation/ChangesItem";
import { Environment } from "../../legacy/components/Navigation/Environment";
import { NavigationItem } from "./NavigationItem";
import { SliceMachineVersion } from "./SliceMachineVersion";
import { UpdateInfo } from "./UpdateInfo";
export function Navigation() {
const router = useRouter();
const { documentationLink } = useMarketingContent();
const adapter = useAdapterName();
interface CustomTypeNavigationItemProps {
type: "page" | "custom";
}
function CustomTypeNavigationItem({ type }: CustomTypeNavigationItemProps) {
return (
);
}
return (
}>
{
void telemetry.track({
event: "navigation:documentation-link-clicked",
framework: adapter,
});
}}
/>
}
tooltip="Connect Prismic MCP to your editor (like Cursor) for AI-powered coding."
onClick={() => {
void telemetry.track({
event: "sidebar:link-clicked",
link_name: "prismic_mcp",
source: "slice_machine_sidebar",
});
}}
/>
}>
}
/>
);
}