177 lines
10 KiB
HTML
177 lines
10 KiB
HTML
<article class="table-container" id="modal-context-table">
|
|
<table class="table is-fullwidth">
|
|
<thead>
|
|
<th></th>
|
|
<th></th>
|
|
<th></th>
|
|
</thead>
|
|
<tbody>
|
|
{% for item in object_list %}
|
|
{% if item.type == 'control' %}
|
|
<tr>
|
|
<td></td>
|
|
<td>
|
|
<span class="icon has-text-grey" data-tooltip="Hidden">
|
|
<i class="fa-solid fa-file-slash"></i>
|
|
</span>
|
|
</td>
|
|
<td>
|
|
<p class="has-text-grey">Hidden {{ item.hidden }} similar result{% if item.hidden > 1%}s{% endif %}</p>
|
|
</td>
|
|
</tr>
|
|
{% else %}
|
|
<tr>
|
|
<td>{{ item.time }}</td>
|
|
<td>
|
|
{% if item.type != 'znc' and item.type != 'self' and query is not True %}
|
|
<article class="nowrap-parent">
|
|
<article class="nowrap-child">
|
|
{% if item.type == 'msg' %}
|
|
<span class="icon" data-tooltip="Message">
|
|
<i class="fa-solid fa-message"></i>
|
|
</span>
|
|
{% elif item.type == 'join' %}
|
|
<span class="icon" data-tooltip="Join">
|
|
<i class="fa-solid fa-person-to-portal"></i>
|
|
</span>
|
|
{% elif item.type == 'part' %}
|
|
<span class="icon" data-tooltip="Part">
|
|
<i class="fa-solid fa-person-from-portal"></i>
|
|
</span>
|
|
{% elif item.type == 'quit' %}
|
|
<span class="icon" data-tooltip="Quit">
|
|
<i class="fa-solid fa-circle-xmark"></i>
|
|
</span>
|
|
{% elif item.type == 'kick' %}
|
|
<span class="icon" data-tooltip="Kick">
|
|
<i class="fa-solid fa-user-slash"></i>
|
|
</span>
|
|
{% elif item.type == 'nick' %}
|
|
<span class="icon" data-tooltip="Nick">
|
|
<i class="fa-solid fa-signature"></i>
|
|
</span>
|
|
{% elif item.type == 'mode' %}
|
|
<span class="icon" data-tooltip="Mode">
|
|
<i class="fa-solid fa-gear"></i>
|
|
</span>
|
|
{% elif item.type == 'action' %}
|
|
<span class="icon" data-tooltip="Action">
|
|
<i class="fa-solid fa-exclamation"></i>
|
|
</span>
|
|
{% elif item.type == 'notice' %}
|
|
<span class="icon" data-tooltip="Notice">
|
|
<i class="fa-solid fa-message-code"></i>
|
|
</span>
|
|
{% elif item.type == 'conn' %}
|
|
<span class="icon" data-tooltip="Connection">
|
|
<i class="fa-solid fa-cloud-exclamation"></i>
|
|
</span>
|
|
{% elif item.type == 'znc' %}
|
|
<span class="icon" data-tooltip="ZNC">
|
|
<i class="fa-brands fa-unity"></i>
|
|
</span>
|
|
{% elif item.type == 'query' %}
|
|
<span class="icon" data-tooltip="Query">
|
|
<i class="fa-solid fa-message"></i>
|
|
</span>
|
|
{% elif item.type == 'highlight' %}
|
|
<span class="icon" data-tooltip="Highlight">
|
|
<i class="fa-solid fa-exclamation"></i>
|
|
</span>
|
|
{% elif item.type == 'who' %}
|
|
<span class="icon" data-tooltip="Who">
|
|
<i class="fa-solid fa-passport"></i>
|
|
</span>
|
|
{% elif item.type == 'topic' %}
|
|
<span class="icon" data-tooltip="Topic">
|
|
<i class="fa-solid fa-sign"></i>
|
|
</span>
|
|
{% else %}
|
|
{{ item.type }}
|
|
{% endif %}
|
|
{% if item.online is True %}
|
|
<span class="icon has-text-success has-tooltip-success" data-tooltip="Online">
|
|
<i class="fa-solid fa-circle"></i>
|
|
</span>
|
|
{% elif item.online is False %}
|
|
<span class="icon has-text-danger has-tooltip-danger" data-tooltip="Offline">
|
|
<i class="fa-solid fa-circle"></i>
|
|
</span>
|
|
{% else %}
|
|
<span class="icon has-text-warning has-tooltip-warning" data-tooltip="Unknown">
|
|
<i class="fa-solid fa-circle"></i>
|
|
</span>
|
|
{% endif %}
|
|
{% if item.src == 'irc' %}
|
|
<a
|
|
hx-headers='{"X-CSRFToken": "{{ csrf_token }}"}'
|
|
hx-post="{% url 'modal_drilldown' %}"
|
|
hx-vals='{"net": "{{ item.net }}", "nick": "{{ item.nick }}", "channel": "{{ item.channel }}"}'
|
|
hx-target="#modals-here"
|
|
hx-trigger="click"
|
|
class="has-text-black">
|
|
<span class="icon" data-tooltip="Open drilldown modal">
|
|
<i class="fa-solid fa-album"></i>
|
|
</span>
|
|
</a>
|
|
{% endif %}
|
|
</article>
|
|
<a class="nowrap-child has-text-link is-underlined" onclick="populateSearch('nick', '{{ item.nick|escapejs }}')">
|
|
{{ item.nick }}
|
|
</a>
|
|
{% if item.num_chans != '—' %}
|
|
<article class="nowrap-child">
|
|
<span class="tag">
|
|
{{ item.num_chans }}
|
|
</span>
|
|
</article>
|
|
{% endif %}
|
|
</article>
|
|
{% endif %}
|
|
{% if item.type == 'self' %}
|
|
<span class="icon has-text-primary" data-tooltip="You">
|
|
<i class="fa-solid fa-message-check"></i>
|
|
</span>
|
|
{% elif item.type == 'znc' %}
|
|
<span class="icon has-text-info" data-tooltip="ZNC">
|
|
<i class="fa-brands fa-unity"></i>
|
|
</span>
|
|
{% elif query %}
|
|
<span class="icon has-text-info" data-tooltip="Auth">
|
|
<i class="fa-solid fa-passport"></i>
|
|
</span>
|
|
{% endif %}
|
|
</td>
|
|
<td class="wrap">{{ item.msg }}</td>
|
|
</tr>
|
|
{% endif %}
|
|
{% endfor %}
|
|
</tbody>
|
|
</table>
|
|
{% if object_list %}
|
|
<div
|
|
class="modal-refresh"
|
|
style="display: none;"
|
|
hx-headers='{"X-CSRFToken": "{{ csrf_token }}"}'
|
|
hx-post="{% url 'modal_context_table' %}"
|
|
hx-vals='{"net": "{{ net }}",
|
|
"num": "{{ num }}",
|
|
"source": "{{ source }}",
|
|
"channel": "{{ channel }}",
|
|
"time": "{{ time }}",
|
|
"date": "{{ date }}",
|
|
"index": "{{ index }}",
|
|
"type": "{{ type }}",
|
|
"mtype": "{{ mtype }}",
|
|
"nick": "{{ nick }}",
|
|
"dedup": "{{ params.dedup }}"}'
|
|
hx-target="#modal-context-table"
|
|
hx-trigger="every 5s">
|
|
</div>
|
|
{% endif %}
|
|
</article>
|
|
|
|
<script>
|
|
var modal_event = new Event('restore-modal-scroll');
|
|
document.dispatchEvent(modal_event);
|
|
</script> |