"use client"; import React from 'react'; import { Send, Sparkles, Code, MessageSquare, TestTube, RefreshCw, Lock, Search } from 'lucide-react'; import { ScrollArea } from '@/components/ui/scroll-area'; import { Button } from '@/components/ui/button'; import { Textarea } from '@/components/ui/textarea'; import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from '@/components/ui/select'; interface Message { id: string; role: 'user' | 'assistant'; content: string; code?: { language: string; code: string; }; } export function AIAssistant() { const [messages, setMessages] = React.useState([ { id: '1', role: 'assistant', content: 'Hello! I\'m your AeThex AI Assistant. I can help you with cross-platform development, Nexus Engine integration, Passport authentication, and more. How can I help you today?', }, ]); const [input, setInput] = React.useState(''); const [model, setModel] = React.useState('gemini-pro'); const scrollRef = React.useRef(null); const quickActions = [ { icon: , label: 'Explain Code', color: 'bg-blue-500/10 text-blue-400' }, { icon: , label: 'Add Comments', color: 'bg-purple-500/10 text-purple-400' }, { icon: , label: 'Generate Tests', color: 'bg-green-500/10 text-green-400' }, { icon: , label: 'Cross-Platform Convert', color: 'bg-cyan-500/10 text-cyan-400' }, { icon: , label: 'Add Nexus Sync', color: 'bg-orange-500/10 text-orange-400' }, { icon: , label: 'Setup Passport Auth', color: 'bg-pink-500/10 text-pink-400' }, ]; const prebuiltPrompts = [ "Set up cross-platform player movement", "Add Nexus Engine state sync for [variable]", "Create Passport login flow", "Generate GameForge anti-cheat rules", "Build multiplayer matchmaking system", ]; const sendMessage = () => { if (!input.trim()) return; const userMessage: Message = { id: Date.now().toString(), role: 'user', content: input, }; setMessages(prev => [...prev, userMessage]); setInput(''); // Simulate AI response setTimeout(() => { const aiMessage: Message = { id: (Date.now() + 1).toString(), role: 'assistant', content: 'I can help you with that! Here\'s a code example:', code: { language: 'typescript', code: `// Example cross-platform code\nexport class PlayerController {\n move(x: number, y: number) {\n // Update position\n nexusEngine.setState('playerX', x);\n nexusEngine.setState('playerY', y);\n }\n}`, }, }; setMessages(prev => [...prev, aiMessage]); }, 1000); }; React.useEffect(() => { if (scrollRef.current) { scrollRef.current.scrollTop = scrollRef.current.scrollHeight; } }, [messages]); return (
{/* Header */}
AI Assistant
{/* Quick Actions */}
{quickActions.map((action, i) => ( ))}
{/* Messages */}
{messages.map((message) => (

{message.content}

{message.code && (
{message.code.language}
{message.code.code}
)}
))}
{/* Prebuilt Prompts */}
{prebuiltPrompts.map((prompt, i) => ( ))}
{/* Input */}