diff --git a/modules/settings/index.js b/modules/settings/index.js index 345146a..fc0f568 100644 --- a/modules/settings/index.js +++ b/modules/settings/index.js @@ -9,7 +9,14 @@ const DEFAULT_SETTINGS = { review_ip_cooldown_minutes: '5', hotel_phone_primary: '89409270080', hotel_phone_additional: '', - hotel_max_link: 'kalugin66' + hotel_whatsapp_num: '89409270080', + hotel_whatsapp_active: 'true', + hotel_telegram_id: '+89409270080', + hotel_telegram_active: 'true', + hotel_max_link: 'kalugin66', + hotel_max_active: 'true', + hotel_instagram_id: '', + hotel_instagram_active: 'true' }; function init(database) { @@ -211,20 +218,34 @@ function setupRoutes(app, authenticateToken, requireAdmin) { res.json({ primary: settings.hotel_phone_primary || '', additional: settings.hotel_phone_additional || '', - maxLink: settings.hotel_max_link || '' + whatsappNum: settings.hotel_whatsapp_num || '', + whatsappActive: settings.hotel_whatsapp_active || 'true', + telegramId: settings.hotel_telegram_id || '', + telegramActive: settings.hotel_telegram_active || 'true', + maxLink: settings.hotel_max_link || '', + maxActive: settings.hotel_max_active || 'true', + instagramId: settings.hotel_instagram_id || '', + instagramActive: settings.hotel_instagram_active || 'true' }); }); }); app.put('/api/admin/settings/phones', authenticateToken, requireAdmin, (req, res) => { - const { primary, additional, maxLink } = req.body; + const { primary, additional, whatsappNum, whatsappActive, telegramId, telegramActive, maxLink, maxActive, instagramId, instagramActive } = req.body; if (!primary || primary.length < 5) { return res.status(400).json({ error: 'Основной номер должен содержать минимум 5 цифр' }); } const updates = []; updates.push(['hotel_phone_primary', primary]); updates.push(['hotel_phone_additional', additional || '']); + updates.push(['hotel_whatsapp_num', whatsappNum || '']); + updates.push(['hotel_whatsapp_active', whatsappActive || 'true']); + updates.push(['hotel_telegram_id', telegramId || '']); + updates.push(['hotel_telegram_active', telegramActive || 'true']); updates.push(['hotel_max_link', maxLink || '']); + updates.push(['hotel_max_active', maxActive || 'true']); + updates.push(['hotel_instagram_id', instagramId || '']); + updates.push(['hotel_instagram_active', instagramActive || 'true']); let processed = 0; updates.forEach(([key, value]) => { set(key, value, (err) => { @@ -243,7 +264,14 @@ function setupRoutes(app, authenticateToken, requireAdmin) { res.json({ phone_primary: settings.hotel_phone_primary || '89409270080', phone_additional: settings.hotel_phone_additional || '', - max_link: settings.hotel_max_link || 'kalugin66' + whatsapp_num: settings.hotel_whatsapp_num || '89409270080', + whatsapp_active: settings.hotel_whatsapp_active || 'true', + telegram_id: settings.hotel_telegram_id || '+89409270080', + telegram_active: settings.hotel_telegram_active || 'true', + max_link: settings.hotel_max_link || 'kalugin66', + max_active: settings.hotel_max_active || 'true', + instagram_id: settings.hotel_instagram_id || '', + instagram_active: settings.hotel_instagram_active || 'true' }); }); }); diff --git a/public/admin.html b/public/admin.html index ed6b1e6..fec4d54 100644 --- a/public/admin.html +++ b/public/admin.html @@ -477,20 +477,60 @@ tr.row-checkout-today { background: #fef2f2 !important; border-left: 4px solid #
- Основной номер используется для звонков, WhatsApp и Telegram. Дополнительный отображается через запятую рядом с основным. + Основной номер используется для звонков. Дополнительный отображается через запятую. Для мессенджеров можно указать отдельные номера или username.