import { lazy, Suspense } from "react" import { BrowserRouter, Routes, Route } from "react-router-dom" import { SiteProvider } from "@/context/SiteContext" import { AuthProvider, useAuth } from "@/context/AuthContext" import { Toaster } from "@/components/ui/sonner" import MainLayout from "@/layouts/MainLayout" import LandingPage from "@/pages/LandingPage" import AdminLogin from "@/pages/AdminLogin" // Lazy-load admin routes — tidak perlu di-load visitor landing page const AdminLayout = lazy(() => import("@/layouts/AdminLayout")) const AdminDashboard = lazy(() => import("@/pages/AdminDashboard")) const HeroForm = lazy(() => import("@/pages/HeroForm")) const PackageManager = lazy(() => import("@/pages/PackageForm")) const BenefitsForm = lazy(() => import("@/pages/BenefitsForm")) const AboutForm = lazy(() => import("@/pages/AboutForm")) const ContactForm = lazy(() => import("@/pages/ContactForm")) const SocialForm = lazy(() => import("@/pages/SocialForm")) const GalleryForm = lazy(() => import("@/pages/GalleryForm")) const PromoForm = lazy(() => import("@/pages/PromoForm")) const UserManager = lazy(() => import("@/pages/UserManager")) function AdminFallback() { return (

Memuat panel admin...

) } function AdminGate() { const { user, loading } = useAuth() if (loading) return if (!user) return return ( }> ) } export default function App() { return ( }> } /> }> }> } /> }> } /> }> } /> }> } /> }> } /> }> } /> }> } /> }> } /> }> } /> }> } /> ) }