Explore page created, links added. Minor formatting.

This commit is contained in:
Alexander Huddleston 2020-03-14 21:45:30 -05:00
parent 229d577a60
commit db403644b3
11 changed files with 179 additions and 33 deletions

View file

View file

@ -81,6 +81,17 @@ def get_users():
return user_list_formatted
def get_users_list(partition):
users = Table('users', md, autoload=True, autoload_with=engine)
query = select([users.columns.name, users.columns.count]).order_by(users.columns.name.asc()).offset(partition*10).limit(10)
output = conn.execute(query)
user_list = output.fetchall()
user_list_formatted = []
for u in user_list:
user_list_formatted += [(str(u[0]), str(u[1]))]
return user_list_formatted
def get_all():
users = Table('users', md, autoload=True, autoload_with=engine)
query = select([users])

View file

View file

@ -0,0 +1,6 @@
window.addEventListener("load", function() {
console.log("View specific JS initialized.");
// If JS is enabled, set view to update pages without refreshing
});

View file

@ -0,0 +1,33 @@
{% extends 'index.html' %} {% block header %}
<h1 class="blue-grey-text text-lighten-5 center">
UwU Me!
</h1>
<h5 class="blue-grey-text text-lighten-4 center">
Explore Users
</h5>
{% endblock %} {% block content %}
<div class="card-panel grey darken-3">
<div class="row">
<div class="col s12 m6">
<a class="col s12 m10 offset-s0 offset-m1 btn btn-block waves-effect waves-light blue darken-2 z-depth-2" href="/login">
Login
</a>
</div>
<div class="col s12 m6">
<a class="col s12 m10 offset-s0 offset-m1 btn btn-block waves-effect waves-light blue darken-2 z-depth-2" href="/signup">
Sign Up
</a>
</div>
</div>
</div>
<div class="card-panel grey darken-3">
{% for item in content_text %}
<p class="blue-grey-text text-lighten-5">
{{ item }}
</p>
{% endfor %}
</div>
<div class="card-panel grey darken-3">
{% include 'explore/userlist.html'%}
</div>
{% endblock %}

View file

@ -0,0 +1,72 @@
{% block userlist %}
<div class="row center">
<div class="col s12">
<div class="row">
<div class="col s6 flow-text">
Username
</div>
<div class="col s6 flow-text">
Amount of UwU
</div>
</div>
{% for user in user_page_list %}
<div class="row">
<div class="divider"></div>
<a href="/user/{{ user[0] }}" target="_blank">
<div class="col s6 flow-text">
{{ user[0] }}
</div>
<div class="col s6 flow-text">
{{ user[1] }}
</div>
</a>
</div>
{% endfor %}
</div>
</div>
<div class="row center">
<ul class="pagination">
{% if user_page_current == 0 %}
<li class="disabled">
<a class="blue-grey-text text-lighten-3" href="#!">
<
</a>
</li>
{% else %}
<li class="waves-effect">
<a
class="blue-grey-text text-lighten-3"
href="/explore/{{ user_page_current-1 }}"
>
<
</a>
</li>
{% endif %} {% for page in range(user_pages_length) %} {% if page ==
user_page_current %}
<li class="active"><a href="#!">{{ page+1 }}</a></li>
{% else %}
<li class="waves-effect">
<a class="blue-grey-text text-lighten-5" href="/explore/{{ page }}"
>{{ page+1 }}</a
>
</li>
{% endif %} {% endfor %} {% if user_pages_length-1 == user_page_current %}
<li class="disabled">
<a class="blue-grey-text text-lighten-3" href="#!">
>
</a>
</li>
{% else %}
<li class="waves-effect">
<a
class="blue-grey-text text-lighten-3"
href="/explore/{{ user_page_current+1 }}"
>
>
</a>
</li>
{% endif %}
</ul>
</div>
{% endblock %}

View file

@ -21,10 +21,23 @@
{% endfor %}
</div>
<div class="card-panel grey darken-3">
<div class="center">
<a class="waves-effect waves-light btn blue darken-2" href="/logout">
<div class="row">
<div class="col s12 m6">
<a
class="col s12 m10 offset-s0 offset-m1 btn btn-block waves-effect waves-light blue darken-2 z-depth-2"
href="/explore"
>
Explore
</a>
</div>
<div class="col s12 m6">
<a
class="col s12 m10 offset-s0 offset-m1 btn btn-block waves-effect waves-light blue darken-2 z-depth-2"
href="/logout"
>
Logout
</a>
</div>
</div>
</div>
{% endblock %}

