// src/components/code-playground/CodeEditor.tsx import React, { useState } from 'react'; import { Card, CardHeader, CardContent, CardTitle } from '@/components/ui/card'; import { Play, Trash2 } from 'lucide-react'; import OutputDisplay from './OutputDisplay'; const CodeEditor = () => { const [code, setCode] = useState(''); const [output, setOutput] = useState(''); const [error, setError] = useState(''); const [isRunning, setIsRunning] = useState(false); const handleRunCode = async () => { if (!code.trim()) return; setIsRunning(true); setError(''); setOutput(''); try { const response = await fetch('/api/execute-code', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ code }) }); const data = await response.json(); if (data.error) { setError(data.error); } else { setOutput(data.output); } } catch (err) { setError('Failed to execute code. Please try again.'); } finally { setIsRunning(false); } }; const handleClear = () => { setCode(''); setOutput(''); setError(''); }; return ( Python Code Playground