Statically render svg graphs on person view as well

This commit is contained in:
Peter Stockings
2023-12-09 23:30:22 +11:00
parent d0afd92126
commit fe01b2ade3
3 changed files with 6 additions and 10 deletions

5
db.py
View File

@@ -7,7 +7,7 @@ from urllib.parse import urlparse
from flask import g
from utils import get_all_exercises_from_topsets, get_exercise_graph_model, get_stats_from_topsets, get_workouts
from utils import get_all_exercises_from_topsets, get_exercise_graph_model, get_stats_from_topsets, get_topsets_for_person, get_workouts
class DataBase():
@@ -192,7 +192,8 @@ class DataBase():
'PersonName': next((t['PersonName'] for t in topsets), 'Unknown'),
'Stats': get_stats_from_topsets(topsets),
'Exercises': get_all_exercises_from_topsets(topsets),
'Workouts': get_workouts(topsets)
'Workouts': get_workouts(topsets),
'ExerciseProgressGraphs': get_topsets_for_person(topsets)
}
def get_workout(self, person_id, workout_id):

View File

@@ -163,13 +163,8 @@
</div>
<div class="mt-4 mb-4 w-full grid grid-cols-1 2xl:grid-cols-2 gap-4">
{% for exercise_id in selected_exercise_ids %}
<div class="bg-white shadow rounded-lg p-4 sm:p-6 xl:p-8 ">
<div class="hidden"
hx-get="{{ url_for('get_exercise_progress_for_user', person_id=person['PersonId'], exercise_id=exercise_id, min_date=min_date, max_date=max_date) }}"
hx-trigger="load" hx-target="this" hx-swap="outerHTML">
</div>
</div>
{% for graph in person['ExerciseProgressGraphs'] %}
{{ render_partial('partials/sparkline.html', **graph['ExerciseProgressGraph']) }}
{% endfor %}
</div>

View File

@@ -271,7 +271,7 @@ def get_exercise_graph_model(title, estimated_1rm, repetitions, weight, start_da
# Generate points along the line of best fit
y_best_fit = [m * xi + b for xi in x]
best_fit_points = list(zip(y_best_fit, relative_positions))
except np.linalg.LinAlgError:
except:
pass
# Create messages and zip data for SVG plotting