summaryrefslogtreecommitdiff
path: root/web/frontend/ride-detail.ts
diff options
context:
space:
mode:
Diffstat (limited to 'web/frontend/ride-detail.ts')
-rw-r--r--web/frontend/ride-detail.ts8
1 files changed, 6 insertions, 2 deletions
diff --git a/web/frontend/ride-detail.ts b/web/frontend/ride-detail.ts
index 7394d5a..045372e 100644
--- a/web/frontend/ride-detail.ts
+++ b/web/frontend/ride-detail.ts
@@ -3,17 +3,19 @@ import { RideBoundaryController } from "./ride-detail-boundaries.js";
import { RideProfileCanvas } from "./ride-detail-canvas.js";
import { RideDetailMap } from "./ride-detail-map.js";
import { formatDistance, formatElevation } from "./ride-detail-logic.js";
-import type { ClimbBounds, RideMapColors, RideProfile, RideProfileColors, RideProfilePoint, RideRoute } from "./types.js";
+import type { ClimbBounds, RideMapColors, RideMapPass, RideProfile, RideProfileColors, RideProfilePoint, RideRoute } from "./types.js";
export const mountRideDetail = (): void => {
const mapElement = document.getElementById("ride-map");
const routeElement = document.getElementById("ride-route");
const profileElement = document.getElementById("ride-profile");
+ const passesElement = document.getElementById("ride-passes");
const canvas = document.getElementById("ride-profile-chart");
const hoverOutput = document.getElementById("ride-profile-hover");
- if (!mapElement || !routeElement || !profileElement || !canvas || !hoverOutput) return;
+ if (!mapElement || !routeElement || !profileElement || !passesElement || !canvas || !hoverOutput) return;
const routeScript = routeElement as HTMLScriptElement;
const profileScript = profileElement as HTMLScriptElement;
+ const passesScript = passesElement as HTMLScriptElement;
const profileCanvasElement = canvas as HTMLCanvasElement;
const leaflet = window.L;
if (!leaflet) return;
@@ -49,6 +51,7 @@ export const mountRideDetail = (): void => {
const route = JSON.parse(routeScript.textContent ?? "") as RideRoute;
const profile = JSON.parse(profileScript.textContent ?? "") as RideProfile;
+ const passes = JSON.parse(passesScript.textContent ?? "") as RideMapPass[];
const points: RideProfilePoint[] = profile.points;
if (points.length === 0) return;
@@ -69,6 +72,7 @@ export const mountRideDetail = (): void => {
route,
points,
climbs: climbBounds,
+ passes,
colors: mapColors,
});
const officialProfileController = new OfficialClimbProfileController(points);