v1.8.6: сортировка таблиц, спиннеры number input, единый стиль — fix broken HTML, modal-actions → form-actions, card-wrapper
This commit is contained in:
@@ -1,27 +1,26 @@
|
||||
{% extends "page.html" %}
|
||||
{% block page_content %}
|
||||
<div class="page-header">
|
||||
<h1>Диалоги чат-бота</h1>
|
||||
<div class="header-controls">
|
||||
<input type="text" id="search-input" placeholder="Поиск по ID или имени..." oninput="filterConversations()" class="filter-input">
|
||||
<button onclick="loadConversations()" class="btn btn-primary">Обновить</button>
|
||||
<div class="card">
|
||||
<div class="card-header"><h2>Диалоги чат-бота</h2>
|
||||
<button onclick="loadConversations()" class="btn btn-primary btn-sm">Обновить</button>
|
||||
</div>
|
||||
<div class="filter-bar">
|
||||
<input type="text" id="search-input" placeholder="Поиск по ID или имени..." oninput="filterConversations()">
|
||||
<select id="status-filter" onchange="filterConversations()" class="filter-select">
|
||||
<option value="">Все статусы</option>
|
||||
<option value="greeting">Приветствие</option>
|
||||
<option value="collecting_name">Сбор имени</option>
|
||||
<option value="collecting_phone">Сбор телефона</option>
|
||||
<option value="collecting_email">Сбор email</option>
|
||||
<option value="ticket_creation">Создание заявки</option>
|
||||
<option value="question">Вопрос</option>
|
||||
<option value="done">Завершён</option>
|
||||
</select>
|
||||
</div>
|
||||
<script>var USER_ROLE = '{{ user.role }}';</script>
|
||||
<div id="conversations-container">
|
||||
<div class="loading"><div class="spinner"></div></div>
|
||||
</div>
|
||||
</div>
|
||||
<script>var USER_ROLE = '{{ user.role }}';</script>
|
||||
<div style="margin-bottom:12px;display:flex;gap:8px;flex-wrap:wrap;">
|
||||
<select id="status-filter" onchange="filterConversations()" class="filter-select">
|
||||
<option value="">Все статусы</option>
|
||||
<option value="greeting">Приветствие</option>
|
||||
<option value="collecting_name">Сбор имени</option>
|
||||
<option value="collecting_phone">Сбор телефона</option>
|
||||
<option value="collecting_email">Сбор email</option>
|
||||
<option value="ticket_creation">Создание заявки</option>
|
||||
<option value="question">Вопрос</option>
|
||||
<option value="done">Завершён</option>
|
||||
</select>
|
||||
</div>
|
||||
<div id="conversations-container">
|
||||
<div class="loading"><div class="spinner"></div></div>
|
||||
</div>
|
||||
|
||||
<div class="modal-overlay" id="dialog-modal">
|
||||
@@ -44,7 +43,7 @@
|
||||
<p style="color:var(--text-secondary);font-size:14px;margin-bottom:20px;">
|
||||
Диалог с <strong id="delete-conv-name"></strong> будет удалён навсегда. Это действие нельзя отменить.
|
||||
</p>
|
||||
<div class="modal-actions" style="justify-content:flex-end;">
|
||||
<div class="form-actions" style="justify-content:flex-end;">
|
||||
<button type="button" class="btn btn-danger" onclick="confirmDelete()">Удалить</button>
|
||||
<button type="button" class="btn" onclick="closeDeleteModal()">Отмена</button>
|
||||
</div>
|
||||
@@ -76,13 +75,8 @@
|
||||
.log-time { font-size:10px; color:var(--text-muted,#6B8299); }
|
||||
.tab-btn { padding:6px 14px; border:1px solid var(--border,#253248); background:transparent; color:var(--text-primary,#E8EDF2); border-radius:4px; cursor:pointer; font-size:12px; }
|
||||
.tab-btn.active { background:var(--accent,#00ADEF); border-color:var(--accent,#00ADEF); color:#fff; }
|
||||
.page-header { display:flex; justify-content:space-between; align-items:center; margin-bottom:16px; flex-wrap:wrap; gap:8px; }
|
||||
.header-controls { display:flex; gap:8px; align-items:center; }
|
||||
.filter-input { padding:6px 10px; border:1px solid var(--border,#253248); border-radius:4px; background:var(--bg-body,#1B2838); color:var(--text-primary,#E8EDF2); font-size:12px; width:200px; }
|
||||
.filter-select { padding:6px 10px; border:1px solid var(--border,#253248); border-radius:4px; background:var(--bg-body,#1B2838); color:var(--text-primary,#E8EDF2); font-size:12px; }
|
||||
.conv-delete { background:none; border:none; cursor:pointer; font-size:14px; padding:2px 6px; border-radius:4px; opacity:0.5; transition:opacity 0.2s; margin-left:auto; }
|
||||
.conv-delete:hover { opacity:1; background:rgba(232,107,107,0.15); }
|
||||
.conv-header { display:flex; align-items:center; gap:8px; }
|
||||
#delete-modal .modal { max-width:420px; }
|
||||
#delete-modal h2 { font-size:16px; margin-bottom:8px; }
|
||||
#delete-modal p { color:var(--text-secondary); font-size:14px; }
|
||||
|
||||
Reference in New Issue
Block a user