'use client';
import {
Code,
CodeBlock,
CodeHeader,
} from '@/components/animate-ui/components/animate/code';
import ReactIcon from '@/components/icons/react-icon';
import { File } from 'lucide-react';
interface CodeDemoProps {
duration: number;
delay: number;
writing: boolean;
cursor: boolean;
}
export const CodeDemo = ({
duration,
delay,
writing,
cursor,
}: CodeDemoProps) => {
return (
<Code
key={`${duration}-${delay}-${writing}-${cursor}`}
className="w-[420px] h-[372px]"
code={`'use client';
import * as React from 'react';
type MyComponentProps = {
myProps: string;
} & React.ComponentProps<'div'>;
function MyComponent(props: MyComponentProps) {
return (
<div {...props}>
<p>My Component</p>
</div>
);
}
export { MyComponent, type MyComponentProps };`}
>
<CodeHeader icon={ReactIcon} copyButton>
my-component.tsx
</CodeHeader>
<CodeBlock
cursor={cursor}
lang="tsx"
writing={writing}
duration={duration}
delay={delay}
/>
</Code>
);
};