import React, { useEffect } from 'react'; import { BrowserRouter as Router, Routes, Route, Navigate, useNavigate, useLocation } from 'react-router-dom'; import { AlertTriangle } from 'lucide-react'; import LandingPage from './pages/LandingPage'; import LoginPage from './pages/LoginPage'; import RegisterPage from './pages/RegisterPage'; import Dashboard from './pages/Dashboard'; import './index.css'; // Wrapper component to handle auto-redirect for logged-in users const AuthRedirect = ({ children, redirectTo }) => { const navigate = useNavigate(); const location = useLocation(); useEffect(() => { const userData = localStorage.getItem('hilmanhost_user'); const isMaintenance = localStorage.getItem('hilmanhost_maintenance') === 'true'; if (userData) { try { const user = JSON.parse(userData); if (user && user.id && !user.banned) { // If maintenance is on and user is not admin, they should go to maintenance page if (isMaintenance && user.role !== 'admin' && location.pathname !== '/maintenance') { navigate('/maintenance', { replace: true }); return; } // User is logged in, redirect to dashboard if they are on landing/login/register if (location.pathname === '/' || location.pathname === '/login' || location.pathname === '/register') { navigate(redirectTo || '/dashboard', { replace: true }); } } } catch (e) { localStorage.removeItem('hilmanhost_user'); } } else if (isMaintenance && location.pathname !== '/maintenance' && location.pathname !== '/login') { // Not logged in and maintenance is on navigate('/maintenance', { replace: true }); } }, [location.pathname]); return children; }; function App() { // Track online status useEffect(() => { const userData = localStorage.getItem('hilmanhost_user'); if (userData) { try { const user = JSON.parse(userData); if (user?.id) { // Set online status localStorage.setItem(`hilmanhost_online_${user.id}`, Date.now().toString()); const heartbeat = setInterval(() => { localStorage.setItem(`hilmanhost_online_${user.id}`, Date.now().toString()); }, 10000); // Clean up on unload const onUnload = () => { localStorage.removeItem(`hilmanhost_online_${user.id}`); }; window.addEventListener('beforeunload', onUnload); return () => { clearInterval(heartbeat); window.removeEventListener('beforeunload', onUnload); }; } } catch (e) {} } }, []); return ( } /> } /> } /> } /> } /> } /> ); } const MaintenancePage = () => (

Sistem Bakımda 🛠️

Size daha iyi hizmet verebilmek için kısa süreli bir bakım çalışması yapıyoruz. Lütfen daha sonra tekrar deneyiniz.

© 2026 HilmanHost Infrastructure
); export default App;