Implement more elements on Insights page
parent
9de9ddff6f
commit
17d465171b
@ -0,0 +1,15 @@
|
|||||||
|
from core.lib.opensearch import client, run_main_query
|
||||||
|
|
||||||
|
|
||||||
|
def get_nicks(request, net, nick):
|
||||||
|
"""
|
||||||
|
Get all related nicknames of the given nickname by tracking nickname changes.
|
||||||
|
"""
|
||||||
|
# Get the initial query
|
||||||
|
query = {}
|
||||||
|
results = set()
|
||||||
|
# nicks = query["nicks"]
|
||||||
|
# for nick in nicks:
|
||||||
|
# if nick not in results:
|
||||||
|
# nicks_result = get_nicks(request, net_nick)
|
||||||
|
# results.add(nick)
|
@ -0,0 +1,112 @@
|
|||||||
|
{% load static %}
|
||||||
|
{% load index %}
|
||||||
|
<div id="info">
|
||||||
|
<div class="panel is-primary">
|
||||||
|
<p class="panel-heading">
|
||||||
|
Information
|
||||||
|
</p>
|
||||||
|
<div class="panel-block is-active">
|
||||||
|
{% if item is not None %}
|
||||||
|
<div class="table-container">
|
||||||
|
<table class="table is-fullwidth is-hoverable">
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<th>src</th>
|
||||||
|
<td>
|
||||||
|
{% if item.src == 'irc' %}
|
||||||
|
<span class="icon" data-tooltip="IRC">
|
||||||
|
<i class="fa-solid fa-hashtag" aria-hidden="true"></i>
|
||||||
|
</span>
|
||||||
|
IRC
|
||||||
|
{% elif item.src == 'dis' %}
|
||||||
|
<span class="icon" data-tooltip="Discord">
|
||||||
|
<i class="fa-brands fa-discord" aria-hidden="true"></i>
|
||||||
|
</span>
|
||||||
|
Discord
|
||||||
|
{% endif %}
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<th>nick</th>
|
||||||
|
<td>
|
||||||
|
{% 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>
|
||||||
|
{{ item.nick }}
|
||||||
|
{% 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>
|
||||||
|
{{ item.nick }}
|
||||||
|
{% else %}
|
||||||
|
<span class="icon has-text-warning has-tooltip-warning" data-tooltip="Unknown">
|
||||||
|
<i class="fa-solid fa-circle"></i>
|
||||||
|
</span>
|
||||||
|
{{ item.nick }}
|
||||||
|
{% endif %}
|
||||||
|
{% if item.num_chans is not None %}
|
||||||
|
<span class="tag">
|
||||||
|
{{ item.num_chans }}
|
||||||
|
</span>
|
||||||
|
{% endif %}
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<th>host</th>
|
||||||
|
<td>{{ item.host }}</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<th>actions</th>
|
||||||
|
<td>
|
||||||
|
{% if item.src == 'irc' %}
|
||||||
|
<button
|
||||||
|
hx-headers='{"X-CSRFToken": "{{ csrf_token }}"}'
|
||||||
|
hx-post="{% url 'modal_insights' %}"
|
||||||
|
hx-vals='{"net": "{{ item.net }}", "nick": "{{ item.nick }}", "channel": "{{ item.channel }}"}'
|
||||||
|
hx-target="#modals-here"
|
||||||
|
hx-trigger="click"
|
||||||
|
class="button is-small">
|
||||||
|
Information
|
||||||
|
</button>
|
||||||
|
{% endif %}
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<th>net</th>
|
||||||
|
<td>{{ item.net }}</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
{% endif %}
|
||||||
|
</div>
|
||||||
|
<div
|
||||||
|
style="display: none;"
|
||||||
|
hx-headers='{"X-CSRFToken": "{{ csrf_token }}"}'
|
||||||
|
hx-vals='{"net": "{{ item.net }}", "nick": "{{ item.nick }}"}'
|
||||||
|
hx-post="{% url 'chans_insights' %}"
|
||||||
|
hx-trigger="load"
|
||||||
|
hx-target="#channels"
|
||||||
|
hx-swap="outerHTML">
|
||||||
|
</div>
|
||||||
|
<div
|
||||||
|
style="display: none;"
|
||||||
|
hx-headers='{"X-CSRFToken": "{{ csrf_token }}"}'
|
||||||
|
hx-vals='{"net": "{{ item.net }}", "nick": "{{ item.nick }}"}'
|
||||||
|
hx-post="{% url 'nicks_insights' %}"
|
||||||
|
hx-trigger="load"
|
||||||
|
hx-target="#nicks"
|
||||||
|
hx-swap="outerHTML">
|
||||||
|
</div>
|
||||||
|
<div
|
||||||
|
style="display: none;"
|
||||||
|
hx-headers='{"X-CSRFToken": "{{ csrf_token }}"}'
|
||||||
|
hx-vals='{"net": "{{ item.net }}", "nick": "{{ item.nick }}"}'
|
||||||
|
hx-post="{% url 'meta_insights' %}"
|
||||||
|
hx-trigger="load"
|
||||||
|
hx-target="#meta"
|
||||||
|
hx-swap="outerHTML">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
@ -0,0 +1,21 @@
|
|||||||
|
<div id="meta">
|
||||||
|
<div class="panel is-primary" style="max-height: 30em; overflow: auto">
|
||||||
|
<p class="panel-heading">
|
||||||
|
Meta
|
||||||
|
</p>
|
||||||
|
<a class="panel-block is-active">
|
||||||
|
<span class="panel-icon">
|
||||||
|
<i class="fa-solid fa-hashtag" aria-hidden="true"></i>
|
||||||
|
</span>
|
||||||
|
<span
|
||||||
|
hx-headers='{"X-CSRFToken": "{{ csrf_token }}"}'
|
||||||
|
hx-post="{% url 'modal_drilldown' %}"
|
||||||
|
hx-vals='{"net": "{{ net }}", "nick": "{{ nick }}", "channel": "{{ chan }}"}'
|
||||||
|
hx-target="#modals-here"
|
||||||
|
hx-trigger="click"
|
||||||
|
class="button is-small">
|
||||||
|
bbb
|
||||||
|
</span>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
@ -0,0 +1,21 @@
|
|||||||
|
<div id="nicks">
|
||||||
|
<div class="panel is-primary" style="max-height: 30em; overflow: auto">
|
||||||
|
<p class="panel-heading">
|
||||||
|
Nicks
|
||||||
|
</p>
|
||||||
|
<a class="panel-block is-active">
|
||||||
|
<span class="panel-icon">
|
||||||
|
<i class="fa-solid fa-hashtag" aria-hidden="true"></i>
|
||||||
|
</span>
|
||||||
|
<span
|
||||||
|
hx-headers='{"X-CSRFToken": "{{ csrf_token }}"}'
|
||||||
|
hx-post="{% url 'modal_drilldown' %}"
|
||||||
|
hx-vals='{"net": "{{ net }}", "nick": "{{ nick }}", "channel": "{{ chan }}"}'
|
||||||
|
hx-target="#modals-here"
|
||||||
|
hx-trigger="click"
|
||||||
|
class="button is-small">
|
||||||
|
aaa
|
||||||
|
</span>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
@ -1,94 +0,0 @@
|
|||||||
{% load static %}
|
|
||||||
{% load index %}
|
|
||||||
|
|
||||||
<div class="panel is-primary">
|
|
||||||
<p class="panel-heading">
|
|
||||||
Information
|
|
||||||
</p>
|
|
||||||
<div class="panel-block is-active">
|
|
||||||
<div class="tile is-child">
|
|
||||||
{% if item is not None %}
|
|
||||||
<div class="table-container">
|
|
||||||
<table class="table is-fullwidth is-hoverable">
|
|
||||||
<tbody>
|
|
||||||
<tr>
|
|
||||||
<th>src</th>
|
|
||||||
<td>
|
|
||||||
{% if item.src == 'irc' %}
|
|
||||||
<span class="icon" data-tooltip="IRC">
|
|
||||||
<i class="fa-solid fa-hashtag" aria-hidden="true"></i>
|
|
||||||
</span>
|
|
||||||
IRC
|
|
||||||
{% elif item.src == 'dis' %}
|
|
||||||
<span class="icon" data-tooltip="Discord">
|
|
||||||
<i class="fa-brands fa-discord" aria-hidden="true"></i>
|
|
||||||
</span>
|
|
||||||
Discord
|
|
||||||
{% endif %}
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<th>nick</th>
|
|
||||||
<td>
|
|
||||||
{% 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>
|
|
||||||
{{ item.nick }}
|
|
||||||
{% 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>
|
|
||||||
{{ item.nick }}
|
|
||||||
{% else %}
|
|
||||||
<span class="icon has-text-warning has-tooltip-warning" data-tooltip="Unknown">
|
|
||||||
<i class="fa-solid fa-circle"></i>
|
|
||||||
</span>
|
|
||||||
{{ item.nick }}
|
|
||||||
{% endif %}
|
|
||||||
{% if item.num_chans is not None %}
|
|
||||||
<span class="tag">
|
|
||||||
{{ item.num_chans }}
|
|
||||||
</span>
|
|
||||||
{% endif %}
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<th>host</th>
|
|
||||||
<td>{{ item.host }}</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<th>actions</th>
|
|
||||||
<td>
|
|
||||||
{% if item.src == 'irc' %}
|
|
||||||
<button
|
|
||||||
hx-headers='{"X-CSRFToken": "{{ csrf_token }}"}'
|
|
||||||
hx-post="{% url 'modal_insights' %}"
|
|
||||||
hx-vals='{"net": "{{ item.net }}", "nick": "{{ item.nick }}", "channel": "{{ item.channel }}"}'
|
|
||||||
hx-target="#modals-here"
|
|
||||||
hx-trigger="click"
|
|
||||||
class="button is-small">
|
|
||||||
Information
|
|
||||||
</button>
|
|
||||||
{% endif %}
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<th>net</th>
|
|
||||||
<td>{{ item.net }}</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
{% endif %}
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div
|
|
||||||
hx-headers='{"X-CSRFToken": "{{ csrf_token }}"}'
|
|
||||||
hx-vals='{"net": "{{ item.net }}", "nick": "{{ item.nick }}"}'
|
|
||||||
hx-post="{% url 'chans_insights' %}"
|
|
||||||
hx-trigger="load"
|
|
||||||
hx-target="#chans1"
|
|
||||||
hx-swap="outerHTML">
|
|
||||||
</div>
|
|
Loading…
Reference in New Issue