import { useState, useEffect } from 'react' import { BrowserRouter, Routes, Route, Navigate, useSearchParams, useNavigate } from 'react-router-dom' import { UserProvider } from './context/UserContext' import Dashboard from './pages/Dashboard' import ServerDetail from './pages/ServerDetail' // OAuth Callback Handler function AuthCallback({ onLogin }) { const [searchParams] = useSearchParams() const navigate = useNavigate() const [error, setError] = useState(null) useEffect(() => { const token = searchParams.get('token') const errorParam = searchParams.get('error') if (errorParam) { const errorMessages = { 'discord_denied': 'Discord-Anmeldung abgebrochen', 'no_code': 'Kein Autorisierungscode erhalten', 'not_in_guild': 'Du bist nicht Mitglied des Discord-Servers', 'oauth_failed': 'Anmeldung fehlgeschlagen' } setError(errorMessages[errorParam] || 'Unbekannter Fehler') setTimeout(() => navigate('/'), 3000) return } if (token) { onLogin(token) navigate('/') } else { navigate('/') } }, [searchParams, onLogin, navigate]) if (error) { return (
Melde dich mit Discord an, um fortzufahren
{error && (Nur für Mitglieder des Discord-Servers