import { Check, Loader2, Settings2, X } from 'lucide-react' import { PropsWithChildren, useState } from 'react' import { useDarkModeContext } from "../../../contexts/DarkModeContext" import { t } from '../../../lang/helpers' import { ApplyStatus, ToolArgs } from "../../../types/apply" import { MemoizedSyntaxHighlighterWrapper } from "./SyntaxHighlighterWrapper" export default function MarkdownSwitchModeBlock({ mode, applyStatus, onApply, reason, finish, }: PropsWithChildren<{ mode: string applyStatus: ApplyStatus onApply: (args: ToolArgs) => void reason: string finish: boolean }>) { const [applying, setApplying] = useState(false) const { isDarkMode } = useDarkModeContext() const handleApply = async () => { if (applyStatus !== ApplyStatus.Idle) { return } setApplying(true) onApply({ type: 'switch_mode', mode: mode, reason: reason, finish: finish, }) } return (
{t('chat.reactMarkdown.switchToMode').replace('{mode}', mode.charAt(0).toUpperCase() + mode.slice(1))}
{reason}
) }