import React, {useCallback} from "react"; import {Tabs, Tab} from "@nextui-org/react"; import {SandpackPredefinedTemplate} from "@codesandbox/sandpack-react"; import {TypescriptIcon, JavascriptIcon} from "@/components/icons"; import {trackEvent} from "@/utils/va"; interface Props { template: SandpackPredefinedTemplate; onChange?: (template: SandpackPredefinedTemplate) => void; } export type LanguageSelectorProps = Props; export const LanguageSelector: React.FC = ({template, onChange}) => { const [selectedTemplate, setSelectedTemplate] = React.useState(template); const handleToggle = useCallback(() => { const newTemplate = template === "vite-react" ? "vite-react-ts" : "vite-react"; setSelectedTemplate(newTemplate); setTimeout(() => { trackEvent("LanguageSelector - Selection", { name: "template", action: "tabChange", category: "docs", data: newTemplate ?? "", }); onChange?.(newTemplate); }, 250); }, [template, onChange]); return ( } /> } /> ); };