Add template control flow to display login & sign or username

- Also commit the relevant TTF font for the myspace logo in the previous commit
This commit is contained in:
Xevion
2022-03-26 20:09:45 -05:00
parent 5845821391
commit 19e582f72e
5 changed files with 95 additions and 0 deletions

14
app.py
View File

@@ -17,34 +17,48 @@ def index(): # put application's code here
def about(): def about():
return render_template('pages/about.html', user=user) return render_template('pages/about.html', user=user)
@app.route('/users') @app.route('/users')
def browse(): def browse():
return render_template('pages/browse.html', user=user) return render_template('pages/browse.html', user=user)
@app.route('/feed') @app.route('/feed')
def feed(): def feed():
return render_template('pages/feed.html', user=user) return render_template('pages/feed.html', user=user)
@app.route('/messages') @app.route('/messages')
def messages(): def messages():
return render_template('pages/messages.html', user=user) return render_template('pages/messages.html', user=user)
@app.route('/search') @app.route('/search')
def search(): def search():
return render_template('pages/search.html', user=user) return render_template('pages/search.html', user=user)
@app.route('/user/<username>') @app.route('/user/<username>')
def user(username: str): def user(username: str):
return render_template('pages/about.html', user=user) return render_template('pages/about.html', user=user)
@app.route('/blogs') @app.route('/blogs')
def blogs(): def blogs():
return render_template('pages/blogs.html', user=user) return render_template('pages/blogs.html', user=user)
@app.route('/groups') @app.route('/groups')
def groups(): def groups():
return render_template('pages/groups.html', user=user) return render_template('pages/groups.html', user=user)
@app.route('/login')
def login():
return render_template('pages/login.html', user=user)
@app.route('/signup')
def signup():
return render_template('pages/signup.html', user=user)
if __name__ == '__main__': if __name__ == '__main__':
app.run(host='0.0.0.0', debug=True) app.run(host='0.0.0.0', debug=True)

View File

Binary file not shown.

View File

@@ -2,7 +2,11 @@
<div class="header-primary"> <div class="header-primary">
<span id="logo">runnerspace</span> <span id="logo">runnerspace</span>
<div class="header-login"> <div class="header-login">
{% if logged_in %}
Logged in as <a href="/user/{{ user.username }}" class="username">{{ user.username }}</a> Logged in as <a href="/user/{{ user.username }}" class="username">{{ user.username }}</a>
{% else %}
<a href="/login">Login</a> or <a href="/signup">Sign-up</a>!
{% endif %}
</div> </div>
</div> </div>
<nav class="header-secondary"> <nav class="header-secondary">

View File

@@ -0,0 +1,37 @@
{% extends 'layouts/index.html' %}
{% block content %}
<div class="content-inner">
{% with messages = get_flashed_messages() %}
{% if messages %}
<div class="notification is-danger">
{{ messages[0] }}
</div>
{% endif %}
{% endwith %}
<form method="POST" action="/login" class="login-form">
<div class="field">
<div class="control">
Username
<input class="input is-large" type="text" name="username" placeholder="Username" autofocus="true">
</div>
</div>
<div class="field">
<div class="control">
Password
<input class="input is-large" type="password" name="password" placeholder="Password">
</div>
</div>
<div class="field">
<label class="checkbox">
<input type="checkbox">
Remember me
</label>
</div>
<button class="button">Login</button>
</form>
<p class="form-subtext">
Don't have a login? <a href="/signup">Sign-up</a> instead!
</p>
</div>
{% endblock content %}

View File

@@ -0,0 +1,40 @@
{% extends 'layouts/index.html' %}
{% block content %}
<div class="content-inner">
{% with messages = get_flashed_messages() %}
{% if messages %}
<div class="notification is-danger">
{{ messages[0] }}. Go to <a href="{{ url_for('auth.login') }}">login page</a>.
</div>
{% endif %}
{% endwith %}
<form method="POST" action="/signup" class="login-form">
<div class="field">
<div class="control">
Email
<input class="input is-large" type="email" name="email" placeholder="Email" autofocus="">
</div>
</div>
<div class="field">
<div class="control">
Name
<input class="input is-large" type="text" name="name" placeholder="Name" autofocus="">
</div>
</div>
<div class="field">
<div class="control">
Password
<input class="input is-large" type="password" name="password" placeholder="Password">
</div>
</div>
<button>Sign Up</button>
</form>
<p class="form-subtext">
Already have a login? <a href="/login">Login</a> instead!
</p>
</div>
{% endblock content %}