docs(MEMORY): update known issues and violations for staff and client apps

This commit is contained in:
Achintha Isuru
2026-03-19 00:52:57 -04:00
parent 499dceda37
commit a45a3f6af1

View File

@@ -18,12 +18,56 @@
- `firebase_data_connect` and `firebase_auth` are listed as direct dependencies in `client_create_order/pubspec.yaml` (should only be in `data_connect` package) - `firebase_data_connect` and `firebase_auth` are listed as direct dependencies in `client_create_order/pubspec.yaml` (should only be in `data_connect` package)
- All 3 order pages use `Modular.to.pop()` instead of `Modular.to.popSafe()` for the back button - All 3 order pages use `Modular.to.pop()` instead of `Modular.to.popSafe()` for the back button
## Known Staff App Issues (full scan 2026-03-19)
- [recurring_violations.md](recurring_violations.md) - Detailed violation patterns
### Critical
- ProfileCubit calls repository directly (no use cases, no interface)
- BenefitsOverviewCubit calls repository.getDashboard() directly (bypasses use case)
- StaffMainCubit missing BlocErrorHandler mixin
- firebase_auth imported directly in auth feature repos (2 files)
### High (Widespread)
- 53 instances of `context.read<>()` without `ReadContext()` wrapper
- ~20 hardcoded Color(0x...) values in home/benefits widgets
- 5 custom TextStyle() in faqs_widget and tax_forms
- 8 copyWith(fontSize:) overrides on UiTypography
- ~40 hardcoded SizedBox spacing values
- Hardcoded nav labels in staff_nav_items_config.dart
- Zero test files across entire staff feature tree
## Design System Tokens ## Design System Tokens
- Colors: `UiColors.*` - Colors: `UiColors.*`
- Typography: `UiTypography.*` - Typography: `UiTypography.*`
- Spacing: `UiConstants.space*` (e.g., `space3`, `space4`, `space6`) - Spacing: `UiConstants.space*` (e.g., `space3`, `space4`, `space6`)
- App bar: `UiAppBar` - App bar: `UiAppBar`
## Known Client App Issues (full scan 2026-03-19)
### Critical
- Reports feature: All 7 report BLoCs call ReportsRepository directly (no use cases)
- OneTimeOrderBloc, PermanentOrderBloc, RecurringOrderBloc call _queryRepository directly for loading vendors/hubs/roles
- OneTimeOrderBloc._onSubmitted has payload building business logic (should be in use case)
- ClientMainCubit missing BlocErrorHandler mixin
- firebase_auth imported directly in authentication and settings feature repos (2 packages)
### High (Widespread)
- 17 hardcoded Color(0x...) across reports, coverage, billing, hubs
- 11 Material Colors.* usage (coverage, billing, reports)
- 66 standalone TextStyle() (almost all in reports feature)
- ~145 hardcoded EdgeInsets spacing values
- ~97 hardcoded SizedBox dimensions
- ~42 hardcoded BorderRadius.circular values
- 6 unsafe Modular.to.pop() calls (settings, hubs)
- BlocProvider(create:) used in no_show_report_page for Modular.get singleton
- Zero test files across entire client feature tree
- 2 hardcoded user-facing strings ("Export coming soon")
- 9 files with blanket ignore_for_file directives (reports feature)
### Naming Convention Violations
- CoverageRepository, BillingRepository, ReportsRepository missing "Interface" suffix
- IViewOrdersRepository uses "I" prefix instead of "Interface" suffix
## Review Patterns (grep-based checks) ## Review Patterns (grep-based checks)
- `Color(0x` for hardcoded colors - `Color(0x` for hardcoded colors
- `TextStyle(` for custom text styles - `TextStyle(` for custom text styles