View file

@ -5,21 +5,24 @@
{% endblock %} {% block content %}
<div class="card-panel grey darken-3">
<div class="row">
<div class="col s12">
<div class="row">
<div class="center col s6">
<a class="waves-effect waves-light btn blue darken-2" href="/login">
<div class="col s12 m4">
<a class="col s12 m10 offset-s0 offset-m1 btn btn-block waves-effect waves-light blue darken-2 z-depth-2" href="/login">
Login
</a>
</div>
<div class="center col s6">
<a class="waves-effect waves-light btn blue darken-2" href="/signup">
<div class="col s12 m4">
<a class="col s12 m10 offset-s0 offset-m1 btn btn-block waves-effect waves-light blue darken-2 z-depth-2" href="/explore">
Explore
</a>
</div>
<div class="col s12 m4">
<a class="col s12 m10 offset-s0 offset-m1 btn btn-block waves-effect waves-light blue darken-2 z-depth-2" href="/signup">
Sign Up
</a>
</div>
</div>
</div>
</div>
</div>
<div class="card-panel grey darken-3">
{% for item in content_text %}
<p class="blue-grey-text text-lighten-5">
{{ item }}

View file

@ -10,7 +10,7 @@
<div class="row">
<form class="col s12" action="" method="post">
<div class="row">
<div class="input-field col s6">
<div class="input-field col s12 m6">
<input
type="text"
placeholder="Username"
@ -20,7 +20,7 @@
id="username"
/>
</div>
<div class="input-field col s6">
<div class="input-field col s12 m6">
<input
type="password"
placeholder="Password"
@ -31,14 +31,12 @@
/>
</div>
</div>
<div class="center">
<button
class="waves-effect waves-light btn blue darken-2"
class="col s10 offset-s1 waves-effect waves-light btn btn-block blue darken-2 z-depth-2"
type="submit"
>
Login
</button>
</div>
</form>
</div>
</div>

View file

@ -16,7 +16,7 @@
<div class="row">
<form class="col s12" action="" method="post">
<div class="row">
<div class="input-field col s6">
<div class="input-field col s12 m6">
<input
type="text"
placeholder="Username"
@ -26,7 +26,7 @@
id="username"
/>
</div>
<div class="input-field col s6">
<div class="input-field col s12 m6">
<input
type="password"
placeholder="Password"
@ -37,14 +37,12 @@
/>
</div>
</div>
<div class="center">
<button
class="waves-effect waves-light btn blue darken-2"
class="col s10 offset-s1 waves-light btn btn-block blue darken-2 z-depth-2"
type="submit"
>
Create Account
</button>
</div>
</form>
</div>
</div>

View file

@ -2,7 +2,7 @@ try:
from .lib.helpers import get_static_paths, get_content_text
from .lib.classUser import User
from .lib.classUwuCounter import UwuCounter
from .lib.databaseMethods import get_table, get_count, update_count, get_users, get_all, check_password
from .lib.databaseMethods import get_table, get_count, update_count, get_users, get_users_list, get_all, check_password
except:
from lib.classUser import User
from lib.helpers import get_static_paths, get_content_text
@ -11,6 +11,7 @@ except:
from . import app
from flask import Flask, render_template, redirect, url_for, request, flash
from flask_login import LoginManager, UserMixin, login_required, login_user, current_user, logout_user
from math import ceil
login_manager = LoginManager()
login_manager.init_app(app)
@ -41,6 +42,16 @@ def load_user(request):
return User.get(request)
@app.route('/explore/<page>', methods=['GET'])
def explore_users_list(page):
return render_template('explore/index.html', user_page_current=int(page), user_page_list=get_users_list(int(page)), user_pages_length=ceil(len(get_users())/10), static_paths=get_static_paths(), content_text=get_content_text())
@app.route('/explore', methods=['GET'])
def explore_users():
return redirect('/explore/0')
@app.route('/user/<username>/getCurval', methods=['GET'])
def get_curval(username):
error = ''
@ -70,6 +81,7 @@ def user_page(username):
error = f'{e}'
return f'ERROR: {error}'
@app.route('/home/getCurval', methods=['GET'])
@login_required
def home_get_curval():