import React, { useState } from 'react'; import { Card } from '../../ui/card'; import { Button } from '../../ui/button'; import { Input } from '../../ui/input'; import { Lock, Key, Plus, AlertCircle } from 'lucide-react'; import { useToast } from '../../../context/ToastContext'; import { PasswordStrengthIndicator } from '../../auth/PasswordStrengthIndicator'; import { TwoFactorSetup } from './TwoFactorSetup'; import { PasskeyModal } from './PasskeyModal'; import { SessionManagement } from './SessionManagement'; import { LoginHistory } from './LoginHistory'; export const SecuritySettings: React.FC = () => { const { addToast } = useToast(); const [view, setView] = useState<'main' | '2fa' | 'sessions' | 'history'>('main'); // Forms & Modals const [currentPassword, setCurrentPassword] = useState(''); const [newPassword, setNewPassword] = useState(''); const [confirmPassword, setConfirmPassword] = useState(''); const [showPasskeyModal, setShowPasskeyModal] = useState(false); const [is2FAEnabled, setIs2FAEnabled] = useState(false); const handlePasswordUpdate = () => { if (newPassword !== confirmPassword) { addToast("Passwords do not match", "error"); return; } addToast("Password successfully updated", "success"); setCurrentPassword(''); setNewPassword(''); setConfirmPassword(''); }; if (view === '2fa') { return setView('main')} onComplete={() => { setIs2FAEnabled(true); setView('main'); }} />; } return (
{/* 1. PASSWORD CHANGE */}

Password & Authentication

setCurrentPassword(e.target.value)} />
setNewPassword(e.target.value)} /> {newPassword && }
setConfirmPassword(e.target.value)} />
{/* 2FA Summary */}

Two-Factor Authentication

Add an extra layer of security to your account.

{is2FAEnabled ? ( ENABLED ) : ( DISABLED )}
{/* Passkeys */}

Passkeys

Sign in with FaceID, TouchID, or device PIN.

MacBook Pro (Chrome) Added 2d ago
{/* 2. SESSIONS & HISTORY */} {/* MODALS */} {showPasskeyModal && ( setShowPasskeyModal(false)} onSuccess={() => addToast("Passkey registered", "success")} /> )}
); };