release
This commit is contained in:
+39
-81
@@ -12,13 +12,16 @@
|
||||
<h2 class="mb-1"><i class="bi bi-megaphone-fill text-primary me-2"></i>Управление постами</h2>
|
||||
<p class="text-muted mb-0">Создание и планирование публикаций в VK</p>
|
||||
</div>
|
||||
<button type="button" class="btn btn-success btn-lg px-5" onclick="saveSettings()">
|
||||
<i class="bi bi-save me-2"></i>Сохранить все настройки
|
||||
</button>
|
||||
<div class="badge bg-primary fs-6 px-3 py-2">
|
||||
<i class="bi bi-calendar-week me-1"></i>Публикации
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Основной контент -->
|
||||
<div class="row g-4">
|
||||
<div class="row g-4 mb-3">
|
||||
<!-- Левая колонка: Сотрудники -->
|
||||
<div class="col-lg-7">
|
||||
<div class="card h-100">
|
||||
@@ -164,95 +167,50 @@
|
||||
</span>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<div class="row g-3 align-items-start">
|
||||
|
||||
<div class="alert alert-danger">
|
||||
<div class="d-flex">
|
||||
<div class="me-3">
|
||||
<i class="bi bi-exclamation-triangle fs-5"></i>
|
||||
</div>
|
||||
<div>
|
||||
<h6 class="alert-heading mb-1">Временная настройка</h6>
|
||||
<p class="mb-0">Посты будут опубликованы в 12:00 ежедневно.<br>Настройки из расписания будут
|
||||
проигнорированы!</p>
|
||||
<!-- Время запуска -->
|
||||
<div class="col-12 col-md-4">
|
||||
<label class="form-label fw-semibold mb-1">Время запуска</label>
|
||||
<div class="input-group input-group-sm">
|
||||
<span class="input-group-text"><i class="bi bi-alarm"></i></span>
|
||||
<input type="number" class="form-control" id="hour" min="0" max="23"
|
||||
value="{{ data.schedulerSettings.hour if data.schedulerSettings else 12 }}">
|
||||
<span class="input-group-text">:</span>
|
||||
<input type="number" class="form-control" id="minute" min="0" max="59"
|
||||
value="{{ data.schedulerSettings.minute if data.schedulerSettings else 0 }}">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Время работы -->
|
||||
<div class="row g-3 mb-3">
|
||||
<div class="col-md-6">
|
||||
<label class="form-label fw-semibold">Начало публикации</label>
|
||||
<div class="input-group">
|
||||
<span class="input-group-text"><i class="bi bi-sun"></i></span>
|
||||
<input type="number" class="form-control" id="start_hour" min="0" max="23"
|
||||
value="{{ data.schedulerSettings.start_hour if data.schedulerSettings else 9 }}">
|
||||
<span class="input-group-text">:00</span>
|
||||
<!-- Статус планировщика -->
|
||||
<div class="col-12 col-md-8">
|
||||
<label class="form-label fw-semibold mb-1">Статус планировщика</label>
|
||||
<div class="form-check form-switch d-flex align-items-center gap-2 p-0">
|
||||
<input class="form-check-input m-0" type="checkbox" role="switch" id="scheduler_enabled" {%
|
||||
if data.schedulerSettings and data.schedulerSettings.enabled %}checked{% endif %}>
|
||||
<label class="form-check-label mb-0" for="scheduler_enabled">
|
||||
Автоматическая публикация
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<label class="form-label fw-semibold">Конец публикации</label>
|
||||
<div class="input-group">
|
||||
<span class="input-group-text"><i class="bi bi-moon"></i></span>
|
||||
<input type="number" class="form-control" id="end_hour" min="0" max="23"
|
||||
value="{{ data.schedulerSettings.end_hour if data.schedulerSettings else 21 }}">
|
||||
<span class="input-group-text">:00</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Интервал -->
|
||||
<div class="mb-3">
|
||||
<label class="form-label fw-semibold">Интервал публикации (минут)</label>
|
||||
<input type="number" class="form-control" id="interval_minutes" min="1" max="1440"
|
||||
value="{{ data.schedulerSettings.interval_minutes if data.schedulerSettings else 60 }}">
|
||||
<div class="form-text">
|
||||
Через сколько минут публиковать следующий пост
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Включить/выключить -->
|
||||
<div class="mb-4">
|
||||
<label class="form-label fw-semibold">Статус планировщика</label>
|
||||
<div class="form-check form-switch d-flex justify-content-left gap-2 p-0">
|
||||
<input class="form-check-input m-0" type="checkbox" role="switch" id="scheduler_enabled" {% if
|
||||
data.schedulerSettings and data.schedulerSettings.enabled %}checked{% endif %}>
|
||||
<label class="form-check-label mb-0" for="scheduler_enabled">
|
||||
Автоматическая публикация по расписанию
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Информация о следующем запуске -->
|
||||
{% if data.schedulerStatus.next_run_time %}
|
||||
<div class="alert alert-info">
|
||||
<div class="d-flex">
|
||||
<div class="me-3">
|
||||
<i class="bi bi-info-circle fs-5"></i>
|
||||
</div>
|
||||
<div>
|
||||
<h6 class="alert-heading mb-1">Следующая публикация</h6>
|
||||
<p class="mb-0">{{ data.schedulerStatus.next_run_time }}</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Кнопка сохранения -->
|
||||
<div class="row mt-4">
|
||||
<div class="col-12">
|
||||
<div class="card">
|
||||
<div class="card-body text-center py-3">
|
||||
<button type="button" class="btn btn-success btn-lg px-5" onclick="saveSettings()">
|
||||
<i class="bi bi-save me-2"></i>Сохранить все настройки
|
||||
</button>
|
||||
<div class="form-text mt-2">
|
||||
Сохраняются: выбранные сотрудники, текст поста, настройки расписания
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Информация о следующем запуске -->
|
||||
{% if data.schedulerStatus.next_run_time %}
|
||||
<div class="alert alert-success shadow mx-3">
|
||||
<div class="d-flex">
|
||||
<div class="me-3">
|
||||
<i class="bi bi-info-circle fs-5"></i>
|
||||
</div>
|
||||
<div>
|
||||
<h6 class="alert-heading mb-1">Следующая публикация</h6>
|
||||
<p class="mb-0" id="nextRunTime">{{ data.schedulerStatus.next_run_time }}</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user