## Problem There is no established pattern for displaying errors and allowing users to retry. Each screen will handle this ad-hoc. ## Acceptance criteria - [ ] Create a reusable `ErrorScreen` composable that accepts a message and an optional `onRetry` callback - [ ] Define a sealed `UiState<T>` class (`Loading`, `Success(data: T)`, `Error(message: String)`) in a shared location - [ ] Show an example of the full `UiState` lifecycle in one screen/ViewModel pair - [ ] Document the pattern in `mobile/docs/architecture.md` - [ ] Add instrumented tests for `ErrorScreen`
Problem
There is no established pattern for displaying errors and allowing users to retry. Each screen will handle this ad-hoc.
Acceptance criteria
ErrorScreencomposable that accepts a message and an optionalonRetrycallbackUiState<T>class (Loading,Success(data: T),Error(message: String)) in a shared locationUiStatelifecycle in one screen/ViewModel pairmobile/docs/architecture.mdErrorScreen