import {
Button,
Stack,
Icon,
HStack,
Text,
ButtonGroup,
} from '@chakra-ui/react'
import {
SandpackCodeViewer,
SandpackThemeProvider,
useSandpack,
useSandpackTheme,
} from '@codesandbox/sandpack-react'
import { nightOwl } from '@codesandbox/sandpack-themes'
import * as React from 'react'
import { RiFileEditLine, RiFileTransferLine } from 'react-icons/ri'
import { formatFilePath, SandpackLanguageSupport } from './utils'
interface CodeBlockProps {
path: string
code: string
language: SandpackLanguageSupport
showLineNumbers?: boolean
}
const CodeBlock = ({ path, code, showLineNumbers = false }: CodeBlockProps) => {
const { theme } = useSandpackTheme()
const { sandpack } = useSandpack()
return (
{path && (
{formatFilePath(path)}
}
onClick={() => {
sandpack.openFile(path)
sandpack.updateFile(path, code)
}}
>
Copy to Sandbox
}
onClick={() => {
sandpack.openFile(path)
}}
>
Open File
)}
)
}
export const TutorialCodeBlock = (props: CodeBlockProps) => {
return (
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore - sandpack has not yet fully provided React 18 support
)
}