Files
Eventify-frontend/_notes/01 - Architecture/State Management.md
Sicherhaven b8fcd29aff chore: remove vibe-coding artifacts from tracking, sync notes and obsidian config
- Untrack .claude/launch.json (Claude Code config)
- Add .claude/, .mcp.json, CLAUDE.md, and AI-generated CSVs to .gitignore
- Add _notes/ vault (architecture, API, tasks, bugs, infra docs)
- Add .obsidian/ plugin/vault config (workspace state excluded)
- Sync CHANGELOG.md
2026-04-06 22:04:06 +05:30

23 lines
789 B
Markdown

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