mirror of
https://github.com/Xevion/runnerspace.git
synced 2025-12-06 05:16:23 -06:00
Add statistics to front page
This commit is contained in:
@@ -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')
|
||||
|
||||
@@ -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 */
|
||||
|
||||
@@ -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"}
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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 %}
|
||||
|
||||
Reference in New Issue
Block a user