whatapp-go-pvnet/frontend/templates/adminconversations.pages.tmpl

58 lines
2.0 KiB
Cheetah
Raw Normal View History

2025-05-09 13:39:34 +00:00
{{ define "adminconversations.pages.tmpl" }}
2025-05-09 13:42:53 +00:00
{{ template "head" . }}
2025-05-09 14:59:48 +00:00
<div class="columns">
{{ template "sidebar" . }}
2025-05-09 15:05:31 +00:00
<div class="column is-10">
<h2>Historique des messages de l'utilisateur #{{ .UserID }}</h2>
2025-05-09 08:14:22 +00:00
2025-05-09 15:56:57 +00:00
<div class="filters mb-3">
<input type="text" class="input is-small" placeholder="📅 Filtrer par date" onkeyup="filterTable(0, this.value)">
<input type="text" class="input is-small" placeholder="➡️ Direction" onkeyup="filterTable(1, this.value)">
<input type="text" class="input is-small" placeholder="📨 Expéditeur" onkeyup="filterTable(2, this.value)">
<input type="text" class="input is-small" placeholder="📦 Type" onkeyup="filterTable(3, this.value)">
<input type="text" class="input is-small" placeholder="💬 Contenu" onkeyup="filterTable(4, this.value)">
<input type="text" class="input is-small" placeholder="✅ Statut" onkeyup="filterTable(5, this.value)">
2025-05-09 15:05:31 +00:00
</div>
2025-05-09 08:14:22 +00:00
2025-05-09 15:56:57 +00:00
<table class="table is-fullwidth is-striped is-hoverable" id="conversationTable">
2025-05-09 15:05:31 +00:00
<thead>
<tr>
<th>Date</th>
<th>Direction</th>
<th>Expéditeur</th>
<th>Type</th>
<th>Contenu</th>
<th>Statut</th>
</tr>
</thead>
2025-05-09 15:56:57 +00:00
<tbody id="conversationRows"
hx-get="/api/user/{{ .UserID }}/conversations"
hx-trigger="load"
hx-target="this"
2025-05-09 15:05:31 +00:00
hx-swap="innerHTML">
</tbody>
</table>
2025-05-09 15:56:57 +00:00
2025-05-09 15:05:31 +00:00
<hr>
<h3>Conversation complète</h3>
<div id="threadViewer" class="mt-3"></div>
</div>
</div>
2025-05-09 15:56:57 +00:00
<script>
function filterTable(colIndex, filterValue) {
const table = document.getElementById("conversationTable");
const rows = table.getElementsByTagName("tbody")[0].getElementsByTagName("tr");
filterValue = filterValue.toLowerCase();
for (let i = 0; i < rows.length; i++) {
const td = rows[i].getElementsByTagName("td")[colIndex];
if (td) {
const text = td.textContent || td.innerText;
rows[i].style.display = text.toLowerCase().includes(filterValue) ? "" : "none";
}
}
}
</script>
{{ end }}