This commit is contained in:
+36
-3
@@ -700,6 +700,7 @@
|
||||
<tr>
|
||||
<th class="sortable-header">ID</th>
|
||||
<th class="sortable-header">Название</th>
|
||||
<th class="sortable-header">Статус</th>
|
||||
</tr>
|
||||
</thead>
|
||||
</table>
|
||||
@@ -709,7 +710,7 @@
|
||||
<table class="table table-hover mb-0">
|
||||
<tbody id="categories-table">
|
||||
<tr>
|
||||
<td colspan="2" class="text-center py-5">
|
||||
<td colspan="3" class="text-center py-5">
|
||||
<div class="spinner-border text-primary" role="status">
|
||||
<span class="visually-hidden">Загрузка...</span>
|
||||
</div>
|
||||
@@ -1846,7 +1847,7 @@
|
||||
if (categories.length === 0) {
|
||||
tableBody.innerHTML = `
|
||||
<tr>
|
||||
<td colspan="2" class="text-center py-5 text-muted">
|
||||
<td colspan="3" class="text-center py-5 text-muted">
|
||||
<i class="fas fa-inbox fa-3x mb-3"></i>
|
||||
<p>Нет доступных площадок</p>
|
||||
</td>
|
||||
@@ -1855,10 +1856,17 @@
|
||||
}
|
||||
tableBody.innerHTML = '';
|
||||
categories.forEach(category => {
|
||||
const publicationBadge = category.marked_for_publication
|
||||
? '<span class="badge bg-warning status-badge">Для публикации</span>'
|
||||
: '';
|
||||
const publishedBadge = category.is_tg_published
|
||||
? '<span class="badge bg-primary status-badge ms-1">Опубликовано</span>'
|
||||
: '';
|
||||
const row = `
|
||||
<tr class="category-row" data-id="${category.id}">
|
||||
<td>${category.id || '-'}</td>
|
||||
<td class="category-name-preview" title="${category.title || ''}">${category.title || 'Без названия'}</td>
|
||||
<td>${publicationBadge}${publishedBadge}</td>
|
||||
</tr>`;
|
||||
tableBody.innerHTML += row;
|
||||
});
|
||||
@@ -1878,7 +1886,7 @@
|
||||
} catch (error) {
|
||||
tableBody.innerHTML = `
|
||||
<tr>
|
||||
<td colspan="2" class="text-center py-5 text-danger">
|
||||
<td colspan="3" class="text-center py-5 text-danger">
|
||||
<i class="fas fa-exclamation-triangle fa-2x mb-3"></i>
|
||||
<p>Ошибка загрузки данных</p>
|
||||
<button class="btn btn-sm btn-outline-primary mt-2" onclick="loadCategoriesList()">
|
||||
@@ -1922,6 +1930,20 @@
|
||||
throw new Error('Площадка не найдена');
|
||||
}
|
||||
const category = await response.json();
|
||||
// Форматируем дату из UTC в локальное время
|
||||
const formatDateTime = (dateStr) => {
|
||||
if (!dateStr) return '';
|
||||
// Парсим дату как UTC и конвертируем в локальное время
|
||||
const date = new Date(dateStr + (dateStr.includes('Z') ? '' : 'Z'));
|
||||
return date.toLocaleString('ru-RU', {
|
||||
year: 'numeric',
|
||||
month: '2-digit',
|
||||
day: '2-digit',
|
||||
hour: '2-digit',
|
||||
minute: '2-digit',
|
||||
timeZoneName: 'short'
|
||||
});
|
||||
};
|
||||
// Создаем HTML для деталей
|
||||
let detailsHtml = `
|
||||
<div style="position: relative;">
|
||||
@@ -1939,6 +1961,17 @@
|
||||
<div class="mb-2">
|
||||
<strong>Название:</strong> ${category.title || 'Не указано'}
|
||||
</div>
|
||||
<div class="mb-2">
|
||||
<strong>Статус:</strong>
|
||||
${category.marked_for_publication && !category.is_tg_published ? '<span class="badge bg-warning">Для публикации</span>' : ''}
|
||||
${!category.marked_for_publication && !category.is_tg_published ? '<span class="badge bg-secondary">Не для публикации</span>' : ''}
|
||||
${category.is_tg_published ? '<span class="badge bg-primary">Опубликовано</span>' : ''}
|
||||
</div>
|
||||
${category.is_tg_published ? `
|
||||
<div class="mb-2">
|
||||
<strong>Опубликовано в TG</strong> ${category.tg_id ? `[ID ${category.tg_id}]` : ''} ${category.tg_published_date ? formatDateTime(category.tg_published_date) : ''}
|
||||
</div>
|
||||
` : ''}
|
||||
<div class="mb-2">
|
||||
<strong>Количество событий:</strong> ${category.event_count || 0}
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user