Change default user graphs from hardcoded to loaded from user object as array,TODO: perhaps store loaded graphs for each user
This commit is contained in:
5
app.py
5
app.py
@@ -485,6 +485,8 @@ def generate_user_data(user, workouts=[]):
|
||||
'calendar_month': generate_calendar_monthly_view(workouts, datetime.now().date()),
|
||||
'attributes': [('workout_count', 'Workout count'), ('duration_seconds', 'Duration (sec)'), ('duration_minutes', 'Duration (min)'), ('average_rpm', 'Average RPM'), ('max_rpm', 'Max RPM'), ('average_bpm', 'Average BPM'), ('max_bpm', 'Max BPM'), ('distance', 'Distance'), ('calories', 'Calories')],
|
||||
'periods': [('day', 'Day'), ('week', 'Week'), ('month', 'Month')],
|
||||
# (period: str, attributes: [str])
|
||||
'graphs': [('month', ['duration_minutes']), ('week', ['average_rpm', 'average_bpm']), ('week', ['workout_count'])],
|
||||
'first_workout_date': workouts[-1]['start_time_date'] if workouts else None,
|
||||
'last_workout_date': workouts[0]['start_time_date'] if workouts else None,
|
||||
}
|
||||
@@ -636,8 +638,7 @@ def generate_calendar_monthly_view(workouts, selected_date):
|
||||
start_date, end_date = get_month_bounds(selected_date)
|
||||
|
||||
# Build a lookup dictionary for faster access
|
||||
workout_lookup = {w['start_time_date']
|
||||
: w for w in workouts if start_date <= w['start_time_date'] <= end_date}
|
||||
workout_lookup = {w['start_time_date'] : w for w in workouts if start_date <= w['start_time_date'] <= end_date}
|
||||
|
||||
current_date = datetime.now().date()
|
||||
days_of_month = [
|
||||
|
||||
@@ -89,10 +89,8 @@
|
||||
</div>
|
||||
|
||||
<div id="user-workouts-overview-graphs-{{ user.id }}">
|
||||
<img src="{{ url_for('graph_user_workouts', user_id=user.id, period='week', attributes=['workout_count']) }}"
|
||||
loading="lazy" alt="No image" class="mx-auto" _="on click remove me">
|
||||
<img src="{{ url_for('graph_user_workouts', user_id=user.id, period='month', attributes=['duration_minutes']) }}"
|
||||
loading="lazy" alt="No image" class="mx-auto" _="on click remove me">
|
||||
<img src="{{ url_for('graph_user_workouts', user_id=user.id, period='week', attributes=['average_rpm','average_bpm']) }}"
|
||||
{% for period, attributes in user.graphs %}
|
||||
<img src="{{ url_for('graph_user_workouts', user_id=user.id, period=period, attributes=attributes) }}"
|
||||
loading="lazy" alt="No image" class="mx-auto" _="on click remove me">
|
||||
{% endfor %}
|
||||
</div>
|
||||
Reference in New Issue
Block a user