From 02a2c9552c53d7320bb7ce84b2a0602280518b7a Mon Sep 17 00:00:00 2001 From: Peter Stockings Date: Thu, 30 Mar 2023 21:00:16 +1100 Subject: [PATCH] Add duration sparkline on user workouts accordion --- app.py | 10 ++++++++-- templates/workouts_list.html | 6 +++--- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/app.py b/app.py index ba7275e..4f7f965 100644 --- a/app.py +++ b/app.py @@ -222,6 +222,8 @@ def render_users_and_workouts(): start_date = workouts[-1]['start_time_date'].date() # get end date from first workout end_date = workouts[0]['start_time_date'].date() + # get difference in days between start and end date + num_days = (end_date - start_date).days + 1 # calculate number of weeks between start and end date num_weeks = (end_date - start_date).days // 7 + 1 @@ -241,7 +243,8 @@ def render_users_and_workouts(): workout_counts_sparkline = sparklines.sparklines( workout_counts_by_week) - duration_sparkline = sparklines.sparklines(duration_by_week) + duration_sparkline = sparklines.sparklines( + [int(w['duration_minutes']) for w in workouts])[0] user_data = { 'id': user.id, @@ -250,7 +253,10 @@ def render_users_and_workouts(): 'workouts_count': len(workouts), 'workouts': workouts, 'workout_counts_by_week': workout_counts_by_week, - 'duration_by_week': duration_by_week + 'duration_by_week': duration_by_week, + 'num_days': num_days, + 'workout_counts_sparkline': workout_counts_sparkline, + 'duration_sparkline': duration_sparkline } users_data.append(user_data) diff --git a/templates/workouts_list.html b/templates/workouts_list.html index 978610b..18b12f7 100644 --- a/templates/workouts_list.html +++ b/templates/workouts_list.html @@ -49,9 +49,9 @@ class="accordion-button group relative flex w-full items-center rounded-t-[15px] border-0 bg-white py-4 px-5 text-left text-base text-neutral-800 transition [overflow-anchor:none] hover:z-[2] focus:z-[3] focus:outline-none dark:bg-neutral-800 dark:text-white [&:not([data-te-collapse-collapsed])]:bg-white [&:not([data-te-collapse-collapsed])]:text-primary [&:not([data-te-collapse-collapsed])]:[box-shadow:inset_0_-1px_0_rgba(229,231,235)] dark:[&:not([data-te-collapse-collapsed])]:bg-neutral-800 dark:[&:not([data-te-collapse-collapsed])]:text-primary-400 dark:[&:not([data-te-collapse-collapsed])]:[box-shadow:inset_0_-1px_0_rgba(75,85,99)]" type="button">
-

View {{ user.workouts_count }} workouts

-

Duration: 35 days | Weekly average workouts: 25 mins| - Calories: 84 | Distance: 17

+

View {{ user.workouts_count }} workouts {{ user.duration_sparkline }}

+