f7d3dbfd27ed48602728aa2581ff1cf9d9ecbd83
Replace the ThemePort/ThemeCode abstraction (GetIt-registered adapter) with a Riverpod-driven Material 3 ColorScheme, an SfColors ThemeExtension for brand tokens, and a user-facing appearance selector for light/dark/ system modes. Persisted via SharedPreferences, reacts to system brightness changes. Payments mode keeps the existing ThemePort API. Highlights - New legacy_theme package: LegacyAppTheme (light/dark), LegacyColorSchemes, SfColors ThemeExtension, LegacyThemePreferences, LegacyThemeNotifier, LegacyThemeSelector. Timeframe-based variants scaffolded but disabled. - New /legacy/dashboard/control_panel/settings/appearance route + screen. - MaterialApp.router picks the legacy theme only when isLegacyMode. - ~90 ThemeCode.* usages migrated to colorScheme.* / context.sfColors.*. - 25 widgets dropped the 'ThemePort theme' constructor param. - ~145 hardcoded colors migrated (exact hex 1:1, grey.shade tiers, destructive red -> colorScheme.error, background whites -> surface). Content-over-color whites, transparents, and brand semantic reds/ oranges/greens intentionally preserved. - sf_localizations updated with appearance / appearanceDescription keys in all six locales.
SF-APP-PLATFORM
Description
Languages
Dart
95.9%
CMake
2.1%
C++
1.3%
HTML
0.3%
C
0.2%
Other
0.2%