Files
Eventify-frontend/_notes/01 - Architecture/State Management.md

23 lines
789 B
Markdown
Raw Normal View History

# 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)