"use client" import clsx from "clsx" import React from "react" import { Link } from "@/components/Link" import { Tooltip } from "@/components/Tooltip" import { ExclamationCircle, PlaySolid } from "@medusajs/icons" import { GITHUB_ISSUES_LINK } from "@/constants" import { CodeBlockCopyAction } from "./Copy" import { CodeBlockAskAiAction } from "./AskAi" export type CodeBlockActionsProps = { source: string isSingleLine?: boolean inHeader: boolean showGradientBg?: boolean inInnerCode?: boolean isCollapsed: boolean canShowApiTesting?: boolean onApiTesting?: React.Dispatch> noReport?: boolean noCopy?: boolean noAskAi?: boolean } export const CodeBlockActions = ({ source, inHeader, showGradientBg = true, inInnerCode = false, isCollapsed, isSingleLine = false, canShowApiTesting = false, onApiTesting, noReport = false, noCopy = false, noAskAi = false, }: CodeBlockActionsProps) => { const iconClassName = [ "text-medusa-contrast-fg-secondary", "group-hover:text-medusa-contrast-fg-primary", "group-focus:text-medusa-contrast-fg-primary", ] return (
{!inHeader && (
)}
{!noAskAi && ( )} {canShowApiTesting && ( onApiTesting?.(true)} > )} {!noReport && ( )} {!noCopy && }
) }