import React, { useState, useEffect } from 'react'; import { getCurrentUser } from '../api/users.ts'; const Settings = () => { const [activeTab, setActiveTab] = useState('profile'); const [currentUser, setCurrentUser] = useState(null); const [loading, setLoading] = useState(true); // Cargar información del usuario al montar el componente useEffect(() => { const loadUserData = async () => { try { const token = localStorage.getItem('access'); if (token) { const userData = await getCurrentUser(token); setCurrentUser(userData); } } catch (error) { console.error('Error al cargar datos del usuario:', error); } finally { setLoading(false); } }; loadUserData(); }, []); // Solo mostrar tabs permitidas si es importador const isImportador = typeof window !== 'undefined' && localStorage.getItem('user_is_importador') === 'true'; const tabs = [ { id: 'profile', name: 'Perfil', icon: 'user' }, { id: 'organization', name: 'Organización', icon: 'building' }, { id: 'security', name: 'Seguridad', icon: 'shield' }, { id: 'notifications', name: 'Notificaciones', icon: 'bell' } ].filter(tab => isImportador ? tab.id === 'profile' || tab.id === 'security' || tab.id === 'notifications' : true ); const getTabIcon = (iconType) => { const icons = { user: ( ), building: ( ), shield: ( ), bell: ( ) }; return icons[iconType]; }; const renderProfileTab = () => (
{currentUser?.username || 'Sin username'}
ID: {currentUser?.id || 'Sin ID'}
Gestiona la configuración relacionada con tu organización.
Las configuraciones de organización estarán disponibles pronto.
Recibir notificaciones importantes por correo electrónico
Notificar cuando se suban o actualicen documentos
Recibir actualizaciones del sistema y mantenimiento
Gestiona tu perfil, configuración de cuenta y preferencias.