diff --git a/modules/settings/index.js b/modules/settings/index.js index 5d5ce3d..345146a 100644 --- a/modules/settings/index.js +++ b/modules/settings/index.js @@ -6,7 +6,10 @@ let db; const DEFAULT_SETTINGS = { review_code: 'GUEST2026', review_min_length: '20', - review_ip_cooldown_minutes: '5' + review_ip_cooldown_minutes: '5', + hotel_phone_primary: '89409270080', + hotel_phone_additional: '', + hotel_max_link: 'kalugin66' }; function init(database) { @@ -201,6 +204,49 @@ function setupRoutes(app, authenticateToken, requireAdmin) { }); }); }); + + app.get('/api/admin/settings/phones', authenticateToken, requireAdmin, (req, res) => { + getAll((err, settings) => { + if (err) return res.status(500).json({ error: 'Database error' }); + res.json({ + primary: settings.hotel_phone_primary || '', + additional: settings.hotel_phone_additional || '', + maxLink: settings.hotel_max_link || '' + }); + }); + }); + + app.put('/api/admin/settings/phones', authenticateToken, requireAdmin, (req, res) => { + const { primary, additional, maxLink } = 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_max_link', maxLink || '']); + let processed = 0; + updates.forEach(([key, value]) => { + set(key, value, (err) => { + if (err) console.error('Phone settings update error:', err); + processed++; + if (processed === updates.length) { + res.json({ message: 'Настройки телефонов сохранены' }); + } + }); + }); + }); + + app.get('/api/config', (req, res) => { + getAll((err, settings) => { + if (err) return res.status(500).json({ error: 'Database error' }); + res.json({ + phone_primary: settings.hotel_phone_primary || '89409270080', + phone_additional: settings.hotel_phone_additional || '', + max_link: settings.hotel_max_link || 'kalugin66' + }); + }); + }); } module.exports = { init, get, set, getAll, getReviewCode, setReviewCode, checkIpCooldown, setupRoutes }; diff --git a/modules/translations/index.js b/modules/translations/index.js index cad1dd4..18d1cda 100644 --- a/modules/translations/index.js +++ b/modules/translations/index.js @@ -184,6 +184,9 @@ const translations = { 'hero.subtitle': 'Ваш идеальный отдых на берегу Чёрного моря в самом сердце Абхазии. Комфорт, природа и гостеприимство — всё, что нужно для незабываемого отпуска.', 'hero.btn_rooms': 'Выбрать номер', 'hero.btn_call': 'Позвонить', + 'hero.btn_whatsapp': 'Написать в WhatsApp', + 'hero.btn_telegram': 'Написать в Telegram', + 'hero.btn_max': 'Написать в Max', 'hero.stat_sea': 'мин до моря', 'hero.stat_categories': 'категории', 'hero.stat_guests': 'довольных гостей', @@ -507,6 +510,9 @@ const translations = { 'hero.subtitle': 'Your perfect getaway on the Black Sea coast in the heart of Abkhazia. Comfort, nature and hospitality — everything you need for an unforgettable vacation.', 'hero.btn_rooms': 'Choose a Room', 'hero.btn_call': 'Call Us', + 'hero.btn_whatsapp': 'Write on WhatsApp', + 'hero.btn_telegram': 'Write on Telegram', + 'hero.btn_max': 'Write on Max', 'hero.stat_sea': 'min to the sea', 'hero.stat_categories': 'categories', 'hero.stat_guests': 'happy guests', @@ -833,6 +839,9 @@ const translations = { 'hero.subtitle': 'Уара уидеалтә ԥсынчыра Амшын Еиқәаҵәа аԥшаҳәаҿы Аԥсны агәҭаны. Акомфорт, аԥсабареи асасӡреи — ахымԥада-ҳәада аусумҭазы иахәҭоу зегьы.', 'hero.btn_rooms': 'Апалаҭа алхразы', 'hero.btn_call': 'Аҭелефон асра', + 'hero.btn_whatsapp': 'WhatsApp ала аҩра', + 'hero.btn_telegram': 'Telegram ала аҩра', + 'hero.btn_max': 'Max ала аҩра', 'hero.stat_sea': 'мин амшын ахь', 'hero.stat_categories': 'акатегориақәа', 'hero.stat_guests': 'изызҳауа асасцәа', diff --git a/public/admin.html b/public/admin.html index a1c0df6..ed6b1e6 100644 --- a/public/admin.html +++ b/public/admin.html @@ -468,11 +468,38 @@ tr.row-checkout-today { background: #fef2f2 !important; border-left: 4px solid #
+ + Основной номер используется для звонков, WhatsApp и Telegram. Дополнительный отображается через запятую рядом с основным. +
+Ваш идеальный отдых на берегу Чёрного моря в самом сердце Абхазии. Комфорт, природа и гостеприимство — всё, что нужно для незабываемого отпуска.
Домашняя кухня — отдельная достопримечательность гостиницы. Свежие местные продукты, абхазские и русские блюда, приготовленные с душой — абиц, ачапа, хачапури, шашлык и многое другое. Чистые номера, искренняя улыбка и внимание к каждой детали — это то, что делает Hotel 777 особенным.
- + 8 (940) 927-00-80 @@ -628,7 +631,7 @@- Или позвоните Рауфу Алексеевичу: 8 (940) 927-00-80 + Или позвоните Рауфу Алексеевичу: 8 (940) 927-00-80