import { useState } from "react"; import { Link, useLocation } from "wouter"; import { useAuth } from "@/lib/auth"; import { Users, FileCode, Shield, Activity, LogOut, BarChart3, User, Globe, Award, Key, Inbox, Bell, Mail, AlertTriangle, CheckCircle, Settings } from "lucide-react"; interface NotificationSetting { id: string; name: string; description: string; enabled: boolean; category: "security" | "users" | "system"; } const defaultSettings: NotificationSetting[] = [ { id: "failed_logins", name: "Failed Login Attempts", description: "Alert when multiple failed login attempts are detected", enabled: true, category: "security" }, { id: "new_user", name: "New User Registration", description: "Notify when a new architect joins the platform", enabled: true, category: "users" }, { id: "critical_alert", name: "Critical Security Alerts", description: "Immediate notification for high-severity security events", enabled: true, category: "security" }, { id: "verification", name: "Verification Requests", description: "Alert when an architect requests credential verification", enabled: false, category: "users" }, { id: "system_down", name: "System Downtime", description: "Notify when any AeThex service goes offline", enabled: true, category: "system" }, { id: "weekly_report", name: "Weekly Summary Report", description: "Receive a weekly digest of platform activity", enabled: false, category: "system" }, { id: "application", name: "New Applications", description: "Alert when new job applications are submitted", enabled: true, category: "users" }, { id: "threat_detected", name: "Threat Detection", description: "Real-time alerts from Aegis threat monitoring", enabled: true, category: "security" }, ]; export default function AdminNotifications() { const { user, logout } = useAuth(); const [, setLocation] = useLocation(); const [settings, setSettings] = useState(() => { if (typeof window !== "undefined") { const saved = localStorage.getItem("aethex_notification_settings"); if (saved) return JSON.parse(saved); } return defaultSettings; }); const [email, setEmail] = useState(() => { if (typeof window !== "undefined") { return localStorage.getItem("aethex_notification_email") || ""; } return ""; }); const [saved, setSaved] = useState(false); const toggleSetting = (id: string) => { setSettings((prev) => prev.map((s) => (s.id === id ? { ...s, enabled: !s.enabled } : s)) ); setSaved(false); }; const saveSettings = () => { localStorage.setItem("aethex_notification_settings", JSON.stringify(settings)); localStorage.setItem("aethex_notification_email", email); setSaved(true); setTimeout(() => setSaved(false), 3000); }; const handleLogout = async () => { await logout(); setLocation("/"); }; const groupedSettings = { security: settings.filter((s) => s.category === "security"), users: settings.filter((s) => s.category === "users"), system: settings.filter((s) => s.category === "system"), }; return (

Notification Settings

Configure email alerts for critical system events

Email Configuration

{ setEmail(e.target.value); setSaved(false); }} placeholder="admin@example.com" className="w-full max-w-md bg-black/20 border border-white/10 px-4 py-3 text-white placeholder:text-muted-foreground focus:outline-none focus:border-primary/50" data-testid="input-notification-email" />

Security Alerts

{groupedSettings.security.map((setting) => ( ))}

User Activity

{groupedSettings.users.map((setting) => ( ))}

System Notifications

{groupedSettings.system.map((setting) => ( ))}
{saved && ( Settings saved )}
); } function SettingRow({ setting, onToggle }: { setting: NotificationSetting; onToggle: (id: string) => void }) { return (
{setting.name}
{setting.description}
); } function Sidebar({ user, onLogout, active }: { user: any; onLogout: () => void; active: string }) { return (

AeThex

Command Center

{user?.username}
{user?.isAdmin ? "Administrator" : "Member"}
); } function NavItem({ icon, label, href, active = false }: { icon: React.ReactNode; label: string; href: string; active?: boolean }) { return (
{icon} {label}
); }