+ Наведен порядок в файлах проекта + Наведен порядок в документации + Настроены скрипты установки, развертки и так далее, расширен MakeFile
4.5 KiB
4.5 KiB
Тестирование функциональности Cover Overlay
Функциональность Cover Overlay
Мы добавили новую функциональность для перекрытия обложки пользователя цветным слоем с настраиваемой прозрачностью.
Backend изменения
-
Модель DesignSettings (
customization/models.py):cover_overlay_enabled- Boolean поле для включения/отключенияcover_overlay_color- Hex цвет перекрытия (например #000000)cover_overlay_opacity- Float значение прозрачности от 0.0 до 1.0
-
Сериализатор (
customization/serializers.py):- Валидация hex цвета
- Валидация диапазона прозрачности
-
API (
api/views.py):- Поддержка новых полей в публичном API
Frontend изменения
-
Интерфейсы TypeScript:
- Обновлены
DesignSettingsинтерфейсы вDashboardClient.tsx - Обновлены
PublicDesignSettingsв[username]/page.tsx - Обновлены интерфейсы в
CustomizationPanel.tsx
- Обновлены
-
Панель кастомизации (
CustomizationPanel.tsx):- Checkbox для включения/отключения overlay
- Color picker для выбора цвета
- Range slider для настройки прозрачности
- Live preview перекрытия
-
Публичная страница (
[username]/page.tsx):- Отображение cover overlay поверх обложки пользователя
Как протестировать
1. Доступ к панели администрирования
http://localhost:3000/auth/login
2. Настройка Cover Overlay
- Войдите в систему
- Перейдите в Dashboard
- Откройте панель кастомизации (кнопка настроек)
- Найдите секцию "Перекрытие обложки"
- Включите checkbox "Включить цветовое перекрытие обложки"
- Выберите цвет (по умолчанию черный #000000)
- Настройте прозрачность ползунком (по умолчанию 30%)
- Проверьте preview внизу секции
- Сохраните настройки
3. Проверка на публичной странице
- Убедитесь что у пользователя загружена обложка (cover image)
- Перейдите на публичную страницу:
http://localhost:3000/[username] - Если cover overlay включен, вы увидите цветное перекрытие поверх обложки
API Endpoints
Получение настроек дизайна (приватное)
GET http://localhost:8000/api/customization/settings/
Authorization: Bearer <token>
Обновление настроек дизайна
PUT http://localhost:8000/api/customization/settings/
Authorization: Bearer <token>
Content-Type: application/json
{
"cover_overlay_enabled": true,
"cover_overlay_color": "#FF5733",
"cover_overlay_opacity": 0.5
}
Публичное API для страницы пользователя
GET http://localhost:8000/api/public/[username]/
Ответ включает поля:
{
"design_settings": {
"cover_overlay_enabled": true,
"cover_overlay_color": "#FF5733",
"cover_overlay_opacity": 0.5
}
}
Возможные проблемы
- Overlay не отображается: Проверьте что
cover_overlay_enabledtrue в API - Неправильный цвет: Убедитесь что цвет в hex формате (#RRGGBB)
- Overlay слишком яркий/темный: Настройте opacity (от 0.0 до 1.0)
Технические детали
- Cover overlay реализован как абсолютно позиционированный div поверх изображения
- CSS pointer-events: none предотвращает блокировку кликов
- Используется rgba() с opacity для плавности переходов
- Preview в админке показывает шахматный фон для демонстрации прозрачности