# State Management

## Approach
Eventify uses **Provider** (`^6.1.2`) for state management.

## Pattern
- `ChangeNotifier` classes hold state
- `ChangeNotifierProvider` exposes state to the widget tree
- `Consumer<T>` / `context.watch<T>()` rebuilds UI on state change
- `context.read<T>()` for one-off reads without subscribing

## Key Providers
> Fill in as you identify providers in `lib/core/` and `lib/features/`

| Provider | Location | Responsibility |
|----------|----------|----------------|
| AuthProvider | `lib/core/auth/` | Session, login/logout |
| ThemeManager | `lib/core/theme_manager.dart` | Dark/Light mode toggle |

## Notes
- Desktop and mobile screens share the same providers via `responsive_layout.dart`
- Local persistence uses `shared_preferences` (not Provider)
