Add Personal account

This commit is contained in:
2026-01-14 21:54:24 +06:00
parent db2eddca4b
commit 011996d78d
7 changed files with 1125 additions and 4 deletions

View File

@@ -0,0 +1,183 @@
# ✅ Личный кабинет готов!
## 🎉 Что добавлено
### Кнопка "Личный кабинет"
Расположена в header рядом с кнопкой "Тикеты". Доступна всем пользователям.
### Три вкладки
#### 1. 📊 Обзор
**Информация о пользователе:**
- Имя пользователя
- Роль с цветным бейджем
- Аватар
**Статистика:**
- 🖥️ **Серверы**: всего, мои, доступные
- 🎫 **Тикеты**: всего, на рассмотрении, в работе, закрыто
- 🛡️ **Роль**: название и описание прав
**Список серверов:**
- Все серверы пользователя
- Название и ID
- Красивые карточки
#### 2. 👤 Имя пользователя
**Возможности:**
- Просмотр текущего имени
- Ввод нового имени (минимум 3 символа)
- Подтверждение паролем
- Автоматический перелогин
**Что обновляется:**
- Владельцы серверов
- Доступы к серверам
- JWT токен
#### 3. 🔒 Пароль
**Возможности:**
- Ввод текущего пароля
- Ввод нового пароля (минимум 6 символов)
- Подтверждение нового пароля
- Показ/скрытие паролей (иконка глаза)
**Безопасность:**
- Проверка текущего пароля
- Проверка совпадения новых паролей
- Хеширование (bcrypt)
## 🚀 Как использовать
### Открыть личный кабинет
1. Войдите в панель
2. Нажмите кнопку "Личный кабинет" в header
3. Откроется страница с вкладками
### Посмотреть статистику
1. Откройте вкладку "Обзор"
2. Посмотрите информацию о профиле
3. Посмотрите статистику
4. Посмотрите список серверов
### Изменить имя пользователя
1. Откройте вкладку "Имя пользователя"
2. Введите новое имя (минимум 3 символа)
3. Введите текущий пароль
4. Нажмите "Изменить имя пользователя"
5. Вы будете автоматически перелогинены
⚠️ **Важно**: После изменения имени обновятся все серверы и доступы.
### Изменить пароль
1. Откройте вкладку "Пароль"
2. Введите текущий пароль
3. Введите новый пароль (минимум 6 символов)
4. Подтвердите новый пароль
5. Нажмите "Изменить пароль"
⚠️ **Важно**: После изменения пароля используйте новый пароль для входа.
## 🎨 Дизайн
### Современный интерфейс
- Вкладки с плавными переходами
- Цветные карточки статистики
- Иконки для каждого раздела
- Адаптивный дизайн
### Формы
- Валидация полей
- Показ/скрытие паролей
- Предупреждения
- Индикация загрузки
### Цветовые схемы
- Работает со всеми 5 темами
- Градиентный логотип
- Цветные бейджи ролей
## 📋 API Endpoints
### PUT /api/profile/username
Изменить имя пользователя
```bash
curl -X PUT http://localhost:8000/api/profile/username \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"new_username": "NewUsername",
"password": "current_password"
}'
```
### PUT /api/profile/password
Изменить пароль
```bash
curl -X PUT http://localhost:8000/api/profile/password \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"old_password": "old_password",
"new_password": "new_password"
}'
```
### GET /api/profile/stats
Получить статистику профиля
```bash
curl -X GET http://localhost:8000/api/profile/stats \
-H "Authorization: Bearer YOUR_TOKEN"
```
## 🔐 Безопасность
### Изменение имени
1. ✅ Проверка пароля
2. ✅ Проверка уникальности
3. ✅ Обновление владельцев серверов
4. ✅ Обновление доступов
5. ✅ Новый JWT токен
### Изменение пароля
1. ✅ Проверка текущего пароля
2. ✅ Проверка длины (минимум 6 символов)
3. ✅ Хеширование (bcrypt)
## ✅ Готово!
Личный кабинет полностью интегрирован в MC Panel. Все пользователи могут:
- 📊 Просматривать статистику
- 👤 Изменять имя пользователя
- 🔒 Изменять пароль
- 🖥️ Видеть свои серверы
- 🎫 Видеть статистику по тикетам
### Тестирование
1. **Войдите в панель**
- Логин: Sofa12345
- Пароль: arkonsad123
2. **Откройте личный кабинет**
- Нажмите кнопку "Личный кабинет"
3. **Посмотрите статистику**
- Вкладка "Обзор"
4. **Измените имя (опционально)**
- Вкладка "Имя пользователя"
- Введите новое имя и пароль
5. **Измените пароль (опционально)**
- Вкладка "Пароль"
- Введите старый и новый пароли
## 🎯 Что дальше?
Система личного кабинета готова к использованию. Теперь пользователи могут полностью управлять своим профилем!
**Наслаждайтесь! 🚀**