grav-plugin-comments/admin/templates/comments.html.twig

141 lines
4.6 KiB
Twig

{% extends 'partials/base.html.twig' %}
{% if admin.route %}
{% set context = admin.page(true) %}
{% endif %}
{% block titlebar %}
<h1><i class="fa fa-fw fa-file-text-o"></i> {{ "PLUGIN_COMMENTS.COMMENTS"|tu }}</h1>
{% endblock %}
{% block content %}
<style>
td.comments-actions {
flex: 0.1;
}
.pages-list .row {
padding-right: 1rem;
}
.comment-text {
line-height: 1.5rem;
display: inline-block;
}
.pages-list .row p.page-route {
margin: 0px 0 10px 0px;
}
th { background: #d9d9d9; }
.comment { flex: 3 }
.details { flex: 1.5 }
.center {
margin: 0 auto;
text-align: center;
display: block;
}
.button:active { margin: 0 auto;}
</style>
<script>
$(function() {
var currentPage = 0;
$(document).on('click tap', '.js__load-more', function(event) {
$.getJSON(window.location + '/page:' + (currentPage + 1))
.success(function(response) {
currentPage = parseInt(response.page);
response.comments.forEach(function(comment) {
$('.js__comments-container').append('<tr>' +
'<td class="e author">' + comment.author + '</td>' +
'<td class="v comment">' + comment.text + '</td>' +
'<td class="v details"><strong>Page</strong>: ' + comment.pageTitle + '<br>' +
'<strong>Date</strong>: ' + comment.date + '</td>' +
'</tr>');
})
var totalRetrieved = response.totalRetrieved * (parseInt(response.page) + 1);
$('.totalRetrieved').html(totalRetrieved);
$('.totalAvailable').html(response.totalAvailable);
if (totalRetrieved == response.totalAvailable) {
$('.js__load-more').hide();
}
})
.error(function() {
alert('Unexpected error');
});
});
});
</script>
{% if grav.twig.warning_message|length %}
<div class="admin-block">
<h1>{{ "PLUGIN_COMMENTS.WARNINGS"|tu }}</h1>
<p class="center">{{ grav.twig.warning_message }}</p>
</div>
{% endif %}
<h1>Comments in the last 7 days</h1>
<div class="admin-block">
<table>
<tbody class="js__comments-container">
<tr class="h">
<th class="author">Author</th>
<th class="comment">Comment</th>
<th class="details">Details</th>
</tr>
{% for comment in grav.twig.comments.comments %}
<tr>
<td class="author">{{comment.author}}</td>
<td class="comment">{{comment.text}}</td>
<td class="details"><strong>Page</strong>: {{comment.pageTitle}}<br>
<strong>Date</strong>: {{comment.date}}</td>
</tr>
{% endfor %}
</tbody>
</table>
{% if grav.twig.comments.totalRetrieved < grav.twig.comments.totalAvailable %}
<button type="button" class="button center js__load-more">
Load more
</button>
{% endif %}
<p class="center">Showing <span class="totalRetrieved">{{grav.twig.comments.totalRetrieved}}</span> comments of <span class="totalAvailable">{{grav.twig.comments.totalAvailable}}</span></p>
</div>
{% if grav.twig.pages %}
<h1>Recently commented pages</h1>
<div class="admin-block">
<table>
<tbody class="js__pages-container">
<tr class="h">
<th class="page">Page</th>
<th class="number-of-comments">Number of comments</th>
<th class="last-comment-date">Last commented on</th>
</tr>
{% for page in grav.twig.pages %}
<tr>
<td class="page">{{page.title}}</td>
<td class="number-of-comments">{{page.commentsCount}}</td>
<td class="last-comment-date">{{page.lastCommentDate}}</td>
</tr>
{% endfor %}
</tbody>
</table>
</div>
{% endif %}
{% endblock %}