diff options
Diffstat (limited to 'src/expense/templates')
-rw-r--r-- | src/expense/templates/auth/delete.html | 13 | ||||
-rw-r--r-- | src/expense/templates/auth/login.html | 15 | ||||
-rw-r--r-- | src/expense/templates/auth/register.html | 16 | ||||
-rw-r--r-- | src/expense/templates/base.html | 52 | ||||
-rw-r--r-- | src/expense/templates/macros.html | 36 | ||||
-rw-r--r-- | src/expense/templates/tracker/cat.html | 8 | ||||
-rw-r--r-- | src/expense/templates/tracker/category.html | 16 | ||||
-rw-r--r-- | src/expense/templates/tracker/create.html | 17 | ||||
-rw-r--r-- | src/expense/templates/tracker/details.html | 10 | ||||
-rw-r--r-- | src/expense/templates/tracker/index.html | 11 | ||||
-rw-r--r-- | src/expense/templates/tracker/trans.html | 17 |
11 files changed, 211 insertions, 0 deletions
diff --git a/src/expense/templates/auth/delete.html b/src/expense/templates/auth/delete.html new file mode 100644 index 0000000..6a2822e --- /dev/null +++ b/src/expense/templates/auth/delete.html @@ -0,0 +1,13 @@ +{% from 'macros.html' import label_field %} +{% extends 'base.html' %} + +{% block header %} +<h2>{% block title %}Delete the Account. This is non reversable{% endblock %}</h2> +{% endblock %} + +{% block content %} +<form method="post"> + {{ form.hidden_tag() }} + {{ form.submit }} +</form> +{% endblock %}
\ No newline at end of file diff --git a/src/expense/templates/auth/login.html b/src/expense/templates/auth/login.html new file mode 100644 index 0000000..f223c3c --- /dev/null +++ b/src/expense/templates/auth/login.html @@ -0,0 +1,15 @@ +{% from 'macros.html' import label_field %} +{% extends 'base.html' %} + +{% block header %} +<h2>{% block title %}Log In{% endblock %}</h2> +{% endblock %} + +{% block content %} +<form method="post"> + {{ form.hidden_tag() }} + {{ label_field(form.username) }} + {{ label_field(form.password) }} + {{ form.submit }} +</form> +{% endblock %}
\ No newline at end of file diff --git a/src/expense/templates/auth/register.html b/src/expense/templates/auth/register.html new file mode 100644 index 0000000..c08bc55 --- /dev/null +++ b/src/expense/templates/auth/register.html @@ -0,0 +1,16 @@ +{% from 'macros.html' import label_field %} +{% extends 'base.html' %} + +{% block header %} +<h1>{% block title %}Register{% endblock %}</h1> +{% endblock %} + +{% block content %} +<form method="post"> + {{ form.hidden_tag() }} + {{ label_field(form.username) }} + {{ label_field(form.password) }} + {{ label_field(form.confirm) }} + {{ form.submit }} +</form> +{% endblock %}
\ No newline at end of file diff --git a/src/expense/templates/base.html b/src/expense/templates/base.html new file mode 100644 index 0000000..d9c6759 --- /dev/null +++ b/src/expense/templates/base.html @@ -0,0 +1,52 @@ +<!doctype html> +<html lang="en"> + +<head> + <meta charset="utf-8" /> + <meta name="viewport" content="width=device-width, initial-scale=1" /> + <title>{% block title %}{% endblock %} - Expense</title> + <link rel="stylesheet" href="{{ url_for('static', filename='style.css') }}"> + <script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/4.3.0/chart.umd.js" + integrity="sha512-CMF3tQtjOoOJoOKlsS7/2loJlkyctwzSoDK/S40iAB+MqWSaf50uObGQSk5Ny/gfRhRCjNLvoxuCvdnERU4WGg==" + crossorigin="anonymous" referrerpolicy="no-referrer"></script> +</head> + +<body> + <header> + <nav> + <h1>Expense Tracker</h1> + {% if current_user.is_authenticated %} + <div class="dropdown"> + <span>Manage</span> + <div class="content"> + <a href="{{ url_for('index') }}">Summary</a> + <a href="{{ url_for('tracker.details') }}">Details</a> + <a href="{{ url_for('tracker.create') }}">Insert Entry</a> + <a href="{{ url_for('tracker.category') }}">Manage Category</a> + </div> + </div> + <div class="dropdown"> + <span>{{ current_user.name }}</span> + <div class="content"> + <a href="{{ url_for('auth.delete') }}">Delete Account</a> + <a href="{{ url_for('auth.logout') }}">Log Out</a> + </div> + </div> + {% else %} + <a href="{{ url_for('auth.register') }}">Register</a> + <a href="{{ url_for('auth.login') }}">Log In</a> + {% endif %} + </nav> + </header> + <main> + <header> + {% block header %}{% endblock %} + </header> + {% for message in get_flashed_messages() %} + <div class="flash">{{ message }}</div> + {% endfor %} + {% block content %}{% endblock %} + </main> +</body> + +</html>
\ No newline at end of file diff --git a/src/expense/templates/macros.html b/src/expense/templates/macros.html new file mode 100644 index 0000000..2d83155 --- /dev/null +++ b/src/expense/templates/macros.html @@ -0,0 +1,36 @@ +{% macro label_field(label) -%} +{% for error in label.errors %} +<span>{{ error }}</span> +{% endfor %} +{{ label.label }} +{{ label() }} +{%- endmacro %} + +{% macro expense_table(data, total) -%} +<table> + <thead> + <tr> + <th></th> + <th>Date</th> + <th>Category</th> + <th>Description</th> + <th>Amount</th> + </tr> + </thead> + <tbody> + {% for row in data %} + <tr> + <td><a href="{{ url_for("tracker.trans", id=row.id ) }}">Edit</a></td> + <td><time datetime="{{ row.date.strftime("%Y-%m-%d") }}">{{ row.date.strftime("%d/%m/%Y") }}<time></td> + <td><a href="{{ url_for("tracker.cat", id=row.category.id ) }}">{{ row.category.name }}</a></td> + <td>{{ row.description }}</td> + <td>{{ "%.2f"|format(row.amount) }}</td> + </tr> + {% endfor %} + <tfoot> + <td colspan="4">Overall</td> + <td>{{ "%.2f"|format(total) }}</td> + </tfoot> + </tbody> +</table> +{%- endmacro %}
\ No newline at end of file diff --git a/src/expense/templates/tracker/cat.html b/src/expense/templates/tracker/cat.html new file mode 100644 index 0000000..ee35193 --- /dev/null +++ b/src/expense/templates/tracker/cat.html @@ -0,0 +1,8 @@ +{% from 'macros.html' import expense_table %} +{% extends 'base.html' %} + + +{% block content %} +<h2>{{ category.name }}</h2> +{{ expense_table(table, total[0]) }} +{% endblock %}
\ No newline at end of file diff --git a/src/expense/templates/tracker/category.html b/src/expense/templates/tracker/category.html new file mode 100644 index 0000000..50c4a11 --- /dev/null +++ b/src/expense/templates/tracker/category.html @@ -0,0 +1,16 @@ +{% from 'macros.html' import label_field %} +{% extends 'base.html' %} + +{% block content %} +<h2>Manage Categories</h2> +<form method="post"> + <div> + {{ form.hidden_tag() }} + {% for cat in current_user.categories %} + <p>{{ cat.name }}</p> + {% endfor %} + </div> + {{ label_field(form.category) }} + {{ form.submit }} +</form> +{% endblock %} diff --git a/src/expense/templates/tracker/create.html b/src/expense/templates/tracker/create.html new file mode 100644 index 0000000..e010455 --- /dev/null +++ b/src/expense/templates/tracker/create.html @@ -0,0 +1,17 @@ +{% from 'macros.html' import label_field %} +{% extends 'base.html' %} + +{% block header %} +<h2>Create New Entry</h2> +{% endblock %} + +{% block content %} +<form method="post"> + {{ form.hidden_tag() }} + {{ label_field(form.date) }} + {{ label_field(form.category) }} + {{ label_field(form.description) }} + {{ label_field(form.amount) }} + {{ form.submit }} +</form> +{% endblock %} diff --git a/src/expense/templates/tracker/details.html b/src/expense/templates/tracker/details.html new file mode 100644 index 0000000..fa7eb1e --- /dev/null +++ b/src/expense/templates/tracker/details.html @@ -0,0 +1,10 @@ +{% from 'macros.html' import expense_table %} +{% extends 'base.html' %} + +{% block header %} + <h2>Details</h2> +{% endblock%} + +{% block content %} + {{ expense_table(current_user.expenses, total[0]) }} +{% endblock %}
\ No newline at end of file diff --git a/src/expense/templates/tracker/index.html b/src/expense/templates/tracker/index.html new file mode 100644 index 0000000..ce7bc92 --- /dev/null +++ b/src/expense/templates/tracker/index.html @@ -0,0 +1,11 @@ +{% from 'macros.html' import expense_table %} +{% extends 'base.html' %} + +{% block header %} +<h2>Summary</h2> +{% endblock %} + +{% block content %} +<script src="{{ url_for('static', filename='script.js') }}" type="module"></script> +<div id="root" ></div> +{% endblock %}
\ No newline at end of file diff --git a/src/expense/templates/tracker/trans.html b/src/expense/templates/tracker/trans.html new file mode 100644 index 0000000..449aa99 --- /dev/null +++ b/src/expense/templates/tracker/trans.html @@ -0,0 +1,17 @@ +{% from 'macros.html' import label_field %} +{% extends 'base.html' %} + +{% block content %} +<form method="post"> + <h2>Edit Entry</h2> + {{ form.hidden_tag() }} + {{ label_field(form.date) }} + {{ label_field(form.category) }} + {{ label_field(form.description) }} + {{ label_field(form.amount) }} + <div class="button-group"> + {{ form.submit }} + {{ form.delete }} + </div> +</form> +{% endblock %}
\ No newline at end of file |