You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

106 lines
3.8 KiB

extends layouts/main
block content
include ../venue/components/channel-grid
include user/components/list-item
include comment/components/comment
include ../chat/components/message
div(uk-grid)
div(class="uk-width-1-1 uk-width-auto@m")
h3= site.name
div(uk-grid).uk-flex-middle
.uk-width-auto
+renderCell('Members', formatCount(stats.memberCount))
.uk-width-auto
+renderCell('Posts', formatCount(stats.postCount))
.uk-width-auto
+renderCell('Comments', formatCount(stats.commentCount))
div(class="uk-width-1-1 uk-width-auto@m")
h3 DTP Constellation
div(uk-grid).uk-flex-middle
.uk-width-auto
+renderCell('Potential Reach', formatCount(stats.constellation.potentialReach))
.uk-width-auto
+renderCell('Connected Cores', formatCount(stats.constellation.connectedCount))
.uk-width-auto
+renderCell('Pending Cores', formatCount(stats.constellation.pendingCount))
.uk-margin
h3 Hourly Sign-Ups
canvas(id="hourly-signups")
if Array.isArray(channels) && (channels.length > 0)
+renderVenueChannelGrid(channels)
.uk-margin
div(uk-grid)
div(class="uk-width-1-1 uk-width-1-3@l")
h3 Admins
if Array.isArray(admins) && (admins.length > 0)
ul.uk-list.uk-list-divider
each member in admins
li
+renderUserListItem(member)
else
div There are no system admins.
h3 Moderators
if Array.isArray(moderators) && (moderators.length > 0)
ul.uk-list.uk-list-divider
each member in moderators
li
+renderUserListItem(member)
else
div There are no system-level moderators.
h3 Recent Members
if Array.isArray(recentMembers) && (recentMembers.length > 0)
ul.uk-list.uk-list-divider
each member in recentMembers
li
+renderUserListItem(member)
else
div There are no recent members.
div(class="uk-width-1-1 uk-width-1-3@l")
h3 Recent Chat
if Array.isArray(recentChat) && (recentChat.length > 0)
ul.uk-list.uk-list-divider
each message in recentChat
li
div(uk-grid).uk-grid-small
.uk-width-expand
+renderChatMessage(message, { fullWidth: true })
.uk-width-auto
a(href=`/admin/user/local/${message.author._id}`, uk-tooltip={ title: 'Manage user account' }).uk-button.uk-button-default.uk-button-small.uk-border-rounded
span
i.fas.fa-wrench
else
div There is no recent chat.
div(class="uk-width-1-1 uk-width-1-3@l")
h3 Recent Comments
if Array.isArray(recentComments.comments) && (recentComments.comments.length > 0)
ul.uk-list.uk-list-divider
each comment in recentComments.comments
li
div(uk-grid).uk-grid-small
.uk-width-expand
+renderComment(comment)
.uk-width-auto
a(href=`/admin/user/local/${comment.author._id}`, uk-tooltip={ title: 'Manage user account' }).uk-button.uk-button-default.uk-button-small.uk-border-rounded
span
i.fas.fa-wrench
else
div There are no recent comments.
block viewjs
script(src="/chart.js/chart.min.js")
script(src="/chartjs-adapter-moment/chartjs-adapter-moment.min.js")
script.
window.addEventListener('dtp-load', ( ) => {
const graphData = !{JSON.stringify(stats.userSignupHourly)};
dtp.app.renderStatsGraph('#hourly-signups', 'Hourly Signups', graphData);
});