From 8a0032d08862dcf28c653bee3fd21052e967e35d Mon Sep 17 00:00:00 2001 From: Martin Kagamino Lehoux Date: Sun, 18 Oct 2026 21:19:36 +0200 Subject: Cut climb profile sections in the backend The chart steps are computed in Go and shipped as finished sections, next to the profile statistics the climb package already owns: climb.ProfileSections cuts a Route at its widest bends under a ProfilePolicy, and rideanalysis.MergeClimbProfile takes over the merge that lived in web/climbs.go, so web only loads the attempt rides and maps the DTOs. The payload carries sections instead of raw elevations, and the browser keeps what needs the canvas: slope bands, labels, distance ticks and colours. official-climb-profile-logic.ts and its tests are gone, replaced by climb/profile_test.go and a page test reading the embedded profile JSON. --- web/templates.templ | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'web/templates.templ') diff --git a/web/templates.templ b/web/templates.templ index 7c326eb..dbdeeac 100644 --- a/web/templates.templ +++ b/web/templates.templ @@ -304,7 +304,7 @@ templ RideDetailContent(data RideDetailView) {
- +
<=0% 0–3% @@ -542,7 +542,7 @@ templ ClimbDetailContent(data ClimbDetailPageData) {
- if len(data.Profile.Elevations) > 0 { + if len(data.Profile.Sections) > 0 {

Profile

Median profile

-- cgit v1.3