use tabs not spaces
parent
d8ffc075d3
commit
eebc6db138
|
@ -4038,7 +4038,7 @@ small, .small {
|
|||
.voting .arrow-down
|
||||
{
|
||||
display: block;
|
||||
text-decoration: none;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.box-shadow-bottom {
|
||||
|
@ -7593,6 +7593,6 @@ body {
|
|||
}
|
||||
|
||||
.rainbow-text del {
|
||||
color: var(--black);
|
||||
color: var(--black);
|
||||
font-weight: 400;
|
||||
}
|
||||
|
|
|
@ -4,22 +4,22 @@
|
|||
}
|
||||
|
||||
@media all and (max-width: 900px) {
|
||||
.orgy-top-container {
|
||||
flex-flow: column wrap;
|
||||
}
|
||||
.orgy-info-window-item {
|
||||
max-height: 20% !important;
|
||||
height: 20% !important;
|
||||
}
|
||||
.orgy-chat-window-item {
|
||||
max-height: 80% !important;
|
||||
height: 80% !important;
|
||||
}
|
||||
.orgy-top-container {
|
||||
flex-flow: column wrap;
|
||||
}
|
||||
.orgy-info-window-item {
|
||||
max-height: 20% !important;
|
||||
height: 20% !important;
|
||||
}
|
||||
.orgy-chat-window-item {
|
||||
max-height: 80% !important;
|
||||
height: 80% !important;
|
||||
}
|
||||
}
|
||||
@media all and (min-width: 900px) {
|
||||
.orgy-top-container {
|
||||
flex-flow: row nowrap;
|
||||
}
|
||||
.orgy-top-container {
|
||||
flex-flow: row nowrap;
|
||||
}
|
||||
}
|
||||
|
||||
.orgy-chat-window-item {
|
||||
|
@ -31,7 +31,7 @@
|
|||
width: 550px;
|
||||
}
|
||||
.rumble-player {
|
||||
aspect-ratio: 16/9;
|
||||
max-width: min(70vw,500px) !important;
|
||||
width: 500px;
|
||||
aspect-ratio: 16/9;
|
||||
max-width: min(70vw,500px) !important;
|
||||
width: 500px;
|
||||
}
|
||||
|
|
|
@ -101,7 +101,7 @@
|
|||
{% if v.admin_level >= PERMS['ORGIES'] %}
|
||||
<h4>Misc</h4>
|
||||
<ul>
|
||||
<li><a href="/admin/orgy">Start/Stop Orgy</a></li>
|
||||
<li><a href="/admin/orgy">Start/Stop Orgy</a></li>
|
||||
</ul>
|
||||
{%- endif %}
|
||||
<h4>Statistics</h4>
|
||||
|
|
|
@ -13,37 +13,37 @@
|
|||
</div>
|
||||
<div class="body d-lg-flex">
|
||||
<div class="w-lg-100">
|
||||
{%if not orgy%}
|
||||
<form id="orgy" action="/admin/start_orgy" method="post">
|
||||
<div class="d-lg-flex border-bottom">
|
||||
<div class="title w-lg-25">
|
||||
<label for="title">Title</label>
|
||||
</div>
|
||||
<div class="body w-lg-100">
|
||||
<input id="title" autocomplete="off" type="text" name="title" class="form-control">
|
||||
</div>
|
||||
</div>
|
||||
<div class="d-lg-flex border-bottom">
|
||||
<div class="title w-lg-25">
|
||||
<label for="link">Livestream link (youtube, twitch, rumble)</label>
|
||||
</div>
|
||||
<div class="body w-lg-100">
|
||||
<input id="link" autocomplete="off" type="text" name="link" class="form-control">
|
||||
</div>
|
||||
</div>
|
||||
<input hidden name="formkey" value="{{v|formkey}}">
|
||||
<div class="d-flex mt-2">
|
||||
<input autocomplete="off" class="btn btn-primary ml-auto" type="submit" value="Start Orgy">
|
||||
</div>
|
||||
</form>
|
||||
{%else%}
|
||||
<form id="orgy" action="/admin/stop_orgy" method="post">
|
||||
<input hidden name="formkey" value="{{v|formkey}}">
|
||||
<div class="d-flex mt-2">
|
||||
<input autocomplete="off" class="btn btn-primary ml-auto" type="submit" value="Stop Orgy">
|
||||
</div>
|
||||
</form>
|
||||
{%endif%}
|
||||
{%if not orgy%}
|
||||
<form id="orgy" action="/admin/start_orgy" method="post">
|
||||
<div class="d-lg-flex border-bottom">
|
||||
<div class="title w-lg-25">
|
||||
<label for="title">Title</label>
|
||||
</div>
|
||||
<div class="body w-lg-100">
|
||||
<input id="title" autocomplete="off" type="text" name="title" class="form-control">
|
||||
</div>
|
||||
</div>
|
||||
<div class="d-lg-flex border-bottom">
|
||||
<div class="title w-lg-25">
|
||||
<label for="link">Livestream link (youtube, twitch, rumble)</label>
|
||||
</div>
|
||||
<div class="body w-lg-100">
|
||||
<input id="link" autocomplete="off" type="text" name="link" class="form-control">
|
||||
</div>
|
||||
</div>
|
||||
<input hidden name="formkey" value="{{v|formkey}}">
|
||||
<div class="d-flex mt-2">
|
||||
<input autocomplete="off" class="btn btn-primary ml-auto" type="submit" value="Start Orgy">
|
||||
</div>
|
||||
</form>
|
||||
{%else%}
|
||||
<form id="orgy" action="/admin/stop_orgy" method="post">
|
||||
<input hidden name="formkey" value="{{v|formkey}}">
|
||||
<div class="d-flex mt-2">
|
||||
<input autocomplete="off" class="btn btn-primary ml-auto" type="submit" value="Stop Orgy">
|
||||
</div>
|
||||
</form>
|
||||
{%endif%}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -11,39 +11,39 @@
|
|||
<div class="container pb-4">
|
||||
|
||||
<div class="orgy-top-container">
|
||||
<div class="col text-left pt-3 orgy-info-window-item">
|
||||
<h2>{{orgy.title}}</h1>
|
||||
<div>
|
||||
{% if orgy.is_youtube() %}
|
||||
<lite-youtube videoid="{{orgy.data}}" params="autoplay=1&modestbranding=1"/>
|
||||
{% elif orgy.is_rumble() %}
|
||||
<iframe class="rumble rumble-player" width="100%" src="{{orgy.data}}" frameborder="0" allowfullscreen></iframe>
|
||||
{% elif orgy.is_twitch() %}
|
||||
<iframe
|
||||
src="https://player.twitch.tv/?channel={{orgy.data}}&parent={{site}}"
|
||||
class="rumble-player"
|
||||
allowfullscreen>
|
||||
</iframe>
|
||||
{%endif%}
|
||||
</div>
|
||||
<a href="/old_chat" class="btn btn-primary ml-auto" value="Old Chat">Old Chat</a>
|
||||
{{macros.chat_users_list()}}
|
||||
</div>
|
||||
<div class="col text-left pt-3 orgy-info-window-item">
|
||||
<h2>{{orgy.title}}</h1>
|
||||
<div>
|
||||
{% if orgy.is_youtube() %}
|
||||
<lite-youtube videoid="{{orgy.data}}" params="autoplay=1&modestbranding=1"/>
|
||||
{% elif orgy.is_rumble() %}
|
||||
<iframe class="rumble rumble-player" width="100%" src="{{orgy.data}}" frameborder="0" allowfullscreen></iframe>
|
||||
{% elif orgy.is_twitch() %}
|
||||
<iframe
|
||||
src="https://player.twitch.tv/?channel={{orgy.data}}&parent={{site}}"
|
||||
class="rumble-player"
|
||||
allowfullscreen>
|
||||
</iframe>
|
||||
{%endif%}
|
||||
</div>
|
||||
<a href="/old_chat" class="btn btn-primary ml-auto" value="Old Chat">Old Chat</a>
|
||||
{{macros.chat_users_list()}}
|
||||
</div>
|
||||
|
||||
<div class="orgy-chat-window-item">
|
||||
<div id="chat-group-template" class="d-none">
|
||||
{{macros.chat_group_template()}}
|
||||
</div>
|
||||
</div>
|
||||
<div class="orgy-chat-window-item">
|
||||
<div id="chat-group-template" class="d-none">
|
||||
{{macros.chat_group_template()}}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="chat-line-template" class="d-none">
|
||||
{{macros.chat_line_template()}}
|
||||
</div>
|
||||
{{macros.chat_users_online()}}
|
||||
{{macros.chat_window(vlink)}}
|
||||
</div>
|
||||
<div id="chat-line-template" class="d-none">
|
||||
{{macros.chat_line_template()}}
|
||||
</div>
|
||||
{{macros.chat_users_online()}}
|
||||
{{macros.chat_window(vlink)}}
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<input id="vid" hidden value="{{v.id}}">
|
||||
|
|
|
@ -222,128 +222,128 @@
|
|||
|
||||
{% macro chat_users_online() %}
|
||||
<div class="border-right pb-1 px-3">
|
||||
<span id="online2" data-bs-html="true" data-bs-toggle="tooltip" data-bs-placement="bottom" title="Users Online" class="text-muted">
|
||||
<i class="far fa-user fa-sm mr-1"></i>
|
||||
<span class="board-chat-count">0</span>
|
||||
</span>
|
||||
<span id="online2" data-bs-html="true" data-bs-toggle="tooltip" data-bs-placement="bottom" title="Users Online" class="text-muted">
|
||||
<i class="far fa-user fa-sm mr-1"></i>
|
||||
<span class="board-chat-count">0</span>
|
||||
</span>
|
||||
</div>
|
||||
{% endmacro %}
|
||||
|
||||
{% macro chat_group_template(id, m) %}
|
||||
<div class="chat-group">
|
||||
<a class="font-weight-bold userlink" target="_blank" {% if m %}style="color:#{{m['namecolor']}}" href="/@{{m['username']}}" {% endif %}><div class="avatar profile-pic-20-wrapper mr-1"><img loading="lazy" class="avatar-pic pp20 mr-1" {% if m %}src="/pp/{{m['user_id']}}"{% endif %}><img class="avatar-hat profile-pic-20-hat hat" loading="lazy" {% if m %}src="{{m['hat']}}"{% endif %}></div>{% if m %}{{m['username']}}{% else %}NULL{% endif %}</a>
|
||||
<span class="text-black time ml-1 mb-3 text-center">{% if m %}{{m['time'] | timestamp}}{% else %}just now{% endif %}</span>
|
||||
<input hidden class="user_id" {% if m %}value="{{m['user_id']}}"{% endif %}>
|
||||
<div class="chat-group">
|
||||
<a class="font-weight-bold userlink" target="_blank" {% if m %}style="color:#{{m['namecolor']}}" href="/@{{m['username']}}" {% endif %}><div class="avatar profile-pic-20-wrapper mr-1"><img loading="lazy" class="avatar-pic pp20 mr-1" {% if m %}src="/pp/{{m['user_id']}}"{% endif %}><img class="avatar-hat profile-pic-20-hat hat" loading="lazy" {% if m %}src="{{m['hat']}}"{% endif %}></div>{% if m %}{{m['username']}}{% else %}NULL{% endif %}</a>
|
||||
<span class="text-black time ml-1 mb-3 text-center">{% if m %}{{m['time'] | timestamp}}{% else %}just now{% endif %}</span>
|
||||
<input hidden class="user_id" {% if m %}value="{{m['user_id']}}"{% endif %}>
|
||||
{% endmacro %}
|
||||
|
||||
{% macro chat_line_template(id, m, vlink) %}
|
||||
{% set quote_exists = m and m['quotes'] and messages.get(m['quotes']) %}
|
||||
{% set mentioned = m and vlink in m['text_html'] or (quote_exists and messages[m['quotes']]['user_id'] == v.id) %}
|
||||
<div class="chat-line {% if mentioned %}chat-mention{% endif %}" {% if m %}id="{{id}}"{% endif %}>
|
||||
<div class="d-flex align-items-center">
|
||||
<div class="text-muted chat-line-content">
|
||||
<div class="{% if not (m and m['quotes']) %}d-none{% endif %} quotes" style="font-size:12px">
|
||||
<a class="QuotedMessageLink" {% if m and m['quotes'] %}href="#{{m['quotes']}}"{% endif %}>
|
||||
<i class="fas fa-reply"></i>
|
||||
<span class="text-primary">@<span class="QuotedUser">
|
||||
{%- if quote_exists -%}
|
||||
{{messages[m['quotes']]['username']}}
|
||||
{%- endif -%}
|
||||
</span></span>:
|
||||
<em class="QuotedMessage text-break">
|
||||
{%- if quote_exists -%}
|
||||
{% set quote_exists = m and m['quotes'] and messages.get(m['quotes']) %}
|
||||
{% set mentioned = m and vlink in m['text_html'] or (quote_exists and messages[m['quotes']]['user_id'] == v.id) %}
|
||||
<div class="chat-line {% if mentioned %}chat-mention{% endif %}" {% if m %}id="{{id}}"{% endif %}>
|
||||
<div class="d-flex align-items-center">
|
||||
<div class="text-muted chat-line-content">
|
||||
<div class="{% if not (m and m['quotes']) %}d-none{% endif %} quotes" style="font-size:12px">
|
||||
<a class="QuotedMessageLink" {% if m and m['quotes'] %}href="#{{m['quotes']}}"{% endif %}>
|
||||
<i class="fas fa-reply"></i>
|
||||
<span class="text-primary">@<span class="QuotedUser">
|
||||
{%- if quote_exists -%}
|
||||
{{messages[m['quotes']]['username']}}
|
||||
{%- endif -%}
|
||||
</span></span>:
|
||||
<em class="QuotedMessage text-break">
|
||||
{%- if quote_exists -%}
|
||||
{%- if v.slurreplacer -%}
|
||||
{{messages[m['quotes']]['text_censored']}}
|
||||
{%- else -%}
|
||||
{{messages[m['quotes']]['text']}}
|
||||
{%- endif -%}
|
||||
{%- endif -%}
|
||||
</em>
|
||||
</a>
|
||||
</div>
|
||||
{%- endif -%}
|
||||
</em>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<div class="d-flex">
|
||||
<span class="chat-message text-black text-break">
|
||||
{% if m %}
|
||||
{% if v.slurreplacer %}
|
||||
{{m['text_html_censored'] | safe}}
|
||||
{% else %}
|
||||
{{m['text_html'] | safe}}
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
</span>
|
||||
<span class="text d-none">
|
||||
<div class="d-flex">
|
||||
<span class="chat-message text-black text-break">
|
||||
{% if m %}
|
||||
{% if v.slurreplacer %}
|
||||
{{m['text_html_censored'] | safe}}
|
||||
{% else %}
|
||||
{{m['text_html'] | safe}}
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
</span>
|
||||
<span class="text d-none">
|
||||
{%- if m -%}
|
||||
{%- if v.slurreplacer -%}
|
||||
{{m['text_censored']}}
|
||||
{%- else -%}
|
||||
{{m['text']}}
|
||||
{%- endif -%}
|
||||
{%- if v.slurreplacer -%}
|
||||
{{m['text_censored']}}
|
||||
{%- else -%}
|
||||
{{m['text']}}
|
||||
{%- endif -%}
|
||||
{%- endif -%}
|
||||
</span>
|
||||
<i class="quote btn fas fa-reply ml-auto" data-nonce="{{g.nonce}}" data-onclick="quote(this)"></i>
|
||||
{% if v.admin_level >= PERMS['POST_COMMENT_MODERATION'] %}
|
||||
<i class="btn del delconfirm fas fa-trash-alt"></i>
|
||||
<i class="btn d-none del delmsg fas fa-trash-alt text-danger" data-nonce="{{g.nonce}}" data-onclick="del(this)"></i>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<i class="quote btn fas fa-reply ml-auto" data-nonce="{{g.nonce}}" data-onclick="quote(this)"></i>
|
||||
{% if v.admin_level >= PERMS['POST_COMMENT_MODERATION'] %}
|
||||
<i class="btn del delconfirm fas fa-trash-alt"></i>
|
||||
<i class="btn d-none del delmsg fas fa-trash-alt text-danger" data-nonce="{{g.nonce}}" data-onclick="del(this)"></i>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endmacro %}
|
||||
|
||||
{% macro chat_window(vlink)%}
|
||||
<div id="shrink">
|
||||
<div id="chat-window" class="container p-0">
|
||||
{% set messages_list = messages.items()|list %}
|
||||
{% for id, m in messages_list %}
|
||||
{% set same = loop.index > 1 and m['user_id'] == messages_list[loop.index-2][1]['user_id'] %}
|
||||
{% if not same %}
|
||||
{% if loop.index > 1 %}
|
||||
</div>
|
||||
{% endif %}
|
||||
{{chat_group_template(id, m)}}
|
||||
{% endif %}
|
||||
{{chat_line_template(id, m, vlink)}}
|
||||
{% endfor %}
|
||||
</div>
|
||||
</div>
|
||||
<div id="chat-window" class="container p-0">
|
||||
{% set messages_list = messages.items()|list %}
|
||||
{% for id, m in messages_list %}
|
||||
{% set same = loop.index > 1 and m['user_id'] == messages_list[loop.index-2][1]['user_id'] %}
|
||||
{% if not same %}
|
||||
{% if loop.index > 1 %}
|
||||
</div>
|
||||
{% endif %}
|
||||
{{chat_group_template(id, m)}}
|
||||
{% endif %}
|
||||
{{chat_line_template(id, m, vlink)}}
|
||||
{% endfor %}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="mt-3"></div>
|
||||
<div id="quotes" class="mt-3 ml-3 mb-2 d-none" style="font-size:12px">
|
||||
<a id="QuotedMessageLink">
|
||||
<i class="fas fa-reply"></i> <span class="text-primary">@<span id="QuotedUser"></span></span>: <em id="QuotedMessage"></em>
|
||||
<button type="button" id="cancel" class="btn btn-secondary">Cancel</button>
|
||||
<input hidden id="quotes_id">
|
||||
</a>
|
||||
</div>
|
||||
<div class="mt-3"></div>
|
||||
<div id="quotes" class="mt-3 ml-3 mb-2 d-none" style="font-size:12px">
|
||||
<a id="QuotedMessageLink">
|
||||
<i class="fas fa-reply"></i> <span class="text-primary">@<span id="QuotedUser"></span></span>: <em id="QuotedMessage"></em>
|
||||
<button type="button" id="cancel" class="btn btn-secondary">Cancel</button>
|
||||
<input hidden id="quotes_id">
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<div id='message' class="d-none position-relative form-group d-flex">
|
||||
<div class="position-absolute text-muted text-small ml-1" style="bottom: -1.5rem; line-height: 1;">
|
||||
<span id="typing-indicator"></span>
|
||||
<span id="loading-indicator" class="d-none"></span>
|
||||
</div>
|
||||
<span class="my-auto">
|
||||
<i class="btn btn-secondary fas fa-smile-beam" style="font-size:1.3rem!important" data-nonce="{{g.nonce}}" data-onclick="loadEmojis('input-text')" data-bs-toggle="modal" data-bs-target="#emojiModal"></i>
|
||||
</span>
|
||||
<div id='message' class="d-none position-relative form-group d-flex">
|
||||
<div class="position-absolute text-muted text-small ml-1" style="bottom: -1.5rem; line-height: 1;">
|
||||
<span id="typing-indicator"></span>
|
||||
<span id="loading-indicator" class="d-none"></span>
|
||||
</div>
|
||||
<span class="my-auto">
|
||||
<i class="btn btn-secondary fas fa-smile-beam" style="font-size:1.3rem!important" data-nonce="{{g.nonce}}" data-onclick="loadEmojis('input-text')" data-bs-toggle="modal" data-bs-target="#emojiModal"></i>
|
||||
</span>
|
||||
|
||||
<span class="my-auto ml-1">
|
||||
<label class="btn btn-secondary format mb-0">
|
||||
<div class="mr-3" style="font-size:12px"><i class="fas fa-image" style="font-size:1.3rem!important"></i></div>
|
||||
<input autocomplete="off" id="file" accept="image/*" type="file" name="file" {% if g.is_tor %}disabled{% endif %} hidden>
|
||||
</label>
|
||||
</span>
|
||||
<span class="my-auto ml-1">
|
||||
<label class="btn btn-secondary format mb-0">
|
||||
<div class="mr-3" style="font-size:12px"><i class="fas fa-image" style="font-size:1.3rem!important"></i></div>
|
||||
<input autocomplete="off" id="file" accept="image/*" type="file" name="file" {% if g.is_tor %}disabled{% endif %} hidden>
|
||||
</label>
|
||||
</span>
|
||||
|
||||
<textarea id="input-text" minlength="1" maxlength="{% if SITE == 'rdrama.net' %}200{% else %}1000{% endif %}" {% if g.browser in ("iphone","mac") %}style="font-size:16px!important"{% endif %} class="file-ta form-control" placeholder="Message" autocomplete="off" autofocus rows="1"></textarea>
|
||||
<textarea id="input-text" minlength="1" maxlength="{% if SITE == 'rdrama.net' %}200{% else %}1000{% endif %}" {% if g.browser in ("iphone","mac") %}style="font-size:16px!important"{% endif %} class="file-ta form-control" placeholder="Message" autocomplete="off" autofocus rows="1"></textarea>
|
||||
|
||||
<i id="chatsend" data-nonce="{{g.nonce}}" data-onclick="send()" class="btn btn-secondary fas fa-reply ml-3 my-auto" style="transform:rotateY(180deg);font-size:1.3rem!important"></i>
|
||||
</div>
|
||||
<i id="chatsend" data-nonce="{{g.nonce}}" data-onclick="send()" class="btn btn-secondary fas fa-reply ml-3 my-auto" style="transform:rotateY(180deg);font-size:1.3rem!important"></i>
|
||||
</div>
|
||||
</div>
|
||||
{% endmacro %}
|
||||
|
||||
{% macro chat_users_list() %}
|
||||
<div class="col text-left d-none d-lg-block pt-3" style="max-width:300px">
|
||||
<h5>Users Online</h5>
|
||||
<div id="online" class="mt-3"></div>
|
||||
</div>
|
||||
<div class="col text-left d-none d-lg-block pt-3" style="max-width:300px">
|
||||
<h5>Users Online</h5>
|
||||
<div id="online" class="mt-3"></div>
|
||||
</div>
|
||||
{% endmacro %}
|
||||
|
|
Loading…
Reference in New Issue