Add statistics to front page

This commit is contained in:
Xevion
2022-03-27 12:06:50 -05:00
parent 39f7425cc9
commit 8d369932d5
5 changed files with 64 additions and 10 deletions

View File

@@ -9,7 +9,12 @@ blueprint = Blueprint('main', __name__)
@blueprint.route('/')
def index(): # put application's code here
users = User.query.order_by(User.time_registered.desc()).limit(10).all()
return render_template('layouts/index.html', new_users=users)
stats = {
'total_users': User.query.count(),
'total_comments': Comment.query.count(),
'total_posts': Post.query.count()
}
return render_template('layouts/index.html', new_users=users, stats=stats)
@blueprint.route('/about')

View File

@@ -275,4 +275,19 @@ form button {
text-decoration: none;
}
.new-users > div, .statistics > div {
border: 1px solid grey;
padding: 0.2em;
width: fit-content;
padding-right: 1.2em;
}
.new-users > div a, .statistics > div a {
text-decoration: none;
}
.statistics > div {
min-height: 235px;
margin: 1em;
}
/*# sourceMappingURL=styles.css.map */

View File

@@ -1 +1 @@
{"version":3,"sourceRoot":"","sources":["styles.scss"],"names":[],"mappings":"AAAA;EACE;EACA;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;AAEA;EAOE;;AALA;EAEE;;;AAON;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;;AAEA;EACE;EACA;;;AAKN;EACE;EACA;EACA;EACA;;AAEA;EACE;;;AAIJ;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAIA;EACE;EACA;;AAEA;EACE;;AAEA;EACE;;;AAMR;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;;;AAIA;EACE;EACA;;;AAIJ;EACE;EACA;;;AAGF;EACE;EACA;;AAEA;EACE;EACA;;AAGF;EACE;;AAEA;EACE;;AAIJ;EACE;EACA;EACA;;;AAIJ;EACE;EACA;EACA;;AAEA;EACE;EACA;;AAGF;EACE;EACA;;;AAIJ;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;;AAEA;EACE;EACA;;AAGF;EACE;EACA;EACA;EACA;;;AAIJ;EACE;;;AAGF;EACE;EACA;;AAEA;EACE;EACA;EACA;;;AAMF;EACE;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAGF;EACE;;AAGF;EACE;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;EAGA;EACA;EACA;EACA;;AAKF;EACE;EACA;EACA;EACA;;;AAMR;EACE;EACA;;AAEA;EACE;EACA;EACA;;AAGF;EACE;EACA;;AAGF;EACE;;;AAIJ;EACE;EACA;EACA;EACA;EACE;;AAEF;EACE;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAIJ;EACE;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;;AAEA;EACE;;AACA;EACE;EACA;;AAIJ;EAEE;EACA;EACA","file":"styles.css"}
{"version":3,"sourceRoot":"","sources":["styles.scss"],"names":[],"mappings":"AAAA;EACE;EACA;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;AAEA;EAOE;;AALA;EAEE;;;AAON;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;;AAEA;EACE;EACA;;;AAKN;EACE;EACA;EACA;EACA;;AAEA;EACE;;;AAIJ;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAIA;EACE;EACA;;AAEA;EACE;;AAEA;EACE;;;AAMR;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;;;AAIA;EACE;EACA;;;AAIJ;EACE;EACA;;;AAGF;EACE;EACA;;AAEA;EACE;EACA;;AAGF;EACE;;AAEA;EACE;;AAIJ;EACE;EACA;EACA;;;AAIJ;EACE;EACA;EACA;;AAEA;EACE;EACA;;AAGF;EACE;EACA;;;AAIJ;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;;AAEA;EACE;EACA;;AAGF;EACE;EACA;EACA;EACA;;;AAIJ;EACE;;;AAGF;EACE;EACA;;AAEA;EACE;EACA;EACA;;;AAMF;EACE;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAGF;EACE;;AAGF;EACE;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;EAGA;EACA;EACA;EACA;;AAKF;EACE;EACA;EACA;EACA;;;AAMR;EACE;EACA;;AAEA;EACE;EACA;EACA;;AAGF;EACE;EACA;;AAGF;EACE;;;AAIJ;EACE;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAIJ;EACE;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAEA;EACE;EACA;;AAIJ;EAEE;EACA;EACA;;;AAON;EACE;EACF;EACA;EACA;;AACE;EACE;;;AAKN;EACE;EACA","file":"styles.css"}

View File

@@ -278,7 +278,7 @@ form {
border-radius: 3px;
padding: 1.5em;
padding-bottom: 0.8em;
margin: 0.45em;
margin: 0.45em;
.post-author {
margin-top: 1em;
@@ -305,6 +305,7 @@ form {
&.add-comment {
border: 0;
button {
margin-left: 0.8em;
width: fit-content;
@@ -320,3 +321,20 @@ form {
}
}
}
.new-users, .statistics {
> div {
border: 1px solid grey;
padding: 0.2em;
width: fit-content;
padding-right: 1.2em;
a {
text-decoration: none;
}
}
}
.statistics > div {
min-height: 235px;
margin: 1em;
}

View File

@@ -1,12 +1,28 @@
{% extends 'layouts/base.html' %}
{% block content %}
<h2>New Users</h2>
<div style="border: 1px solid grey; padding: 0.2em; width: fit-content; padding-right: 1.2em;">
<ul>
{% for new_user in new_users %}
<li><a href="{{ url_for('main.user', username=new_user.username) }}" style="text-decoration: none">{{ new_user.username }}</a> as of {{ new_user.get_registration_delta() }} ago</li>
{% endfor %}
</ul>
<div style="display: flex;">
<div class="new-users" style="margin: 2em;">
<h2>New Users</h2>
<div>
<ul>
{% for new_user in new_users %}
<li><a href="{{ url_for('main.user', username=new_user.username) }}">{{ new_user.username }}</a> as
of {{ new_user.get_registration_delta() }} ago
</li>
{% endfor %}
</ul>
</div>
</div>
<div class="statistics" style="margin: 1em;">
<h2>runnerspace Statistics</h2>
<div>
<div style="margin: 1.2em;">
<strong>{{ stats['total_comments'] }}</strong> comments across <strong>{{ stats['total_posts'] }}</strong> posts<br>
<strong>{{ stats['total_users'] }}</strong> users
</div>
</div>
</div>
</div>
{% endblock %}