63 Commits

Author SHA1 Message Date
ec97bc186d dark theme
Some checks failed
continuous-integration/drone/push Build is failing
2025-11-11 17:37:10 +09:00
3fb1d5cc86 Merge pull request 'feature/premium-system' (#2) from feature/premium-system into master
Some checks failed
continuous-integration/drone/push Build is failing
Reviewed-on: #2
2025-11-10 23:29:25 +00:00
738113a927 Merge branch 'master' of ssh://git.smartsoltech.kr:2222/trevor/links into feature/premium-system
Some checks failed
continuous-integration/drone/pr Build is failing
2025-11-11 08:27:44 +09:00
271f303757 localization, dark theme 2025-11-11 08:26:25 +09:00
68bbef35ee localization && navbar fix 2025-11-09 22:15:48 +09:00
d638b062a9 Merge pull request 'feat: улучшена навигационная панель с полной интеграцией темы и локализации' (#1) from feature/premium-system into master
Some checks failed
continuous-integration/drone/push Build is failing
Reviewed-on: #1
2025-11-09 06:47:17 +00:00
a963281be0 feat: улучшена навигационная панель с полной интеграцией темы и локализации
Some checks failed
continuous-integration/drone/pr Build is failing
- Обновлен LayoutWrapper с улучшенным UI навигации
- Добавлен dropdown меню пользователя с аватаром
- Интегрированы ThemeToggle и LanguageSelector в навигацию
- Переключатели темы и языка теперь всегда видны
- Добавлены флаги стран в селектор языков
- Создана страница редактирования профиля /profile
- Улучшены стили для темной темы в navbar
- Добавлены CSS стили для навигации и профиля
2025-11-09 15:45:01 +09:00
2ef7b4fa95 themes.css fix
Some checks failed
continuous-integration/drone/push Build is failing
2025-11-09 15:30:37 +09:00
79f74b83a8 localization
Some checks failed
continuous-integration/drone/push Build is failing
2025-11-09 15:25:03 +09:00
341911a8d3 Полный UI для экспорта/импорта данных профиля
Some checks failed
continuous-integration/drone/push Build is failing
 Новые возможности:
- Добавлена вкладка 'Данные' в панель настроек
- Интерактивный модал экспорта с деревом выбора элементов
- Модал импорта с превью архива и селективным восстановлением
- Автоматическая обработка ZIP архивов и медиафайлов

🎯 Функционал экспорта:
- Древовидный выбор: профиль, группы, конкретные ссылки
- Чекбоксы для типов данных: стили, медиа
- Прогресс-индикаторы и автозагрузка файлов
- Подсчет выбранных элементов в реальном времени

📥 Функционал импорта:
- Drag&Drop загрузка ZIP архивов
- Детальное превью содержимого файла
- Селективный выбор данных для восстановления
- Защита от перезаписи с опциональным режимом

🔗 Интеграция:
- Полная интеграция с существующими API endpoints
- Автообновление данных после импорта
- Обработка ошибок и пользовательские уведомления
- Responsive дизайн для всех устройств
2025-11-09 14:45:09 +09:00
d78c296e5a Добавлен полнофункциональный экспорт/импорт профилей
- Кнопки 'убрать фон' для всех элементов: профиль, группы, ссылки
- Кнопка 'сбросить настройки интерфейса' с подтверждением
- Django app export_import с полным API для бэкапа и восстановления
- Экспорт: создание ZIP архивов с данными профиля и медиафайлами
- Импорт: селективная загрузка групп, ссылок, стилей, медиа
- Обработка мультипарт форм, Django транзакции, управление ошибками
- Полное тестирование: экспорт → импорт данных между пользователями
- API эндпоинты: /api/export/, /api/import/, превью архивов
- Готовая система для производственного развертывания
2025-11-09 14:28:45 +09:00
ae54fb7ed1 Magazine laoyt fix
Some checks failed
continuous-integration/drone/push Build is failing
2025-11-09 13:45:10 +09:00
925abca6ea Fix expand button display in Magazine, Masonry and Timeline layouts
Some checks failed
continuous-integration/drone/push Build is failing
- Fixed data mapping for ExpandableGroup components in all three layouts
- Increased initialShowCount for magazine layout (8 for first, 6 for others)
- Fixed overlay settings to use link_overlay instead of group_overlay in masonry layout
- Added debug logging to ExpandableGroup to help diagnose issues
- All layouts now properly convert group.links to ExpandableGroup format with icon mapping

Issues fixed:
- Timeline layout: Now properly maps link data with icons
- Magazine layout: Increased link count and fixed data mapping
- Masonry layout: Fixed overlay settings and data mapping
2025-11-09 13:22:56 +09:00
d59c1ad42a Add color overlay settings for link buttons
- Added link_overlay_enabled, link_overlay_color, link_overlay_opacity to DesignSettings model
- Created migration 0008 for new fields
- Updated CustomizationPanel with link overlay controls section
- Added validation for new overlay settings in serializer
- Updated PublicDesignSettingsSerializer to include overlay settings
- Applied link overlay to all ExpandableGroup components in public page
- Added preview in customization panel for link overlay effect
2025-11-09 13:00:25 +09:00
cefd884172 Fix: Implement proper link scrolling in groups using ExpandableGroup component
Some checks failed
continuous-integration/drone/push Build is failing
- Replace all hardcoded group.links.slice(0, 5) with ExpandableGroup component
- Updated renderGridLayout, renderCardsLayout, renderCompactLayout, renderSidebarLayout
- Fixed icon display in ExpandableGroup component
- Improved styling for button-style links
- All group layouts now support expandable link lists with 'Show X more links' functionality
2025-11-09 12:08:35 +09:00
90ac03663f Исправлена подсветка шаблонов, добавлен макет тестовый список, исправлены проблемы со шрифтами
- Добавлено поле template_id в модель DesignSettings
- Исправлена логика подсветки выбранного шаблона в TemplatesSelector
- Добавлен новый макет 'test-list' - полный несворачиваемый список
- Обновлены шрифты с поддержкой CSS переменных
- Создан CSS модуль для тестового списка
- Обеспечена совместимость иконок во всех макетах
2025-11-09 11:53:17 +09:00
0c1a39f07d fix: Добавлен обработчик кликов и отладка для шаблонов
Some checks failed
continuous-integration/drone/push Build is failing
- Добавлена функция handleTemplateClick с console.log для отладки
- Улучшена обработка событий onClick в TemplatesSelector
2025-11-09 11:23:31 +09:00
644a0487e1 feat: Добавлены шаблоны дизайна и управление большими группами
Some checks failed
continuous-integration/drone/push Build is failing
- Система готовых шаблонов (8 шт): Minimalist, Dark, Corporate, Creative, Nature, Retro, Neon, Soft
- Компонент ExpandableGroup для автоматического сворачивания больших списков ссылок
- Визуальный селектор шаблонов с превью в CustomizationPanel
- Поддержка во всех макетах (timeline, masonry, magazine, cards)
- CSS модули для улучшенной стилизации
- Настраиваемые лимиты отображения для разных макетов (5, 8, 3-5 ссылок)
- Полная интеграция с overlay системой и кастомными шрифтами
2025-11-09 10:53:45 +09:00
5ddc30fe0e Enhanced customization features with full layout support
 New Features:
- Add group overlay to ALL layouts (Grid, Cards, Timeline, Magazine)
- Expand font selection with beautiful Cyrillic fonts
- Dynamic font loading optimization with FontLoader component
- Group title visibility control across all layouts
- Group description color theming throughout

🎨 Font improvements:
- Added premium Cyrillic fonts: PT Sans, PT Serif, Fira Sans, Ubuntu, Yandex Sans Text
- Added decorative fonts: Russo One, Comfortaa, Philosopher, Marck Script
- Only load fonts that are actually used on the page via Google Fonts API

🔧 Technical enhancements:
- FontLoader component with smart Google Fonts integration
- Consistent overlay implementation across all layout modes
- Better color theming for group descriptions
- Improved font fallbacks and loading performance
2025-11-09 10:36:56 +09:00
5ea8b79e48 Apply new customization features to public page
- Add support for group overlay colors with opacity
- Add font customization (heading and body fonts)
- Add group description text color support
- Add option to hide 'Groups' title
- Update PublicDesignSettings interface
- Apply new styling to public user pages
2025-11-09 10:31:49 +09:00
92e2854575 Add comprehensive group customization features
- Add group overlay color and opacity settings
- Add font customization (body and heading fonts)
- Add group description text color control
- Add option to hide 'Groups' title
- Update frontend DesignSettings interface
- Update CustomizationPanel with new UI controls
- Update Django model with new fields
- Create migration for new customization options
- Update DRF serializer with validation
2025-11-09 10:27:04 +09:00
6035cf8d10 Public timeline: alternate groups left/right like dashboard
Some checks failed
continuous-integration/drone/push Build is failing
2025-11-09 10:07:03 +09:00
c521b678af Add archive to gitignore
Some checks failed
continuous-integration/drone/push Build is failing
2025-11-08 21:01:57 +09:00
091362d81e Add custom media file serving view for production mode
Some checks failed
continuous-integration/drone/push Build is failing
2025-11-08 20:55:20 +09:00
b1bcd85644 beta test realise
Some checks failed
continuous-integration/drone/push Build is failing
2025-11-08 20:54:06 +09:00
9c1c5b4b62 Fix public page layouts and avatar display
Some checks failed
continuous-integration/drone/push Build is failing
🎨 Layout improvements:
- Add full implementations for timeline, masonry, and magazine layouts
- Replace layout stubs with proper React components matching dashboard
- Add timeline with alternating left/right positioning and central line
- Implement masonry layout with dynamic column sizing
- Create magazine layout with featured first item and image previews

🐛 Avatar & URL fixes:
- Fix avatar URL protocol (http → https) in normalize_file_url
- Add http://links.shareon.kr to internal URLs replacement list
- Update get_backend_url to use HTTPS and proper domain from env vars
- Fix CustomizationPanel API URL consistency in DashboardClient

 Visual enhancements:
- Proper hover states and transitions for all layout types
- Timeline dots with theme color coordination
- Magazine layout with responsive image handling
- Masonry cards with dynamic content sizing
- Consistent group/link styling across all layouts

🔧 Technical:
- Environment-driven URL generation for production
- Consistent API endpoint usage across components
- Better responsive design for mobile devices
- Improved accessibility with proper alt text and ARIA labels
2025-11-08 20:24:42 +09:00
95d6137713 Redesign public user pages with new layout
Some checks failed
continuous-integration/drone/push Build is failing
Major improvements to public user page display:

 Layout changes:
- Cover image moved to top, full-width stretch
- User profile card made semi-transparent and overlaid
- Cover placeholder when no image available
- Fixed avatar display with fallback to initials

🎨 Design system alignment:
- All layouts now match dashboard exactly (list, grid, cards, compact, sidebar)
- Proper Fragment support for list layout expansion
- Consistent group and link styling
- Improved responsive design

📱 User experience:
- Better visual hierarchy with cover → profile → content
- Enhanced transparency effects with backdrop blur
- Proper hover states and transitions
- Statistics display (groups/links count)

🔧 Technical:
- Added Fragment import for proper React rendering
- Improved icon handling with icon_url consistency
- Better error handling for missing images
- Enhanced accessibility with proper alt text
2025-11-08 20:07:59 +09:00
2b217ded53 Fix auth URLs to use relative paths instead of absolute NEXT_PUBLIC_API_URL
Some checks failed
continuous-integration/drone/push Build is failing
- Change login page to use /api/auth/login/ instead of absolute URL
- Change register page to use /api/auth/register/ instead of absolute URL
- This fixes the 404 error with /auth/undefined/api/auth/login/ path
- Now uses Next.js rewrites from next.config.js correctly
2025-11-08 19:40:33 +09:00
e82f0f8e6f Fix hardcoded localhost:8000 URLs
Some checks failed
continuous-integration/drone/push Build is failing
- Add backend/utils.py for URL management
- Update serializers to use normalize_file_url()
- Update views to use URL utils from env vars
- Fix frontend components to use NEXT_PUBLIC_API_URL
- Add new env vars: DJANGO_BACKEND_URL, DJANGO_MEDIA_BASE_URL
- Replace all hardcoded localhost:8000 with configurable URLs
2025-11-08 19:25:35 +09:00
fb74a4a25d some fixes
Some checks failed
continuous-integration/drone/push Build is failing
2025-11-08 18:45:20 +09:00
20014d3a81 environment emprovements
Some checks failed
continuous-integration/drone/push Build is failing
2025-11-04 21:18:15 +09:00
eb55d06c44 CSRF 2025-11-04 21:07:56 +09:00
ce7a8d9cf0 prod containers fix
Some checks failed
continuous-integration/drone/push Build is failing
2025-11-04 20:53:16 +09:00
3732068464 docs moved
Some checks failed
continuous-integration/drone/push Build is failing
2025-11-04 20:47:00 +09:00
df07fc17a8 ssl-sert command fix
Some checks failed
continuous-integration/drone/push Build is failing
2025-11-04 20:37:12 +09:00
6a2bc06fb9 🔧 Исправлена синтаксическая ошибка и улучшена система развертывания
Some checks failed
continuous-integration/drone/push Build is failing
 Исправления:
- Удален дублированный Python код из master-deploy.sh (строка 491)
- Исправлена логика завершения pre-deploy-check.sh
- Предупреждения больше не вызывают ошибку выхода

 Новые возможности:
- Добавлен quick-deploy.sh для быстрого развертывания
- Команда make quick-deploy для систем с ограниченными ресурсами
- Команда make deploy-force для пропуска проверок
- Команда make pre-deploy-check-force для игнорирования предупреждений

📋 Улучшения:
- pre-deploy-check теперь корректно обрабатывает предупреждения о RAM
- Добавлена поддержка флага --skip-checks в master-deploy.sh
- Более понятные сообщения об ошибках и предупреждениях

Теперь система готова к развертыванию даже на серверах с 1GB RAM.
2025-11-04 20:18:50 +09:00
280a6c4ad0 🔧 Исправлена поддержка Docker Compose v2
Some checks failed
continuous-integration/drone/push Build is failing
 Fixes:
- Добавлена поддержка Docker Compose v2 (docker compose)
- Автоматическое определение версии Docker Compose в Makefile
- Обновлены скрипты master-deploy.sh и pre-deploy-check.sh
- Добавлена утилита detect-docker-compose.sh
- Исправлены команды в функции setup_database

🔧 Изменения:
- Makefile: улучшенное определение команды Docker Compose
- master-deploy.sh: использует make команды вместо прямых вызовов
- pre-deploy-check.sh: проверка обеих версий Docker Compose
- Добавлена команда shell-exec в Makefile

Теперь скрипт корректно работает с Docker Compose v2 на современных системах.
2025-11-04 20:12:09 +09:00
e1bb1ab90a 🚀 Добавлен мастер-скрипт развертывания с полной автоматизацией
Some checks failed
continuous-integration/drone/push Build is failing
 Новые возможности:
- Мастер-развертывание с автоматической настройкой всех компонентов
- Генерация безопасных .env файлов с криптографически стойкими ключами
- Полная изоляция и защита PostgreSQL
- Автоматическая настройка Let's Encrypt SSL
- Система backup и мониторинга
- Comprehensive security audit для БД

🔧 Новые команды:
- make deploy - мастер-развертывание
- make pre-deploy-check - проверка готовности системы
- make security-audit - аудит безопасности PostgreSQL
- make ssl-setup - интерактивная настройка SSL
- make update-production-security - безопасное обновление в продакшене

📁 Новые файлы:
- scripts/master-deploy.sh - основной скрипт развертывания
- scripts/pre-deploy-check.sh - проверка системы
- scripts/ssl-manager.sh - управление SSL сертификатами
- scripts/audit-db-security.sh - аудит безопасности БД
- DEPLOYMENT.md - полное руководство по развертыванию
- COMMANDS.md - справочник команд
- SECURITY.md - документация по безопасности

🔒 Улучшения безопасности:
- Изоляция PostgreSQL в Docker сети (без внешних портов)
- SCRAM-SHA-256 аутентификация
- TLSv1.3 для БД соединений
- Удаление прав суперпользователя у приложения
- Детальное логирование всех операций БД
- Security headers в nginx
- Автообновление SSL сертификатов
2025-11-04 14:07:58 +09:00
735c1984f9 secrutiry update
Some checks failed
continuous-integration/drone/push Build is failing
2025-11-04 13:44:00 +09:00
2b3cb736d5 link fix
Some checks failed
continuous-integration/drone/push Build is failing
2025-11-02 20:07:15 +09:00
9b31fcf193 🔧 Добавлен скрипт исправления продакшена
Some checks failed
continuous-integration/drone/push Build is failing
 Новый функционал:
- scripts/fix-production-env.sh - автоматическое исправление .env для продакшена
- make fix-production - команда для быстрого исправления

🎯 Что исправляет:
- DJANGO_DEBUG=False (вместо True)
- NEXT_PUBLIC_API_URL=http://links.shareon.kr (вместо localhost)
- Правильные настройки для продакшена
- Пересоздание БД с правильным паролем
- Выполнение миграций
- Создание суперпользователя

📝 Документация:
- PRODUCTION_FIX.md - инструкция по исправлению проблем

🚨 Решает проблему:
- password authentication failed for user links_user
- undefined в API URL фронтенда
- Неправильные настройки DEBUG режима
2025-11-02 15:09:10 +09:00
5376d5139e 📋 Добавлены скрипты диагностики nginx
 Новые скрипты:
- scripts/check-nginx.sh - полная диагностика nginx
- scripts/nginx-quick-check.sh - быстрая проверка

🔧 Новые команды Makefile:
- make check-nginx - быстрая проверка
- make check-nginx-full - полная диагностика

📊 Что проверяют скрипты:
- Статус службы nginx
- Корректность конфигурации
- Прослушиваемые порты (80, 443)
- Доступность backend/frontend сервисов
- Проксирование через nginx
- Доменные имена и DNS
- SSL сертификаты
- Анализ логов и конфигурации
- Рекомендации по исправлению

📝 Документация:
- docs/NGINX_DIAGNOSTICS.md - руководство по диагностике

🎯 Использование на сервере:
- ./scripts/nginx-quick-check.sh
- ./scripts/check-nginx.sh
2025-11-02 14:57:25 +09:00
17bd14383b nginx test scripts
Some checks failed
continuous-integration/drone/push Build is failing
2025-11-02 14:56:47 +09:00
56d7bbaf86 script fix
Some checks failed
continuous-integration/drone/push Build is failing
2025-11-02 12:03:06 +09:00
b9f639337a make file fix
Some checks failed
continuous-integration/drone/push Build is failing
2025-11-02 11:47:30 +09:00
22d049aa9f makefile script edit
Some checks failed
continuous-integration/drone/push Build is failing
2025-11-02 11:29:05 +09:00
fd76f56249 🚀 Расширена команда build-prod с автоматической настройкой nginx
Some checks failed
continuous-integration/drone/push Build is failing
 Новые возможности:
- build-prod теперь проверяет и устанавливает nginx + certbot
- Автоматическая настройка проксирования порта 80 → 3000 (frontend)
- Настройка маршрутизации API/admin → порт 8000 (backend)
- SSL конфигурация с современными стандартами безопасности

🔧 Новые команды:
- make build-prod - сборка + nginx настройка
- make ssl-cert - получение SSL сертификата
- make deploy-full - полное развертывание с SSL

📝 Документация:
- docs/NGINX_DEPLOYMENT.md - подробное руководство
- scripts/test-nginx-config.sh - тестовый скрипт

🌐 Маршрутизация:
- https://links.shareon.kr/ → localhost:3000 (Next.js)
- https://links.shareon.kr/api/ → localhost:8000 (Django)
- https://links.shareon.kr/admin/ → localhost:8000 (Django)

🔒 Безопасность: HTTPS редирект, HSTS, защитные заголовки
2025-11-02 11:05:51 +09:00
0963ac97b2 🚀 Добавлен docker-compose.prod.yml и команда up-prod в Makefile
Some checks failed
continuous-integration/drone/push Build is failing
- Создан docker-compose.prod.yml для продакшен конфигурации
- Добавлена команда up-prod в Makefile для запуска в продакшен режиме
- Обновлен .env файл с правильными настройками для продакшена
- Исправлены проблемы с паролем PostgreSQL
- Система полностью развернута и работает
2025-11-02 08:56:28 +09:00
368ee30396 fix(makefile): improve generate-env command and script
Some checks failed
continuous-integration/drone/push Build is failing
- Fix bash error in generate_env.sh with proper environment variable handling
- Add docker-compose command detection for better compatibility
- Add generate-env-prod command with production warnings
- Make generate-env non-interactive by default for easier automation
- Add generate-env-interactive for when user input is needed
- Expand .env.example with more configuration options
- Add helpful production deployment warnings

Resolves: 'make generate-env generates nonsense' issue
2025-11-02 08:41:11 +09:00
e6776015fc some fixes
Some checks failed
continuous-integration/drone/push Build is failing
2025-11-02 07:30:42 +09:00