<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>AI Assistant</title>
    <script src="https://cdn.tailwindcss.com"></script>
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.3/css/all.min.css">
    <link href="https://fonts.googleapis.com/css2?family=Roboto:wght@400;500;700&display=swap" rel="stylesheet">
    <script>
        tailwind.config = {
            theme: {
                extend: {
                    fontFamily: {
                        'roboto': ['Roboto', 'sans-serif'],
                    }
                }
            }
        }
    </script>
</head>
<body class="font-roboto bg-gray-100">
    <div class="container mx-auto p-4">
        <!-- Top Navigation -->
        <div class="bg-white p-4 rounded-lg shadow-md mb-4 flex justify-between items-center">
            <h1 class="text-2xl font-bold">AI Assistant</h1>
            <div class="space-x-4">
                                    <a href="/login.php" class="bg-blue-500 text-white px-4 py-2 rounded hover:bg-blue-600">Login</a>
                    <a href="/register.php" class="bg-green-500 text-white px-4 py-2 rounded hover:bg-green-600">Register</a>
                            </div>
        </div>

        <!-- Main Content Area -->
        <div class="grid grid-cols-1 md:grid-cols-2 gap-4">
            <!-- Project Panel -->
            <div class="bg-white p-6 rounded-lg shadow-md">
                <h2 class="text-2xl font-bold mb-4">Current Project</h2>
                                    <p class="text-gray-600">No project selected. Please create or select a project to begin.</p>
                    <button onclick="window.location.href='/project/create.php'" class="mt-4 bg-blue-500 text-white px-4 py-2 rounded hover:bg-blue-600">
                        Create New Project
                    </button>
                            </div>

            <!-- Assistant Chat -->
            <div class="bg-white p-6 rounded-lg shadow-md flex flex-col h-[500px]">
                <h2 class="text-2xl font-bold mb-4">Assistant Chat</h2>
                <div id="chat-messages" class="flex-1 overflow-y-auto mb-4 space-y-4">
                    <!-- Messages will be dynamically added here -->
                </div>
                <div class="flex items-center space-x-2">
                    <input type="text" id="message-input" class="flex-1 border rounded px-4 py-2" placeholder="Type your message...">
                    <button onclick="sendMessage()" class="bg-blue-500 text-white px-6 py-2 rounded hover:bg-blue-600">
                        <i class="fas fa-paper-plane"></i>
                    </button>
                </div>
            </div>
        </div>

        <!-- File Operations Panel -->
        <div class="mt-4 bg-white p-6 rounded-lg shadow-md">
            <h2 class="text-2xl font-bold mb-4">File Operations</h2>
            <div class="grid grid-cols-1 md:grid-cols-2 gap-4">
                <div>
                    <h3 class="font-bold mb-2">Upload File</h3>
                    <form action="/api/upload.php" method="post" enctype="multipart/form-data" class="space-y-2">
                        <input type="file" name="file" class="border rounded p-2 w-full">
                        <button type="submit" class="bg-blue-500 text-white px-4 py-2 rounded hover:bg-blue-600">
                            Upload
                        </button>
                    </form>
                </div>
                <div>
                    <h3 class="font-bold mb-2">Search Files</h3>
                    <div class="space-y-2">
                        <input type="text" id="search-pattern" class="border rounded px-4 py-2 w-full" placeholder="Enter search pattern...">
                        <button onclick="searchFiles()" class="bg-blue-500 text-white px-4 py-2 rounded hover:bg-blue-600">
                            Search
                        </button>
                    </div>
                    <div id="search-results" class="mt-4">
                        <!-- Search results will be displayed here -->
                    </div>
                </div>
            </div>
        </div>
    </div>

    <script>
        // Chat functionality
        function sendMessage() {
            const input = document.getElementById('message-input');
            const message = input.value.trim();
            if (!message) return;

            // Add user message to chat
            addMessageToChat('user', message);
            input.value = '';

            // Send to backend
            fetch('/api/chat.php', {
                method: 'POST',
                headers: {
                    'Content-Type': 'application/json',
                },
                body: JSON.stringify({ message })
            })
            .then(response => response.json())
            .then(data => {
                if (data.success) {
                    addMessageToChat('assistant', data.response.content);
                } else {
                    addMessageToChat('system', 'Error: ' + data.error);
                }
            })
            .catch(error => {
                addMessageToChat('system', 'Error: ' + error.message);
            });
        }

        function addMessageToChat(role, content) {
            const messages = document.getElementById('chat-messages');
            const messageDiv = document.createElement('div');
            messageDiv.className = role === 'user' ? 
                'bg-blue-100 p-3 rounded-lg ml-auto max-w-[80%]' :
                'bg-gray-100 p-3 rounded-lg max-w-[80%]';
            messageDiv.textContent = content;
            messages.appendChild(messageDiv);
            messages.scrollTop = messages.scrollHeight;
        }

        // File search functionality
        function searchFiles() {
            const pattern = document.getElementById('search-pattern').value.trim();
            if (!pattern) return;

            fetch('/api/search.php', {
                method: 'POST',
                headers: {
                    'Content-Type': 'application/json',
                },
                body: JSON.stringify({ pattern })
            })
            .then(response => response.json())
            .then(data => {
                const resultsDiv = document.getElementById('search-results');
                resultsDiv.innerHTML = '';

                if (data.success && data.results.length > 0) {
                    data.results.forEach(result => {
                        const resultItem = document.createElement('div');
                        resultItem.className = 'p-2 border-b';
                        resultItem.innerHTML = `
                            <div class="font-bold">${result.file}</div>
                            <div class="text-sm text-gray-600">${result.matches[0]}</div>
                        `;
                        resultsDiv.appendChild(resultItem);
                    });
                } else {
                    resultsDiv.innerHTML = '<p class="text-gray-600">No results found</p>';
                }
            })
            .catch(error => {
                const resultsDiv = document.getElementById('search-results');
                resultsDiv.innerHTML = `<p class="text-red-500">Error: ${error.message}</p>`;
            });
        }

        // Handle Enter key in message input
        document.getElementById('message-input').addEventListener('keypress', function(e) {
            if (e.key === 'Enter') {
                sendMessage();
            }
        });

        // Handle Enter key in search input
        document.getElementById('search-pattern').addEventListener('keypress', function(e) {
            if (e.key === 'Enter') {
                searchFiles();
            }
        });
    </script>
</body>
</html>
