import React, { useState } from 'react'; import { useAuth } from '../../context/AuthContext'; interface ProfileProps { onLogout?: () => void; onOpenVaultBrowser?: () => void; } export const Profile: React.FC = ({ onLogout, onOpenVaultBrowser }) => { const { session, updateSession, clearSession } = useAuth(); const [vaultPath, setVaultPath] = useState(session.obsidianVaultPath || ''); const [isEditingVault, setIsEditingVault] = useState(false); const handleVaultPathChange = (e: React.ChangeEvent) => { setVaultPath(e.target.value); }; const handleSaveVaultPath = () => { updateSession({ obsidianVaultPath: vaultPath }); setIsEditingVault(false); }; const handleCancelVaultEdit = () => { setVaultPath(session.obsidianVaultPath || ''); setIsEditingVault(false); }; const handleDisconnectVault = () => { setVaultPath(''); updateSession({ obsidianVaultPath: undefined, obsidianVaultName: undefined }); setIsEditingVault(false); console.log('🔧 Vault disconnected from profile'); }; const handleChangeVault = () => { if (onOpenVaultBrowser) { onOpenVaultBrowser(); } }; const handleLogout = () => { // Clear the session clearSession(); // Update the auth context updateSession({ username: '', authed: false, backupCreated: null, }); // Call the onLogout callback if provided if (onLogout) onLogout(); }; if (!session.authed || !session.username) { return null; } return (

CryptID: {session.username}

Obsidian Vault

{/* Current Vault Display */}
{session.obsidianVaultName ? (
Current Vault: {session.obsidianVaultName}
{session.obsidianVaultPath === 'folder-selected' ? 'Folder selected (path not available)' : session.obsidianVaultPath}
) : (
No Obsidian vault configured
)}
{/* Change Vault Button */}
{session.obsidianVaultPath && ( )}
{/* Advanced Settings (Collapsible) */}
Advanced Settings
{isEditingVault ? (
) : (
{session.obsidianVaultPath ? ( {session.obsidianVaultPath === 'folder-selected' ? 'Folder selected (path not available)' : session.obsidianVaultPath} ) : ( No vault configured )}
)}
{!session.backupCreated && (

Remember to back up your encryption keys to prevent data loss!

)}
); };