The Walker Screen: State, Actions & a Dialog

One screen, two very different jobs

WalkerScreen.kt is what a signed-in walker sees β€” completely different from the owner-facing WalkersScreen you studied in Lesson 1 (mind the near-identical names!). Where owners browse a list of walkers, a walker sees their own profile plus the bookings assigned to them, each with action buttons: Accept, Decline, Start walk, Complete.

Its WalkerViewModel holds a small state shape, just like WalkersViewModel's UiState from Module 05 β€” except this one bundles multiple pieces of data in a single data class rather than a sealed interface, because several of the fields (bookings, profile, loading, error) can all be meaningfully non-default at once.