# 10th November 2025 — Walk Functionality Fixes [#33](https://github.com/nbarrett/ngx-ramblers/issues/33)
 ## [build 356](https://github.com/nbarrett/ngx-ramblers/actions/runs/19226914031) — [fixes #33](https://github.com/nbarrett/ngx-ramblers/issues/33) — [commit c4ff6ed](https://github.com/nbarrett/ngx-ramblers/commit/c4ff6ed)

Multiple critical fixes to walk functionality including "Our Next Walk" badge display, search URL synchronization, and improved type safety.

**Where to Find It**

- **Walks → List View**: Correctly shows "Our Next Walk" badge on earliest upcoming walk
- **Search**: URL parameters now stay synchronized with search field input
- **Ramblers Walks**: "Our Next Walk" badge properly identifies walks from Ramblers

**Benefits**

- **Accurate Next Walk Badge**: Shows on the earliest upcoming walk only, checking both walk.id and walk.groupEvent.id for Ramblers walks
- **Synchronized Search**: Search URL parameter updates immediately when typing, preventing race conditions
- **Improved Stability**: Guards prevent TypeError when filters applied before walks are loaded
- **Better Type Safety**: ES-Toolkit functions (isUndefined, isNull) replace manual checks for consistency
- **Cleaner Code**: Improved type safety in replaceQueryParams with Record<string, string | number | null>

**Technical Details**

- Fixed isNextWalk() to check both walk.id and walk.groupEvent.id since Ramblers walks use groupEvent.id
- Corrected nextWalkId() sort path from "walk.groupEvent.start_date_time" to "groupEvent.start_date_time"
- WalkListComponent now updates page and search parameters in single router navigation
- Added early return guard in applyFilterToWalks when this.walks is undefined