2021-10-15 14:08:27 +00:00
< style >
html {
scroll-padding-top: 75px;
}
.comment {
overflow: hidden;
}
.comment .comment-body {
padding: 3px 0;
}
.comment-anchor:target {
2021-12-03 17:10:51 +00:00
transition: all 0.25s ease;
2021-12-03 17:10:21 +00:00
animation: blink normal 1s ease;
2021-11-24 20:57:16 +00:00
}
@keyframes blink {
0% {
2021-12-03 17:09:57 +00:00
background-color: rgba(0,0,0,0.1)
2021-11-24 20:57:16 +00:00
}
50% {
2021-12-03 17:09:57 +00:00
background-color: rgba(0,0,0,0.2)
2021-11-24 20:57:16 +00:00
}
100% {
2021-12-03 17:09:57 +00:00
background-color: rgba(0,0,0,0.1)
2021-11-24 20:57:16 +00:00
}
2021-10-15 14:08:27 +00:00
}
< / style >
2021-12-04 01:40:15 +00:00
{% if v %}
2021-10-15 14:08:27 +00:00
{% include "award_modal.html" %}
2021-12-05 01:52:26 +00:00
< script defer src = "https://cdn.jsdelivr.net/npm/marked@3.0.8/lib/marked.min.js" > < / script >
2021-12-04 02:42:45 +00:00
< script defer src = "/assets/js/comments_v.js?v=74" > < / script >
2021-12-04 01:40:15 +00:00
{% endif %}
2021-10-15 14:08:27 +00:00
2021-11-15 22:13:29 +00:00
{% if v and v.admin_level > 1 %}
2021-12-04 01:25:18 +00:00
< script defer src = "/assets/js/comments_admin.js?v=54" > < / script >
2021-10-15 14:08:27 +00:00
{% endif %}
2021-12-05 01:52:26 +00:00
< script defer src = "/assets/js/popover.js?v=9" > < / script >
2021-12-04 04:06:43 +00:00
< script defer src = "/assets/js/comments.js?v=5" > < / script >
2021-10-15 14:08:27 +00:00
{% include "expanded_image_modal.html" %}
2021-12-05 01:52:26 +00:00
< script defer >
function poll_vote(cid, parentid) {
{% if v %}
for(let el of document.getElementsByClassName('presult-'+parentid)) {
el.classList.remove('hidden');
}
for(let el of document.getElementsByClassName('presult')) {
el.classList.remove('hidden');
}
var type = document.getElementById(cid).checked;
var scoretext = document.getElementById('poll-' + cid);
var score = Number(scoretext.textContent);
if (type == true) scoretext.textContent = score + 1;
else scoretext.textContent = score - 1;
post('/vote/poll/' + cid + '?vote=' + type);
{% else %}
var myToast = new bootstrap.Toast(document.getElementById('toast-post-error'));
myToast.show();
document.getElementById('toast-post-error-text').innerText = "Only logged-in users can vote!";
{% endif %}
}
< / script >
2021-10-15 14:08:27 +00:00
{% macro single_comment(c, level=1) %}
2021-12-05 01:52:26 +00:00
{% if p and not (v and v.id==c.author_id) and (not v or v.highlightcomments) %}
< script defer >
comments = JSON.parse(localStorage.getItem("comment-counts")) || {}
lastCount = comments['{{p.id}}']
if (lastCount & & {{c.created_utc*1000}} > lastCount.t) {
document.getElementById("reddot-{{c.id}}").innerHTML = '< i style = "color:red !important" class = "text-admin fas fa-circle" data-bs-toggle = "tooltip" data-bs-placement = "bottom" title = "" data-bs-original-title = "Unread" > < / i > '
}
< / script >
{% endif %}
< script defer >
(() => {
const date = new Date({{c.created_utc*1000}});
document.getElementById('timestamp-{{c.id}}').title = date.toString();
{% if c.is_pinned %}
const pinned_info = document.getElementById('pinned-{{c.id}}')
{% if c.is_pinned.startswith('t:') %}
pinned_info.setAttribute("data-bs-original-title", `Pinned until ${new Date({{c.is_pinned[2:]}} * 1000).toString()}`)
{% else %}
pinned_info.setAttribute("data-bs-original-title", "Pinned by @{{c.is_pinned}}")
{%endif%}
{%endif%}
})()
< / script >
< div style = "display:none" id = "popover-{{c.id}}" >
< div class = "popover-user-profile" role = "tooltip" >
< img class = "w-100 h-64 object-cover lozad" src = "{{c.author.banner_url}}" >
< div class = "d-flex align-items-end px-3 mt-n6 mb-3" >
< img loading = "lazy" class = "avatar-72 rounded img-thumbnail shadow-sm lozad" src = "{{c.author.profile_url}}" >
< div class = "px-3 text-truncate" >
< h5 class = "text-truncate text-black" > {{c.author.username}}< / h5 >
< / div >
< / div >
< div class = "px-3" >
< span class = "popover-bio text-black" > {% if c.author.bio_html %}{{c.author.bio_html_eager | safe}}{% endif %}< / span >
< / div >
< div class = "ml-3 mr-3 my-2" >
{% for b in c.author.badges %}
{% if b.url %}
< a rel = "nofollow noopener noreferrer" href = "{{b.url}}" >
< img width = "32" loading = "lazy" src = "{{b.path}}" data-bs-toggle = "tooltip" data-bs-placement = "bottom" title = "" data-bs-original-title = "{{b.name}} - {{b.text}}" >
< / a >
{% else %}
< img width = "32" loading = "lazy" class = "lozad" src = "{{b.path}}" data-bs-toggle = "tooltip" data-bs-placement = "bottom" title = "" data-bs-original-title = "{{b.name}} - {{b.text}}" >
{% endif %}
{% endfor %}
< / div >
< div class = "border-top d-flex align-items-center p-3 gap-3 smol" >
< span >
< strong class = "text-black" > {{c.author.post_count}}< / strong >
< span class = "text-black" > posts< / span >
< / span >
< span class = "ml-3" >
< strong class = "text-black" > {{c.author.comment_count}}< / strong >
< span class = "text-black" > comments< / span >
< / span >
< span class = "ml-3" >
< strong class = "text-black" > {{c.author.coins}}< / strong >
< span class = "text-black" > coins< / span >
< / span >
< a { % if v % } href = "{{c.author.url}}" { % else % } href = "/logged_out{{c.author.url}}" { % endif % } target = "_blank" class = "ml-auto text-decoration-none" >
View
< i class = "fas fa-arrow-right fa-sm px-1" > < / i >
< / a >
< / div >
< / div >
< / div >
2021-10-15 14:08:27 +00:00
{% set ups=c.upvotes %}
{% set downs=c.downvotes %}
{% set score=ups-downs %}
2021-11-15 22:13:29 +00:00
{% if v and (v.shadowbanned or v.admin_level > 1) %}
2021-10-15 14:08:27 +00:00
{% set replies=c.replies3 %}
{% else %}
{% set replies=c.replies %}
{% endif %}
2021-10-22 23:50:00 +00:00
{% if (c.is_banned or c.deleted_utc > 0 or c.is_blocking) and not (v and v.admin_level>0) and not (v and v.id==c.author_id) %}
2021-10-15 14:08:27 +00:00
< div id = "comment-{{c.id}}" class = "comment" >
2021-11-24 20:34:23 +00:00
< span class = "comment-collapse-desktop hidden d-md-block" style = "border-left: 2px solid #{{c.author.namecolor}};" onclick = "collapse_comment('{{c.id}}')" > < / span >
2021-10-15 14:08:27 +00:00
< div class = "comment-body" >
< div id = "comment-{{c.id}}-only" >
< div class = "user-info" >
2021-10-29 02:57:28 +00:00
< span class = "comment-collapse-icon" onclick = "collapse_comment('{{c.id}}')" > < / span >
2021-12-03 03:58:10 +00:00
{% if standalone and c.over_18 %}< span class = "badge badge-red" > +18< / span > {% endif %}
2021-10-29 02:32:23 +00:00
{% if c.is_banned %}removed by @{{c.ban_reason}}{% elif c.deleted_utc > 0 %}Deleted by author{% elif c.is_blocking %}You are blocking @{{c.author.username}}{% endif %}
2021-10-15 14:08:27 +00:00
< / div >
< / div >
{% if render_replies %}
{% if level< 10 % }
< div id = "replies-of-{{c.id}}" class = "" >
{% set standalone=False %}
{% for reply in replies %}
{{single_comment(reply, level=level+1)}}
{% endfor %}
< / div >
2021-11-14 01:50:41 +00:00
{% elif "notifications" in request.path %}
2021-11-24 20:34:23 +00:00
< div id = "replies-of-{{c.id}}" class = "hidden d-md-block" >
2021-11-14 01:50:41 +00:00
{% set standalone=False %}
{% for reply in replies %}
{{single_comment(reply, level=level+1)}}
{% endfor %}
< / div >
2021-11-24 20:34:23 +00:00
< div id = "morecomment-{{c.id}}" class = "md:hidden mt-2 more-comments text-small" >
2021-11-16 04:14:28 +00:00
< a { % if v % } href = "{{c.shortlink}}" { % else % } href = "/logged_out{{c.shortlink}}" { % endif % } > More comments < i class = "fas fa-long-arrow-right ml-1" > < / i > < / a >
2021-11-14 01:50:41 +00:00
< / div >
2021-10-15 14:08:27 +00:00
{% elif replies %}
2021-11-12 18:31:26 +00:00
< div id = "morecomment-{{c.id}}" class = "mt-2 more-comments text-small" >
2021-11-16 04:14:28 +00:00
< a { % if v % } href = "{{c.shortlink}}" { % else % } href = "/logged_out{{c.shortlink}}" { % endif % } > More comments < i class = "fas fa-long-arrow-right ml-1" > < / i > < / a >
2021-10-15 14:08:27 +00:00
< / div >
{% endif %}
{% endif %}
< / div >
< / div >
{% else %}
{% set score=c.score %}
{% if v %}
{% set voted=c.voted %}
{% else %}
{% set voted=-2 %}
{% endif %}
{% if standalone and level==1 %}
2021-12-01 21:32:27 +00:00
< div class = "post-info font-bold mt-5 mb-1" >
{% if c.post and c.post.over_18 %}
< span class = "badge badge-red" > +18< / span >
2021-10-15 14:08:27 +00:00
{% endif %}
2021-12-01 21:32:27 +00:00
< div >
{% if c.post %}
{% if c.author_id==v.id and c.child_comments and is_notification_page%}
< span >
Comment {{'Replies' if (c.child_comments | length)>1 else 'Reply'}}:
< a href = "{{c.post.permalink}}" class = "text-gray-700 hover:text-gray-900" > {{c.post.realtitle(v) | safe}}< / a >
< / span >
{% elif c.post.author_id==v.id and c.level == 1 and is_notification_page%}
< span > Post Reply:
< a href = "{{c.post.permalink}}" class = "text-gray-700 hover:text-gray-900" > {{c.post.realtitle(v) | safe}}< / a >
< / span >
{% elif is_notification_page and c.parent_submission in v.subscribed_idlist() %}
< span > Subscribed Thread:
< a href = "{{c.post.permalink}}" class = "text-gray-700 hover:text-gray-900" > {{c.post.realtitle(v) | safe}}< / a > < / span >
{% elif is_notification_page %}
< span > Username Mention:
< a href = "{{c.post.permalink}}" class = "text-gray-700 hover:text-gray-900" > {{c.post.realtitle(v) | safe}}< / a >
< / span >
{% else %}
< span >
< a href = "{{c.post.permalink}}" class = "text-gray-700 hover:text-gray-900" > {{c.post.realtitle(v) | safe}}< / a >
< / span >
{% endif %}
{% elif c.author_id==NOTIFICATIONS_ID or c.author_id==AUTOJANNY_ID %}
< span > {{'SITE_NAME' | app_config}} Notification< / span >
{% else %}
{% if c.sentto == 0 %}
< span > Sent to admins< / span >
{% else %}
< span > Sent to @{{c.senttouser.username}}< / span >
{% endif %}
{% endif %}
< / div >
2021-10-15 14:08:27 +00:00
< / div >
{% endif %}
2021-12-04 02:46:29 +00:00
< div id = "comment-{{c.id}}" class = "anchor {% if c.unread %}unread{% endif %} relative flex mt-4 md:mt-6 {% if standalone and level==1 %} mt-0{% endif %}{% if c.collapse_for_user(v) or (standalone and c.over_18 and not (v and v.over_18)) %} collapsed{% endif %}" >
2021-10-15 14:08:27 +00:00
2021-11-24 20:34:23 +00:00
< span class = "comment-collapse-desktop hidden d-md-block" { % if not c . unread % } style = "border-left: 2px solid #{{c.author.namecolor}};" { % endif % } onclick = "collapse_comment('{{c.id}}')" > < / span >
2021-12-03 18:02:45 +00:00
< div class = "flex flex-col flex-shrink-0 items-center mr-2.5 {{ 'md:mr-4' if not c.parent_comment_id or standalone else 'md:mr-3' }}" >
2021-12-02 00:43:01 +00:00
< div class = "relative {{ 'santa' if c.author.patron else 'cap' }}" >
2021-12-01 01:39:40 +00:00
{% if standalone or level==1 %}
2021-12-04 02:46:29 +00:00
< img loading = "lazy" src = "{{ c.author.profile_url }}" class = "hidden md:block flex-shrink-0 w-14 h-14 mb-2 p-[3px] bg-white border border-gray-300 object-cover lozad" alt = "{{ c.author.username }} avatar" / >
2021-12-01 01:39:40 +00:00
{% else %}
2021-12-04 02:46:29 +00:00
< img loading = "lazy" src = "{{ c.author.profile_url }}" class = "hidden md:block flex-shrink-0 w-9 h-9 mb-2 p-[3px] bg-white border border-gray-300 object-cover lozad" alt = "{{ c.author.username }} avatar" / >
2021-12-01 01:39:40 +00:00
{% endif %}
< / div >
2021-12-03 18:07:12 +00:00
< button onclick = "collapse_comment('{{c.id}}')" class = "md:ml-4 mb-2 w-[1px] md:w-4 h-full border-l border-gray-400" > < / button >
2021-11-24 20:34:23 +00:00
< / div >
< div class = "w-full" >
2021-10-15 14:08:27 +00:00
2021-12-05 01:52:26 +00:00
test
2021-10-15 14:08:27 +00:00
2021-11-24 20:34:23 +00:00
< div id = "reply-to-{{c.id}}" class = "hidden" >
{% include "/comments/CommentReplyForm.html" %}
< / div >
2021-10-15 14:08:27 +00:00
{% if render_replies %}
{% if level< 10 % }
< div id = "replies-of-{{c.id}}" >
{% for reply in replies %}
{{single_comment(reply, level=level+1)}}
{% endfor %}
< / div >
2021-11-30 17:35:50 +00:00
{% elif replies and "notifications" in request.path %}
2021-11-24 20:34:23 +00:00
< div id = "replies-of-{{c.id}}" class = "hidden md:block" >
2021-11-14 01:50:41 +00:00
{% set standalone=False %}
{% for reply in replies %}
{{single_comment(reply, level=level+1)}}
{% endfor %}
< / div >
2021-11-24 20:34:23 +00:00
< div id = "morecomment-{{c.id}}" class = "md:hidden mt-2 more-comments text-small" >
2021-11-16 04:14:28 +00:00
< a { % if v % } href = "{{c.shortlink}}" { % else % } href = "/logged_out{{c.shortlink}}" { % endif % } > More comments < i class = "fas fa-long-arrow-right ml-1" > < / i > < / a >
2021-11-14 01:50:41 +00:00
< / div >
2021-10-15 14:08:27 +00:00
{% elif replies %}
2021-11-12 18:31:26 +00:00
< div id = "morecomment-{{c.id}}" class = "mt-2 more-comments text-small" >
2021-11-18 14:21:19 +00:00
< a { % if v % } href = "{{c.shortlink}}" { % else % } href = "/logged_out{{c.shortlink}}" { % endif % } > More comments < i class = "fas fa-long-arrow-right ml-1" > < / i > < / a >
2021-10-15 14:08:27 +00:00
< / div >
{% endif %}
{% endif %}
< / div >
2021-11-24 20:34:23 +00:00
{% include "/modals/ModalCommentActions.html" %}
2021-10-15 14:08:27 +00:00
< / div >
{% endif %}
{% endmacro %}
{% for comment in comments %}
{{single_comment(comment)}}
2021-12-05 01:52:26 +00:00
{% endfor %}
{% if v %}
{% include "gif_modal.html" %}
{% include "emoji_modal.html" %}
{% if v.admin_level > 1 %}
{% include "ban_modal.html" %}
{% endif %}
< div class = "modal fade" id = "deleteCommentModal" tabindex = "-1" role = "dialog" aria-labelledby = "deleteCommentModalTitle" aria-hidden = "true" >
< div class = "modal-dialog modal-dialog-centered" role = "document" >
< div class = "modal-content" >
< div class = "modal-header" >
< h5 class = "modal-title" > Delete comment?< / h5 >
< button type = "button" class = "close" data-bs-dismiss = "modal" aria-label = "Close" >
< span aria-hidden = "true" > < i class = "far fa-times" > < / i > < / span >
< / button >
< / div >
< div class = "modal-body text-center" >
< div class = "py-4" >
< i class = "fad fa-trash-alt text-muted" style = "font-size: 3.5rem;" > < / i >
< / div >
< p > Your comment will be removed everywhere on {{'SITE_NAME' | app_config}}. This action can be undone.< / p >
< / div >
< div class = "modal-footer" >
< button type = "button" class = "btn btn-link text-muted" data-bs-dismiss = "modal" > Cancel< / button >
< button id = "deleteCommentButton" class = "btn btn-danger" > Delete comment< / button >
< / div >
< / div >
< / div >
< / div >
{% include "/modals/ModalReportComment.html" %}
{% endif %}
< style >
.mod:before {
content: '(((';
}
.mod:after {
content: ')))';
}
.mod {
padding: 2px 5px 3px 5px;
border-radius: 5px;
color:white!important;
background: -moz-linear-gradient(180deg, red, orange, yellow, green, blue, indigo, violet);
background: -webkit-linear-gradient(left, red, orange, yellow, green, blue, indigo, violet );
text-shadow:-1px -1px 0 black,1px -1px 0 black,-1px 1px 0 black,1px 1px 0 black;
}
.popover {
max-width: 100%;
box-shadow: 0 1rem 3rem rgba(0, 0, 0, .175);
border-color: #dadada;
}
.popover-arrow {
display: none !important;
}
.popover-user-profile {
display: flex;
flex-direction: column;
padding: 0;
background: var(--gray-600);
}
.popover-body {
padding: 0;
border-radius: .25rem;
overflow: hidden;
}
.mt-n6 {
margin-top: -1.75rem !important;
}
.avatar-72 {
width: 72px;
height: 72px;
object-fit: cover;
}
.h-64 {
height: 64px;
}
.object-cover {
object-fit: cover;
}
.smolbtn {
font-weight: 600;
font-size: .9rem;
border-radius: 0.2rem;
padding: 0.1rem 0.50rem 0rem 0.30rem;
background-color: var(--black) !important;
}
.smol {
font-size: 11.5px;
}
< / style >