Add support for partial views with jinga-partials and refactor stats as partial view

This commit is contained in:
Peter Stockings
2022-11-19 16:36:20 +11:00
parent c5029e8183
commit a1fa9557ea
5 changed files with 18 additions and 27 deletions

3
app.py
View File

@@ -1,12 +1,13 @@
import os
from flask import Flask, render_template, redirect, request, url_for
import jinja_partials
from decorators import validate_person, validate_topset, validate_workout
from db import DataBase
from utils import get_people_and_exercise_rep_maxes
app = Flask(__name__)
app.config.from_pyfile('config.py')
jinja_partials.register_extensions(app)
db = DataBase(app)

View File

@@ -1,4 +1,5 @@
Flask==2.0.1
gunicorn==19.7.1
Jinja2==3.0.1
jinja-partials==0.1.1
psycopg2-binary==2.9.3

View File

@@ -90,18 +90,6 @@
</div>
<div class="mt-4 w-full grid grid-cols-1 md:grid-cols-3 2xl:grid-cols-4 xl:grid-cols-5 gap-4">
{% for stat in model['Stats'] %}
<div class="bg-white shadow rounded-lg p-4 sm:p-6 xl:p-8 ">
<div class="flex items-center">
<div class="flex-shrink-0">
<span class="text-2xl sm:text-3xl leading-none font-bold text-gray-900">{{
stat['Value'] }}</span>
<h3 class="text-base font-normal text-gray-500">{{ stat['Text'] }}</h3>
</div>
</div>
</div>
{% endfor %}
</div>
{{ render_partial('partials/stats.html', stats=model['Stats']) }}
{% endblock %}

View File

@@ -0,0 +1,13 @@
<div class="mt-4 w-full grid grid-cols-1 md:grid-cols-3 2xl:grid-cols-4 xl:grid-cols-5 gap-4">
{% for stat in stats%}
<div class="bg-white shadow rounded-lg p-4 sm:p-6 xl:p-8 ">
<div class="flex items-center">
<div class="flex-shrink-0">
<span class="text-2xl sm:text-3xl leading-none font-bold text-gray-900">{{
stat['Value'] }}</span>
<h3 class="text-base font-normal text-gray-500">{{ stat['Text'] }}</h3>
</div>
</div>
</div>
{% endfor %}
</div>

View File

@@ -96,18 +96,6 @@
</div>
</div>
<div class="mt-4 w-full grid grid-cols-1 md:grid-cols-3 2xl:grid-cols-4 xl:grid-cols-5 gap-4">
{% for stat in person['Stats'] %}
<div class="bg-white shadow rounded-lg p-4 sm:p-6 xl:p-8 ">
<div class="flex items-center">
<div class="flex-shrink-0">
<span class="text-2xl sm:text-3xl leading-none font-bold text-gray-900">{{
stat['Value'] }}</span>
<h3 class="text-base font-normal text-gray-500">{{ stat['Text'] }}</h3>
</div>
</div>
</div>
{% endfor %}
</div>
{{ render_partial('partials/stats.html', stats=person['Stats']) }}
{% endblock %}