import React, { useState } from 'react'; import { useAuth } from '../contexts/AuthContext'; import { Monitor, Users, MessageSquare } from 'lucide-react'; import LoadingSpinner from '../components/Common/LoadingSpinner'; import toast from 'react-hot-toast'; const LoginPage: React.FC = () => { const [username, setUsername] = useState('admin'); const [password, setPassword] = useState(''); const [loading, setLoading] = useState(false); const { login } = useAuth(); const handleSubmit = async (e: React.FormEvent) => { e.preventDefault(); if (!username || !password) { toast.error('Please enter both username and password'); return; } setLoading(true); try { await login(username, password); toast.success('Login successful!'); } catch (error: any) { toast.error(error.message || 'Login failed'); } finally { setLoading(false); } }; return (
{/* Logo and Title */}

Discord Fishbowl

Admin Interface

{/* Features Preview */}

Character Management

Live Conversations

Real-time Analytics

{/* Login Form */}
setUsername(e.target.value)} className="w-full px-3 py-2 border border-gray-300 rounded-lg focus:outline-none focus:ring-2 focus:ring-primary-500 focus:border-primary-500" placeholder="Enter your username" disabled={loading} />
setPassword(e.target.value)} className="w-full px-3 py-2 border border-gray-300 rounded-lg focus:outline-none focus:ring-2 focus:ring-primary-500 focus:border-primary-500" placeholder="Enter your password" disabled={loading} />
{/* Demo credentials hint */}

Demo credentials:
Username: admin
Password: admin123

{/* Footer */}
Monitor and manage your autonomous AI character ecosystem
); }; export default LoginPage;