'use client'; import { motion } from 'framer-motion'; import { useState } from 'react'; import { Sparkles, FileCode, Save, MessageSquare } from 'lucide-react'; export default function GeneratePage() { const [featureDesc, setFeatureDesc] = useState(''); const [framework, setFramework] = useState('Auto-detect'); const [includeTests, setIncludeTests] = useState(true); const [includeDocs, setIncludeDocs] = useState(true); const [isGenerating, setIsGenerating] = useState(false); const [result, setResult] = useState(null); const examples = [ 'Create a user authentication system with JWT tokens', 'Build a REST API endpoint for file uploads', 'Add a caching layer with Redis', 'Generate unit tests for the auth module', ]; const handleGenerate = async (e: React.FormEvent) => { e.preventDefault(); if (!featureDesc.trim()) return; setIsGenerating(true); try { const response = await fetch('http://localhost:8000/api/chat', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ message: `Generate a complete implementation for: ${featureDesc}. Framework: ${framework}. Include tests: ${includeTests}. Include docs: ${includeDocs}.`, }), }); const data = await response.json(); setResult(data.answer || data.response || 'No response received'); } catch (error) { console.error('Generation failed:', error); setResult('Error connecting to backend'); } finally { setIsGenerating(false); } }; return (
{/* Header */}

Generate Mode

Create complete features from descriptions

{/* Examples */}
{examples.map((example) => ( setFeatureDesc(example)} className="px-3 py-1.5 bg-slate-800 rounded-lg text-sm text-slate-300 hover:bg-slate-700 transition-colors" > {example.slice(0, 40)}... ))}
{/* Form */}