import { useState } from "react"; import { Card, CardContent, CardDescription, CardHeader, CardTitle, } from "@/shared/common/ui/card"; import { Tabs, TabsContent, TabsList, TabsTrigger, } from "@/shared/common/ui/tabs"; import { Input } from "@/shared/common/ui/input"; import { Button } from "@/shared/common/ui/button"; import { Shield, Save, Trash2, Plus, Edit2 } from "lucide-react"; import { Dialog, DialogContent, DialogHeader, DialogTitle, DialogTrigger, } from "@/shared/common/ui/dialog"; import PasswordSettingsForm from "@/super-admin/components/settings/PasswordSettingsForm"; import { usePasswordSettingsQuery, usePasswordSettingsMutations } from "@/super-admin/hooks/usePasswordSettings"; import { AlertDialog, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogHeader, AlertDialogTitle, } from "@/shared/common/ui/alert-dialog"; import { toast } from "sonner"; export default function SettingsPage() { const [createDialogOpen, setCreateDialogOpen] = useState(false); const [editDialogOpen, setEditDialogOpen] = useState(false); const [deleteDialogOpen, setDeleteDialogOpen] = useState(false); const { data: passwordSettings, refetch: refetchPasswordSettings } = usePasswordSettingsQuery(); const { delete: deleteMutation } = usePasswordSettingsMutations(); const handleDeletePasswordSettings = async () => { if (!passwordSettings?.id) { toast.error("No password settings to delete"); return; } try { console.log("Attempting to delete password settings with ID:", passwordSettings.id); await deleteMutation.mutateAsync(passwordSettings.id); console.log("Delete successful, closing dialog"); setDeleteDialogOpen(false); } catch (error) { console.error("Delete error:", error); toast.error("Failed to delete password settings"); } }; const handleEditPasswordSettings = () => { if (passwordSettings?.id) { setEditDialogOpen(true); } }; const handleCreateSuccess = () => { setCreateDialogOpen(false); refetchPasswordSettings(); }; const handleEditSuccess = () => { setEditDialogOpen(false); refetchPasswordSettings(); }; return (
System Settings Configure system-wide settings for your organization {/* Only Security Tab */} {/* Security Settings */}

Password Settings

{!passwordSettings ? (

No password settings configured yet

Create Password Settings
) : (
Setting Value Actions
Minimum Password Length {passwordSettings.minimumPasswordLength}
Update Password Settings
Maximum Password Length {passwordSettings.maximumPasswordLength}
Password Expiry (Days) {passwordSettings.passwordExpiry}
Session Timeout (Minutes) {passwordSettings.sessionTimeout}
Default Password Enabled {passwordSettings.isDefaultPasswordEnabled ? "Yes" : "No"}
)}
{/* Delete Confirmation Dialog */} Delete Password Settings Are you sure you want to delete the password settings? This action cannot be undone.
Cancel
); }