This commit is contained in:
+34
-46
@@ -465,7 +465,7 @@
|
|||||||
<div class="col-md-7">
|
<div class="col-md-7">
|
||||||
<div class="card h-100">
|
<div class="card h-100">
|
||||||
<div class="card-header d-flex justify-content-between align-items-center">
|
<div class="card-header d-flex justify-content-between align-items-center">
|
||||||
<h5 class="mb-0">Детали поста</h5>
|
<h5 class="mb-0" id="post-details-header">Детали поста</h5>
|
||||||
<div id="post-actions"></div>
|
<div id="post-actions"></div>
|
||||||
</div>
|
</div>
|
||||||
<div class="card-body scrollable-details" id="post-details">
|
<div class="card-body scrollable-details" id="post-details">
|
||||||
@@ -1643,7 +1643,13 @@
|
|||||||
const formatDate = (dateStr) => {
|
const formatDate = (dateStr) => {
|
||||||
if (!dateStr) return 'Не указано';
|
if (!dateStr) return 'Не указано';
|
||||||
const date = new Date(dateStr);
|
const date = new Date(dateStr);
|
||||||
return date.toLocaleString('ru-RU');
|
return date.toLocaleString('ru-RU', {
|
||||||
|
year: 'numeric',
|
||||||
|
month: '2-digit',
|
||||||
|
day: '2-digit',
|
||||||
|
hour: '2-digit',
|
||||||
|
minute: '2-digit'
|
||||||
|
});
|
||||||
};
|
};
|
||||||
// Загружаем связанные события
|
// Загружаем связанные события
|
||||||
const linkedEvents = await fetch(`${PREFIX}/api/posts/${postId}/linked_events`)
|
const linkedEvents = await fetch(`${PREFIX}/api/posts/${postId}/linked_events`)
|
||||||
@@ -1656,7 +1662,7 @@
|
|||||||
let detailsHtml = `
|
let detailsHtml = `
|
||||||
<div>
|
<div>
|
||||||
<div class="d-flex justify-content-between align-items-center mb-4">
|
<div class="d-flex justify-content-between align-items-center mb-4">
|
||||||
<h4 class="mb-0">Пост #${post.vk_post_id}</h4>
|
<div></div>
|
||||||
<div>
|
<div>
|
||||||
<button class="btn btn-sm btn-primary me-2" onclick="publishPost(${post.id})">
|
<button class="btn btn-sm btn-primary me-2" onclick="publishPost(${post.id})">
|
||||||
<i class="fas fa-paper-plane me-1"></i>Опубликовать
|
<i class="fas fa-paper-plane me-1"></i>Опубликовать
|
||||||
@@ -1674,58 +1680,38 @@
|
|||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="row mb-3">
|
<div class="row">
|
||||||
<div class="col-md-6 mb-3">
|
<div class="col-md-8">
|
||||||
<label class="form-label fw-bold">Название:</label>
|
<div class="mb-3">
|
||||||
<div class="form-control">${post.shortname || 'Не указано'}</div>
|
<div class="d-flex flex-wrap gap-2 mb-3">
|
||||||
|
${post.marked_for_publication && !post.published_in_tg ? '<span class="badge bg-warning">Для публикации</span>' : ''}
|
||||||
|
${post.published_in_tg ? '<span class="badge bg-primary">Опубликовано</span>' : ''}
|
||||||
|
${post.is_event ? '<span class="badge bg-info">Событие</span>' : ''}
|
||||||
|
${post.is_poll ? '<span class="badge bg-success">Опрос</span>' : ''}
|
||||||
|
${!post.marked_for_publication && !post.published_in_tg && !post.is_event && !post.is_poll ? '<span class="badge bg-secondary">Никакое</span>' : ''}
|
||||||
</div>
|
</div>
|
||||||
<div class="col-md-6 mb-3">
|
<div class="mb-2">
|
||||||
<label class="form-label fw-bold">Номер события в системе расписания:</label>
|
<strong>ВКонтакте:</strong> <a href="${post.vk_post_url || '#'}" target="_blank" class="text-decoration-none">${post.vk_post_url || 'Не указана'}</a>
|
||||||
<div class="form-control">${post.action_number || 'Не указан'}</div>
|
</div>
|
||||||
|
<div class="mb-2">
|
||||||
|
<i class="fas fa-clock me-1"></i>${formatDate(post.published_at)}
|
||||||
|
</div>
|
||||||
|
${post.published_in_tg ? `
|
||||||
|
<div class="mb-2">
|
||||||
|
<strong>Телеграм</strong> <i class="fab fa-telegram-plane me-1"></i>${post.tg_message_id || 'Не указан'} <i class="fas fa-clock me-1"></i>${formatDate(post.tg_publication_date)}
|
||||||
|
</div>` : ''}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="mb-4">
|
<div class="col-md-4">
|
||||||
<label class="form-label fw-bold">Текст поста:</label>
|
|
||||||
<div class="border p-3 bg-light rounded">${post.text || 'Нет текста'}</div>
|
|
||||||
</div>
|
|
||||||
${post.image_url ? `
|
${post.image_url ? `
|
||||||
<div class="mb-4">
|
|
||||||
<label class="form-label fw-bold">Изображение:</label>
|
|
||||||
<div class="text-center">
|
<div class="text-center">
|
||||||
<img src="${PREFIX}/image_proxy?url=${encodeURIComponent(post.image_url)}"
|
<img src="${PREFIX}/image_proxy?url=${encodeURIComponent(post.image_url)}"
|
||||||
class="img-fluid detail-image rounded shadow-sm">
|
class="img-fluid rounded shadow-sm" style="max-width: 33%; min-width: 200px;">
|
||||||
</div>
|
|
||||||
</div>` : ''}
|
</div>` : ''}
|
||||||
<div class="row mb-3">
|
|
||||||
<div class="col-md-6 mb-3">
|
|
||||||
<label class="form-label fw-bold">Дата публикации VK:</label>
|
|
||||||
<div class="form-control">${formatDate(post.published_at)}</div>
|
|
||||||
</div>
|
|
||||||
<div class="col-md-6 mb-3">
|
|
||||||
<label class="form-label fw-bold">Дата публикации TG:</label>
|
|
||||||
<div class="form-control">${formatDate(post.tg_publication_date)}</div>
|
|
||||||
</div>
|
|
||||||
<div class="col-md-6 mb-3">
|
|
||||||
<label class="form-label fw-bold">Ссылка на пост VK:</label>
|
|
||||||
<div class="form-control">${post.vk_post_url || 'Не указана'}</div>
|
|
||||||
</div>
|
|
||||||
<div class="col-md-6 mb-3">
|
|
||||||
<label class="form-label fw-bold">ID сообщения TG:</label>
|
|
||||||
<div class="form-control">${post.tg_message_id || 'Не указан'}</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<!-- Отображение типа поста -->
|
|
||||||
<div class="row mb-3">
|
|
||||||
<div class="col-md-6 mb-3">
|
|
||||||
<label class="form-label fw-bold">Тип поста:</label>
|
|
||||||
<div class="form-control">
|
|
||||||
<div class="d-flex flex-wrap gap-2">
|
|
||||||
${post.is_event ? '<span class="badge bg-info">Событие</span>' : ''}
|
|
||||||
${post.is_poll ? '<span class="badge bg-primary">Опрос</span>' : ''}
|
|
||||||
${!post.is_event && !post.is_poll ? '<span>Обычный</span>' : ''}
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="mb-4">
|
||||||
|
<div class="border p-3 bg-light rounded">${post.text || 'Нет текста'}</div>
|
||||||
</div>
|
</div>
|
||||||
${post.is_poll ? `
|
${post.is_poll ? `
|
||||||
<div class="card border-primary mb-4">
|
<div class="card border-primary mb-4">
|
||||||
@@ -1817,6 +1803,8 @@
|
|||||||
}
|
}
|
||||||
detailsHtml += `</div>`;
|
detailsHtml += `</div>`;
|
||||||
detailsPanel.innerHTML = detailsHtml;
|
detailsPanel.innerHTML = detailsHtml;
|
||||||
|
// Обновляем заголовок панели
|
||||||
|
document.getElementById('post-details-header').textContent = `Пост #${post.vk_post_id}: ${post.shortname || 'Без названия'}`;
|
||||||
// Обработчик для кнопки публикации
|
// Обработчик для кнопки публикации
|
||||||
document.getElementById('toggle-pub-btn').addEventListener('click', () => {
|
document.getElementById('toggle-pub-btn').addEventListener('click', () => {
|
||||||
togglePublication(post.id);
|
togglePublication(post.id);
|
||||||
|
|||||||
Reference in New Issue
Block a user