aboutsummaryrefslogtreecommitdiff
path: root/web/templates.templ
diff options
context:
space:
mode:
Diffstat (limited to 'web/templates.templ')
-rw-r--r--web/templates.templ71
1 files changed, 59 insertions, 12 deletions
diff --git a/web/templates.templ b/web/templates.templ
index 6c3b09d..15e3466 100644
--- a/web/templates.templ
+++ b/web/templates.templ
@@ -46,22 +46,35 @@ templ RidesContent(data RidesPageData) {
<legend>Started</legend>
<div class="date-filter-inputs"><label for="ride-date-from">From<input id="ride-date-from" type="date" name="date_from" value={ data.Filters.DateFrom }/></label><label for="ride-date-to">To<input id="ride-date-to" type="date" name="date_to" value={ data.Filters.DateTo }/></label></div>
</fieldset>
- <label class="route-filter" for="ride-route">Route
- <select id="ride-route" name="route">
- if data.Filters.Route == rideRouteFilterAny {
- <option value="" selected>Any route</option>
+ <label for="ride-bike-type-filter">Bike
+ <select id="ride-bike-type-filter" name="bike_type">
+ if data.Filters.BikeType == "" {
+ <option value="" selected>Any bike</option>
} else {
- <option value="">Any route</option>
+ <option value="">Any bike</option>
}
- if data.Filters.Route == rideRouteFilterAvailable {
- <option value={ rideRouteFilterAvailable } selected>Recorded route</option>
- } else {
- <option value={ rideRouteFilterAvailable }>Recorded route</option>
+ for _, opt := range bikeTypeOptions {
+ if data.Filters.BikeType == string(opt) {
+ <option value={ string(opt) } selected>{ bikeTypeLabels[opt] }</option>
+ } else {
+ <option value={ string(opt) }>{ bikeTypeLabels[opt] }</option>
+ }
}
- if data.Filters.Route == rideRouteFilterMissing {
- <option value={ rideRouteFilterMissing } selected>Metadata only</option>
+ </select>
+ </label>
+ <label for="ride-type-filter">Ride type
+ <select id="ride-type-filter" name="ride_type">
+ if data.Filters.RideType == "" {
+ <option value="" selected>Any type</option>
} else {
- <option value={ rideRouteFilterMissing }>Metadata only</option>
+ <option value="">Any type</option>
+ }
+ for _, opt := range rideTypeOptions {
+ if data.Filters.RideType == string(opt) {
+ <option value={ string(opt) } selected>{ rideTypeLabels[opt] }</option>
+ } else {
+ <option value={ string(opt) }>{ rideTypeLabels[opt] }</option>
+ }
}
</select>
</label>
@@ -110,6 +123,40 @@ templ AnalyticsContent(data AnalyticsPageData) {
<div class="ride-filter-ranges">
@RideRangeFilter(rideDistanceFilterConfig(data.Filter))
</div>
+ <div class="ride-filter-meta">
+ <label for="analytics-bike-type">Bike
+ <select id="analytics-bike-type" name="bike_type">
+ if data.Filter.BikeType == "" {
+ <option value="" selected>Any bike</option>
+ } else {
+ <option value="">Any bike</option>
+ }
+ for _, opt := range bikeTypeOptions {
+ if data.Filter.BikeType == string(opt) {
+ <option value={ string(opt) } selected>{ bikeTypeLabels[opt] }</option>
+ } else {
+ <option value={ string(opt) }>{ bikeTypeLabels[opt] }</option>
+ }
+ }
+ </select>
+ </label>
+ <label for="analytics-ride-type">Ride type
+ <select id="analytics-ride-type" name="ride_type">
+ if data.Filter.RideType == "" {
+ <option value="" selected>Any type</option>
+ } else {
+ <option value="">Any type</option>
+ }
+ for _, opt := range rideTypeOptions {
+ if data.Filter.RideType == string(opt) {
+ <option value={ string(opt) } selected>{ rideTypeLabels[opt] }</option>
+ } else {
+ <option value={ string(opt) }>{ rideTypeLabels[opt] }</option>
+ }
+ }
+ </select>
+ </label>
+ </div>
</form>
</section>
<section class="panel analytics-panel">