summaryrefslogtreecommitdiff
path: root/web/templates.templ
diff options
context:
space:
mode:
authorMartin Kagamino Lehoux <martin@lehoux.net>2026-08-16 11:24:45 +0200
committerMartin Kagamino Lehoux <martin@lehoux.net>2026-08-16 11:24:45 +0200
commit3e1c6f9c0056c488f51dc2e13d6ddf5365adb312 (patch)
tree7d8bc8320643c91bf6bf217c622240859b5efe12 /web/templates.templ
parent9dd4a9ac8f359f8d25b1c89fccc9e098f7b124ca (diff)
refactor(web): derive climb display groups
Diffstat (limited to 'web/templates.templ')
-rw-r--r--web/templates.templ14
1 files changed, 7 insertions, 7 deletions
diff --git a/web/templates.templ b/web/templates.templ
index 9f57696..1decad5 100644
--- a/web/templates.templ
+++ b/web/templates.templ
@@ -79,13 +79,13 @@ templ RideDetailContent(data RideDetailView) {
</dl>
</section>
if data.HasRoute {
- if len(data.Profile.OfficialClimbs) > 0 {
+ if len(data.Profile.OfficialClimbs()) > 0 {
<section class="panel official-climbs-panel">
<div class="section-heading">
<p class="eyebrow">Official climbs</p>
</div>
<div class="official-climb-list">
- for _, climb := range data.Profile.OfficialClimbs {
+ for _, climb := range data.Profile.OfficialClimbs() {
<details class="official-climb-card" data-official-climb-card>
<summary>
<span class="official-climb-card-title"><span class="climb-number">Climb { formatClimbNumber(climb.Index) }</span><strong>{ climb.OfficialName }</strong></span>
@@ -112,20 +112,20 @@ templ RideDetailContent(data RideDetailView) {
</div>
</section>
}
- <div class={ rideDetailColumnsClass(len(data.Profile.UnmatchedClimbs)) }>
- if len(data.Profile.UnmatchedClimbs) > 0 {
+ <div class={ rideDetailColumnsClass(len(data.Profile.UnmatchedClimbs())) }>
+ if len(data.Profile.UnmatchedClimbs()) > 0 {
<section class="panel climbs-panel">
<div class="section-heading">
<div><p class="eyebrow">Next steps</p><h2>Climbs to match</h2></div>
- <span class="section-count">{ formatClimbCount(len(data.Profile.UnmatchedClimbs)) }</span>
+ <span class="section-count">{ formatClimbCount(len(data.Profile.UnmatchedClimbs())) }</span>
</div>
<nav class="climb-navigation" aria-label="Climb navigation">
<button class="button secondary" type="button" data-climb-previous aria-label="Previous climb">←</button>
- <output data-climb-position>Climb 1 of { formatClimbCount(len(data.Profile.UnmatchedClimbs)) }</output>
+ <output data-climb-position>Climb 1 of { formatClimbCount(len(data.Profile.UnmatchedClimbs())) }</output>
<button class="button secondary" type="button" data-climb-next aria-label="Next climb">→</button>
</nav>
<div class="climb-list" data-climb-list>
- for _, climb := range data.Profile.UnmatchedClimbs {
+ for _, climb := range data.Profile.UnmatchedClimbs() {
<article class="climb-item todo-item" data-climb-item data-climb-index={ formatRouteIndex(climb.Index) }>
<div class="climb-item-heading">
<strong><span class="todo-check" aria-hidden="true"></span><span class="climb-number">Climb { formatClimbNumber(climb.Index) }</span>{ climb.Name }</strong>