import React, { useState, useEffect } from 'react'; import { Terminal, Cpu, Database, Layout, ShieldCheck, Activity, Brain } from 'lucide-react'; const App = () => { const [status, setStatus] = useState({ online: false, cpu: 0, ram: 0 }); const [plugins, setPlugins] = useState([]); const [loading, setLoading] = useState(true); const [error, setError] = useState(null); // Köprü adresi (aaPanel üzerindeki Python adresi) const BRIDGE_URL = "http://159.146.103.236:5000"; const checkConnection = async () => { try { setLoading(true); // 1. Durum Kontrolü const statusRes = await fetch(`${BRIDGE_URL}/api/status`); const statusData = await statusRes.json(); setStatus({ online: true, cpu: statusData.cpu, ram: statusData.ram }); // 2. Plugin Taraması const pluginRes = await fetch(`${BRIDGE_URL}/api/plugins/list`); const pluginData = await pluginRes.json(); if (pluginData.success) { setPlugins(pluginData.plugins); } setError(null); } catch (err) { setError("Köprüye bağlanılamadı. Python Manager çalışıyor mu?"); setStatus({ online: false, cpu: 0, ram: 0 }); } finally { setLoading(false); } }; useEffect(() => { checkConnection(); const interval = setInterval(checkConnection, 10000); return () => clearInterval(interval); }, []); return (
{/* Header */}

Kanka-Pro AI

Otonom Yönetim Sistemi

{status.online ? "BAĞLANTI AKTİF" : "BAĞLANTI KESİLDİ"}
{error && (
{error}
)}
{/* Stats */}

İşlemci Yükü

{status.cpu}%

Bellek Kullanımı

{status.ram}%

{/* AI Insights Area */}

AI Yönetici Raporu

{plugins.length > 0 ? `Kanka, sunucunda şu an ${plugins.length} adet plugin tespit ettim. Hepsi çalışır durumda görünüyor. İstersen config dosyalarını tarayıp optimize edebilirim.` : "Sunucuya bağlandım ama henüz plugin listesini alamadım. Dosya yolunu (server_path) bridge.py içinde doğru ayarladığından emin ol kanka."}

{/* Plugin List Panel */}

Tespit Edilenler

{plugins.length} ADET
{plugins.length > 0 ? plugins.map((plugin, idx) => (
{idx + 1}
{plugin}
)) : (
Henüz bir plugin bulunamadı.
)}
); }; export default App;