This commit is contained in:
2026-02-13 14:02:21 +05:00
parent 0bf6dd74ca
commit 59f5ac5741
9 changed files with 303 additions and 53 deletions

View File

@@ -15,56 +15,77 @@ async function loadUserProfile() {
if (data.user) {
const userInfo = document.getElementById('user-profile-info');
userInfo.innerHTML = `
<div class="profile-card">
<div class="profile-field">
<i class="fas fa-user"></i>
<div>
<strong>Имя:</strong>
<p>${data.user.name}</p>
<div class="profile-modern">
<!-- Шапка профиля с аватаром -->
<div class="profile-header">
<div class="profile-avatar">
<i class="fas fa-user-circle"></i>
</div>
<div class="profile-title">
<h3>${data.user.name}</h3>
<span class="profile-badge ${data.user.role}">
${data.user.role === 'admin' ? 'Администратор' : 'Сотрудник'}
</span>
</div>
</div>
<div class="profile-field">
<i class="fas fa-at"></i>
<div>
<strong>Логин:</strong>
<p>${data.user.login}</p>
</div>
</div>
<div class="profile-field">
<i class="fas fa-envelope"></i>
<div>
<strong>Email:</strong>
<p>${data.user.email || 'Не указан'}</p>
</div>
</div>
<div class="profile-field">
<i class="fas fa-user-tag"></i>
<div>
<strong>Роль:</strong>
<p>${data.user.role === 'admin' ? 'Администратор' : 'Учитель'}</p>
</div>
</div>
<div class="profile-field">
<i class="fas fa-key"></i>
<div>
<strong>Тип авторизации:</strong>
<p>${data.user.auth_type === 'ldap' ? 'LDAP' : 'Локальная'}</p>
</div>
</div>
${data.user.groups && data.user.groups.length > 0 ? `
<div class="profile-field">
<i class="fas fa-users"></i>
<div>
<strong>Группы:</strong>
<p>${Array.isArray(data.user.groups) ? data.user.groups.join(', ') : data.user.groups}</p>
<!-- Сетка с информацией -->
<div class="profile-grid">
<div class="profile-info-card">
<div class="info-icon">
<i class="fas fa-at"></i>
</div>
<div class="info-content">
<span class="info-label">Логин</span>
<span class="info-value">${data.user.login}</span>
</div>
</div>
` : ''}
<div class="profile-info-card">
<div class="info-icon">
<i class="fas fa-shield-alt"></i>
</div>
<div class="info-content">
<span class="info-label">Тип авторизации</span>
<span class="info-value">
${data.user.auth_type === 'ldap' ?
'<span class="badge-ldap"><i class="fas fa-building"></i> LDAP</span>' :
'<span class="badge-local"><i class="fas fa-database"></i> Локальная</span>'}
</span>
</div>
</div>
${data.user.groups && data.user.groups.length > 0 ? `
<div class="profile-info-card groups-card">
<div class="info-icon">
<i class="fas fa-users"></i>
</div>
<div class="info-content">
<span class="info-label">Группы доступа</span>
<div class="groups-list">
${Array.isArray(data.user.groups) ?
data.user.groups.map(group =>
`<span class="group-tag">${group}</span>`
).join('') :
`<span class="group-tag">${data.user.groups}</span>`
}
</div>
</div>
</div>
` : ''}
</div>
</div>
`;
}
} catch (error) {
console.error('Ошибка загрузки профиля:', error);
const userInfo = document.getElementById('user-profile-info');
if (userInfo) {
userInfo.innerHTML = `
<div class="profile-error">
<i class="fas fa-exclamation-circle"></i>
<p>Ошибка загрузки профиля</p>
</div>
`;
}
}
}