Улучшения форм и календаря поездок

- Убран Tockify календарь, заменен на карточки из upcoming-trips.json
- Добавлен автоматический загрузчик поездок для формы
- Обновлены фото для сентября и октября 2025
- Email сделан опциональным в форме plan (email ИЛИ telegram)
- Улучшен текст приглашения к поездкам
- Убрано дублирование информации о заявках из карточек
This commit is contained in:
Kirik
2025-09-03 12:38:18 +02:00
parent dc22b6af70
commit 632cb83925
5 changed files with 131 additions and 40 deletions
+6 -12
View File
@@ -74,8 +74,8 @@ disableComments = true
</div>
<div class="form-group">
<label for="email">Email *</label>
<input type="email" id="email" name="email" required>
<label for="email">Email</label>
<input type="email" id="email" name="email" placeholder="ivan@mail.ru">
</div>
<div class="form-group">
@@ -83,6 +83,10 @@ disableComments = true
<input type="text" id="telegram" name="telegram" placeholder="@ваш_ник">
</div>
<div class="form-note">
<p>* Укажите email или Telegram ник (одно из двух обязательно)</p>
</div>
<div class="form-group">
<label for="subject">Тема *</label>
<select id="subject" name="subject" required>
@@ -102,16 +106,6 @@ disableComments = true
<textarea id="message" name="message" placeholder="Задайте ваш вопрос или предложите свою идею для поездки..." required></textarea>
</div>
<div class="form-group">
<label for="pdf_file">Прикрепить PDF файл</label>
<div class="file-input-wrapper" onclick="document.getElementById('pdf_file').click()">
<input type="file" id="pdf_file" name="pdf_file" accept=".pdf" class="file-input-hidden">
<span class="file-input-text" id="pdf_file_text">Выберите PDF файл</span>
</div>
<div class="file-info">
<small>Максимальный размер файла: 10 МБ</small>
</div>
</div>
<div class="form-group checkbox-group">
<label class="checkbox-container">
+7 -5
View File
@@ -1,16 +1,18 @@
+++
title = 'Планирование поездки'
slug = 'plan'
title = 'Планирование поездки (старый)'
slug = 'plan-old'
# image = "https://s3.regru.cloud/sleeptrip-dev/images/pic02.jpg"
# description = 'здесь можно добавить подпись'
disableComments = true
+++
{{< rawhtml >}}
<div data-tockify-component="calendar" data-tockify-calendar="sleeptrip.calendar">
<!-- Старый Tockify календарь - больше не используется -->
<!-- Новый календарь теперь в /plan -->
<div style="text-align: center; padding: 40px; background: #f8f9fa; border-radius: 8px; margin: 20px 0;">
<h3>Календарь перенесен</h3>
<p>Новый календарь поездок находится на странице <a href="/plan/">/plan</a></p>
</div>
<script data-cfasync="false" data-tockify-script="embed" src="https://public.tockify.com/browser/embed.js">
</script>
{{< /rawhtml >}}
## Как забронировать поездку
+48 -23
View File
@@ -4,28 +4,35 @@ slug = 'plan'
disableComments = true
+++
{{< rawhtml >}}
<h3 align="center">Выберите поездку</h3>
{{< /rawhtml >}}
<h3 align="center">Предстоящие поездки</h3>
{{< rawhtml >}}
<div data-tockify-component="calendar" data-tockify-calendar="sleeptrip.calendar">
<!-- Календарь поездок из upcoming-trips.json -->
<div id="trips-grid" class="trips-calendar">
<!-- Карточки поездок будут загружены динамически -->
</div>
<script data-cfasync="false" data-tockify-script="embed" src="https://public.tockify.com/browser/embed.js">
</script>
<!-- Подключаем стили для карточек поездок -->
<link rel="stylesheet" href="/css/trips-calendar.css">
<!-- Подключаем скрипт загрузки карточек поездок -->
<script src="/js/upcoming-trips.js"></script>
{{< /rawhtml >}}
## Как участвовать в поездках
Желаете отправиться в путешествие? Ознакомьтесь с тем что ниже и заполните форму:
### Поездки с полетами дронов
## Условия участия
### 🚁 Поездки с полетами дронов
- **Подача заявки:** минимум за 7 дней до поездки
- **Обсуждение деталей:** [Telegram чат "Полёты БВС"](https://t.me/polet_bvs)
### Поездки без дронов
### 🚗 Поездки без дронов
- **Подача заявки:** минимум за 2-3 дня до поездки
- **Свои варианты:** можете предложить направление, даты и профиль участников
- **Обсуждение деталей:** [Telegram чат "Пока ты спал"](https://t.me/sleeptrip_rec)
### Важная информация
Можете предложить собственное направление, даты и профиль попутчиков.
### ⚠️ Важная информация
- **Время выезда:** рано утром (5-6 утра из Москвы) для избежания пробок
- **Email:** проверьте папку "Нежелательные" - ответ может попасть туда
@@ -73,28 +80,45 @@ disableComments = true
});
// Загружаем скрипт шифрования
const script = document.createElement('script');
script.src = '/js/encryption.js';
script.onload = function() {
const encryptionScript = document.createElement('script');
encryptionScript.src = '/js/encryption.js';
encryptionScript.onload = function() {
console.log('✅ Скрипт шифрования загружен для формы plan');
};
script.onerror = function() {
encryptionScript.onerror = function() {
console.error('❌ Ошибка загрузки скрипта шифрования');
};
document.head.appendChild(script);
document.head.appendChild(encryptionScript);
// Загружаем скрипт динамического заполнения поездок
const tripScript = document.createElement('script');
tripScript.src = '/js/trip-form-loader.js';
tripScript.onload = function() {
console.log('✅ Скрипт загрузчика поездок загружен');
// Принудительно инициализируем после загрузки скрипта
if (typeof TripFormLoader !== 'undefined') {
window.tripFormLoader = new TripFormLoader();
window.tripFormLoader.populateTripsDropdown();
console.log('🔄 Принудительная инициализация загрузчика поездок');
}
};
tripScript.onerror = function() {
console.error('❌ Ошибка загрузки скрипта поездок');
};
document.head.appendChild(tripScript);
});
</script>
<form class="travel-form" action="/send_plan.php" method="POST">
<form class="travel-form" action="/api/send_plan.php" method="POST">
<div class="form-group">
<label for="name">Имя *</label>
<input type="text" id="name" name="name" placeholder="Введите Ваше имя" required>
</div>
<div class="form-group">
<label for="email">E-mail *</label>
<input type="email" id="email" name="email" placeholder="Введите Ваш email" required>
<label for="email">Email</label>
<input type="email" id="email" name="email" placeholder="ivan@mail.ru">
</div>
<div class="form-group">
@@ -107,6 +131,10 @@ disableComments = true
<input type="text" id="telegram" name="telegram" placeholder="@ваш_ник">
</div>
<div class="form-note">
<p>* Укажите email или Telegram ник (одно из двух обязательно)</p>
</div>
<div class="form-group">
<label for="bvs_number"><strong>Учётный номер БВС</strong> (если уже направляли ранее) или предложите <strong>направление/даты поездки</strong> без БВС</label>
<textarea id="bvs_number" name="bvs_number" placeholder="Свой вариант поездки или учётный номер дрона"></textarea>
@@ -116,10 +144,7 @@ disableComments = true
<label for="trip_period">Выберите поездку</label>
<select id="trip_period" name="trip_period">
<option value=""></option>
<option value="Полёты в августе 2025 года">Полёты в августе 2025 года</option>
<option value="Полёты в сентябре 2025 года">Полёты в сентябре 2025 года</option>
<option value="Полёты в октябре 2025 года">Полёты в октябре 2025 года</option>
<option value="Свой вариант без БВС">Свой вариант без БВС</option>
<!-- Опции будут загружены динамически из upcoming-trips.json -->
</select>
</div>
+41
View File
@@ -0,0 +1,41 @@
+++
title = 'Тында'
slug = 'AAA_tyndatest'
date = "2025-08-17T14:59:13"
description = 'Поездка в Тынду'
image = 'https://s3.regru.cloud/sleeptrip-dev/images/Tynda-20250818-1.jpg'
+++
## Тында: приключение на краю Байкало-Амурской магистрали**
Тында — небольшой город в Амурской области, спрятанный среди тайги и гор, где Байкало-Амурская магистраль (БАМ) становится не просто дорогой, а символом человеческого упорства. Сюда едут не за роскошью, а за ощущением дикой природы и истории: вечной мерзлоты, рек, которые зимой превращаются в зеркальные катки, и рассказов строителей БАМа, чьи усилия в 1970–80-х сделали этот край доступным.
Что запомнится:
- Природа без фильтров: летом — ягодные поляны и рыбалка на реке Тынде, зимой — северное сияние и морозы под -40°C, которые заставляют по-новому ценить чашку горячего чая.
- БАМ: музей под открытым небом — брошенная техника, памятники строителям и вид на бескрайние рельсы, уходящие в горизонт.
- Локальный колорит: рынок с сушёной рыбой, оленина и разговоры с коренными жителями — эвенами и якутами, для которых эти земли дом уже века.
Добраться сюда непросто (самолёт из Хабаровска или Благовещенска, либо многодневный поезд), но именно это делает Тынду местом для тех, кто ищет аутентичность. Главное — взять с собой тёплую одежду, фотоаппарат и готовность к тому, что мобильная связь будет ловить только у памятника первостроителям.
## Фотографии
![Фото](https://s3.regru.cloud/sleeptrip-dev/images/Tynda-20250818-2.jpg)
![Фото](https://s3.regru.cloud/sleeptrip-dev/images/Tynda-20250818-3.jpg)
## Видео
{{< youtube ISooha_QNPY >}}
## Локации
📍 [Посмотреть на карте](https://yandex.com/maps/?ol=geo&text=Tynda&sll=124.736440,55.149666&sspn=0.076574,0.134532&si=nqvqteq5y5020z59qmwpbk726g)
{{< rawhtml >}}
{{< back-to-top >}}
{{< /rawhtml >}}