import { Card, CardContent, CardDescription, CardHeader, CardTitle } from "@/components/ui/card"; import { Switch } from "@/components/ui/switch"; import { Badge } from "@/components/ui/badge"; import { useMaintenance } from "@/contexts/MaintenanceContext"; import { Construction, AlertTriangle, Loader2 } from "lucide-react"; import { useState } from "react"; import { aethexToast } from "@/lib/aethex-toast"; export default function MaintenanceToggle() { const { isMaintenanceMode, canBypass, toggleMaintenanceMode, loading } = useMaintenance(); const [toggling, setToggling] = useState(false); const handleToggle = async () => { if (!canBypass) { aethexToast.error("Only admins can toggle maintenance mode"); return; } setToggling(true); try { await toggleMaintenanceMode(); aethexToast.success( isMaintenanceMode ? "Maintenance mode disabled - site is now live" : "Maintenance mode enabled - visitors will see maintenance page" ); } catch (error: any) { aethexToast.error(error?.message || "Failed to toggle maintenance mode"); } finally { setToggling(false); } }; if (loading) { return ( ); } return ( {isMaintenanceMode ? ( ) : ( )} Maintenance Mode {isMaintenanceMode ? "Site is currently in maintenance mode" : "Site is live and accessible"} {isMaintenanceMode ? "Active" : "Off"} {isMaintenanceMode && ( )} {isMaintenanceMode ? "Visitors see maintenance page" : "All visitors can access the site"} {isMaintenanceMode ? "Only admins can view the site. Toggle off to go live." : "Toggle on to show maintenance page to visitors."} {toggling && } ); }
{isMaintenanceMode ? "Visitors see maintenance page" : "All visitors can access the site"}
{isMaintenanceMode ? "Only admins can view the site. Toggle off to go live." : "Toggle on to show maintenance page to visitors."}