feat(frontend): add race details page with completed metrics

Implement race detail routing and UI with client-side pace calculation so completed race metrics are visible from the calendar flow.

Made-with: Cursor
This commit is contained in:
Anton
2026-04-06 17:48:11 +03:00
parent 36e103dd41
commit 92cf94aa5b
5 changed files with 256 additions and 5 deletions

View File

@@ -1,4 +1,5 @@
import { useEffect, useMemo, useState } from "react";
import { Link } from "react-router-dom";
import type { Race } from "../api";
import { ApiError, getRaces } from "../api";
import { formatDistance, formatRaceDate, getRaceStatusLabel, splitRacesByDate } from "../lib";
@@ -21,7 +22,11 @@ function RaceList(props: { title: string; races: Race[] }): JSX.Element {
{races.map((race) => (
<li key={race.id} className="race-card">
<div className="race-card__main">
<p className="race-card__title">{race.title}</p>
<p className="race-card__title">
<Link className="race-card__link" to={`/races/${race.id}`}>
{race.title}
</Link>
</p>
<p className="race-card__meta">
{formatRaceDate(race.date)} · {formatDistance(race.distanceKm)}
</p>