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 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(): def get_all():
users = Table('users', md, autoload=True, autoload_with=engine) users = Table('users', md, autoload=True, autoload_with=engine)
query = select([users]) 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 %} {% endfor %}
</div> </div>
<div class="card-panel grey darken-3"> <div class="card-panel grey darken-3">
<div class="center"> <div class="row">
<a class="waves-effect waves-light btn blue darken-2" href="/logout"> <div class="col s12 m6">
Logout <a
</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>
</div> </div>
{% endblock %} {% endblock %}

View file

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

View file

@ -10,7 +10,7 @@
<div class="row"> <div class="row">
<form class="col s12" action="" method="post"> <form class="col s12" action="" method="post">
<div class="row"> <div class="row">
<div class="input-field col s6"> <div class="input-field col s12 m6">
<input <input
type="text" type="text"
placeholder="Username" placeholder="Username"
@ -20,7 +20,7 @@
id="username" id="username"
/> />
</div> </div>
<div class="input-field col s6"> <div class="input-field col s12 m6">
<input <input
type="password" type="password"
placeholder="Password" placeholder="Password"
@ -31,14 +31,12 @@
/> />
</div> </div>
</div> </div>
<div class="center">
<button <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" type="submit"
> >
Login Login
</button> </button>
</div>
</form> </form>
</div> </div>
</div> </div>

View file

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

View file

@ -2,7 +2,7 @@ try:
from .lib.helpers import get_static_paths, get_content_text from .lib.helpers import get_static_paths, get_content_text
from .lib.classUser import User from .lib.classUser import User
from .lib.classUwuCounter import UwuCounter 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: except:
from lib.classUser import User from lib.classUser import User
from lib.helpers import get_static_paths, get_content_text from lib.helpers import get_static_paths, get_content_text
@ -11,6 +11,7 @@ except:
from . import app from . import app
from flask import Flask, render_template, redirect, url_for, request, flash 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 flask_login import LoginManager, UserMixin, login_required, login_user, current_user, logout_user
from math import ceil
login_manager = LoginManager() login_manager = LoginManager()
login_manager.init_app(app) login_manager.init_app(app)
@ -41,6 +42,16 @@ def load_user(request):
return User.get(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']) @app.route('/user/<username>/getCurval', methods=['GET'])
def get_curval(username): def get_curval(username):
error = '' error = ''
@ -70,6 +81,7 @@ def user_page(username):
error = f'{e}' error = f'{e}'
return f'ERROR: {error}' return f'ERROR: {error}'
@app.route('/home/getCurval', methods=['GET']) @app.route('/home/getCurval', methods=['GET'])
@login_required @login_required
def home_get_curval(): def home_get_curval():