diff options
Diffstat (limited to 'web')
| -rw-r--r-- | web/ride-filters.go | 16 | ||||
| -rw-r--r-- | web/templates.templ | 6 |
2 files changed, 8 insertions, 14 deletions
diff --git a/web/ride-filters.go b/web/ride-filters.go index 2282b8d..0bb97d8 100644 --- a/web/ride-filters.go +++ b/web/ride-filters.go @@ -2,6 +2,7 @@ package web import ( "net/url" + "slices" "strconv" "time" @@ -219,7 +220,7 @@ func parseRideRideTypesFilter(values []string) []ride.RideType { continue } rideType := ride.RideType(value) - if containsRideType(set, rideType) { + if slices.Contains(set, rideType) { continue } set = append(set, rideType) @@ -240,21 +241,12 @@ func defaultRideTypes() []ride.RideType { } } -func containsRideType(types []ride.RideType, target ride.RideType) bool { - for _, candidate := range types { - if candidate == target { - return true - } - } - return false -} - func rideTypesEqual(a, b []ride.RideType) bool { if len(a) != len(b) { return false } for _, candidate := range a { - if !containsRideType(b, candidate) { + if !slices.Contains(b, candidate) { return false } } @@ -438,7 +430,7 @@ func rideMatchesFilters(item ride.StoredRide, filters RideFilters) bool { if filters.BikeType != nil && item.BikeType != *filters.BikeType { return false } - if len(filters.RideTypes) > 0 && !containsRideType(filters.RideTypes, item.RideType) { + if len(filters.RideTypes) > 0 && !slices.Contains(filters.RideTypes, item.RideType) { return false } return true diff --git a/web/templates.templ b/web/templates.templ index 6bf0154..8fbed0c 100644 --- a/web/templates.templ +++ b/web/templates.templ @@ -1,5 +1,7 @@ package web +import "slices" + templ Layout(title string, content templ.Component) { <!doctype html> <html lang="en"> @@ -66,7 +68,7 @@ templ RidesContent(data RidesPageData) { <legend>Ride type</legend> <div class="ride-type-options"> for _, opt := range rideTypeOptions { - <label class="ride-type-option"><input type="checkbox" name="ride_type" value={ string(opt) } checked?={ containsRideType(data.Filters.RideTypes, opt) }/><span>{ rideTypeLabels[opt] }</span></label> + <label class="ride-type-option"><input type="checkbox" name="ride_type" value={ string(opt) } checked?={ slices.Contains(data.Filters.RideTypes, opt) }/><span>{ rideTypeLabels[opt] }</span></label> } </div> </fieldset> @@ -136,7 +138,7 @@ templ AnalyticsContent(data AnalyticsPageData) { <legend>Ride type</legend> <div class="ride-type-options"> for _, opt := range rideTypeOptions { - <label class="ride-type-option"><input type="checkbox" name="ride_type" value={ string(opt) } checked?={ containsRideType(data.Filter.RideTypes, opt) }/><span>{ rideTypeLabels[opt] }</span></label> + <label class="ride-type-option"><input type="checkbox" name="ride_type" value={ string(opt) } checked?={ slices.Contains(data.Filter.RideTypes, opt) }/><span>{ rideTypeLabels[opt] }</span></label> } </div> </fieldset> |
