🎨 Добавлен полный редактор стилей и поле image_url для туров
✨ Новые функции: - Поле image_url в модели туров для изменения изображений через админ-панель - Расширенная модель настроек сайта с категориями: colors, typography, images, effects, layout - Динамический CSS генератор на основе настроек (/dynamic-styles.css) - API для управления настройками сайта (/api/site-settings) 🎯 Редактор стилей: - Управление цветами (основные, акцентные, текст, фон) - Настройка типографики (шрифты, размеры, межстрочный интервал) - Управление изображениями (фоны, логотипы, фавикон) - Эффекты (прозрачность, тени, размытие, скругления) - Макет (высота секций, размеры контейнеров) - Пользовательский CSS код 🛠️ Техническая реализация: - SiteSettingsHelper с кешированием для производительности - CSS переменные для динамического изменения стилей - Автоматическая миграция базы данных - Интеграция с AdminJS для удобного управления - Загрузка настроек в шаблоны для доступности 📊 База данных: - Расширена таблица site_settings (добавлено поле category) - Новые типы настроек: color, file - 27 предустановленных настроек для полного контроля над дизайном - Автоматическое применение миграций при старте приложения
This commit is contained in:
@@ -55,6 +55,30 @@ export async function initDatabase() {
|
||||
}
|
||||
}
|
||||
|
||||
// Check if style editor migration is applied
|
||||
try {
|
||||
const result = await db.query("SELECT 1 FROM site_settings WHERE setting_key = 'primary_color' LIMIT 1");
|
||||
if (result.rows.length === 0) {
|
||||
console.log('🎨 Installing style editor features...');
|
||||
const styleMigrationPath = path.join(__dirname, 'style-editor-migration.sql');
|
||||
if (fs.existsSync(styleMigrationPath)) {
|
||||
const styleMigration = fs.readFileSync(styleMigrationPath, 'utf8');
|
||||
await db.query(styleMigration);
|
||||
console.log('✅ Style editor installed successfully');
|
||||
}
|
||||
} else {
|
||||
console.log('ℹ️ Style editor already installed');
|
||||
}
|
||||
} catch (error) {
|
||||
console.log('🎨 Installing style editor features...');
|
||||
const styleMigrationPath = path.join(__dirname, 'style-editor-migration.sql');
|
||||
if (fs.existsSync(styleMigrationPath)) {
|
||||
const styleMigration = fs.readFileSync(styleMigrationPath, 'utf8');
|
||||
await db.query(styleMigration);
|
||||
console.log('✅ Style editor installed successfully');
|
||||
}
|
||||
}
|
||||
|
||||
console.log('✨ Database initialization completed successfully!');
|
||||
|
||||
} catch (error) {
|
||||
|
||||
Reference in New Issue
Block a user