Improve monthly calendar view

This commit is contained in:
Peter Stockings
2026-02-02 21:45:22 +11:00
parent 2b330e4743
commit f53bf3d106
3 changed files with 100 additions and 41 deletions

View File

@@ -148,12 +148,38 @@ def _process_workouts_for_month_view(grouped_workouts, start_date, end_date, sel
day_workouts_dict = grouped_workouts.get(current_date, {})
day_workouts_list = list(day_workouts_dict.values()) # Convert workout dicts to list
total_sets = 0
has_pr = False
has_improvement = False
pr_count = 0
improvement_count = 0
unique_exercise_names = []
for workout in day_workouts_list:
total_sets += len(workout.get('sets', []))
for s in workout.get('sets', []):
if s.get('is_pr'):
has_pr = True
pr_count += 1
if s.get('is_improvement'):
has_improvement = True
improvement_count += 1
name = s.get('exercise_name')
if name and name not in unique_exercise_names:
unique_exercise_names.append(name)
days_data.append({
'date_obj': current_date, # Pass the date object for easier template logic
'day': current_date.day,
'is_today': current_date == today, # Correct comparison: date object == date object
'is_in_current_month': current_date.month == selected_date.month,
'has_workouts': len(day_workouts_list) > 0,
'workout_count': len(day_workouts_list),
'total_sets': total_sets,
'has_pr': has_pr,
'has_improvement': has_improvement,
'pr_count': pr_count,
'improvement_count': improvement_count,
'exercise_names': unique_exercise_names[:3], # Limit to first 3 for summary
'workouts': day_workouts_list
})
current_date += timedelta(days=1)