Files
sf-app-platform/pubspec.yaml
JulianAlcala f7d3dbfd27 refactor(legacy): migrate theming to Material 3 + SfColors extension
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.
2026-04-26 21:52:50 +02:00

107 lines
3.2 KiB
YAML

name: sf_app_platform_mono_repo
description: Monorepo for sf app platform, packages and modules included.
publish_to: "none"
environment:
sdk: ">=3.6.0 <4.0.0"
workspace:
- apps/mobile_app
- modules/splash
- modules/payment/modules/activity
- modules/payment/modules/auth
- modules/payment/modules/dashboard_shell
- modules/payment/modules/home
- modules/payment/modules/notifications
- modules/payment/modules/profile
- modules/legacy
- modules/legacy/modules/account
- modules/legacy/modules/control_panel
- modules/legacy/modules/customer_service
- modules/legacy/modules/device_management
- modules/legacy/modules/legacy_auth
- modules/legacy/modules/legacy_dashboard_shell
- modules/legacy/modules/location
- modules/legacy/modules/settings
- modules/legacy/packages/legacy_shared
- modules/legacy/packages/legacy_device_state
- modules/legacy/packages/legacy_theme
- packages/design_system
- packages/flutter_treezor_entrust_sdk_bridge
- packages/flutter_treezor_entrust_sdk_bridge/example
- packages/fonts
- packages/navigation
- packages/payments
- packages/sca_treezor
- packages/sf_infrastructure
- packages/sf_localizations
- packages/sf_shared
- packages/sf_tracking
- packages/utils
- packages/videocall_sdk
dependencies:
flutter_secure_storage: ^9.2.4
dev_dependencies:
melos: ^7.5.1
dependency_overrides:
flutter_secure_storage: 9.2.4
melos:
name: sf-app-platform
scripts:
analyze:
description: Run flutter analyze across all packages
exec: flutter analyze .
test:
description: Run all tests in packages that have a test directory
exec: flutter test
packageFilters:
dirExists: test
clean:
description: Clean .dart_tool and build directories in all packages
exec: flutter clean
generate:
description: Run build_runner in packages that depend on build_runner
exec: dart run build_runner build --delete-conflicting-outputs
packageFilters:
dependsOn: build_runner
format:
description: Format all Dart code
exec: dart format .
format:check:
description: Check formatting without making changes (CI-friendly)
exec: dart format --set-exit-if-changed --output=none .
outdated:
description: Show outdated dependencies in all packages
exec: flutter pub outdated
sync-deps:
description: Propagate versions from dependencies.yaml to all pubspec.yaml
run: dart run tool/sync_deps.dart sync
check-deps:
description: Verify all pubspec.yaml are in sync with dependencies.yaml (CI-friendly)
run: dart run tool/sync_deps.dart check
app:dev:
description: Launch the app in development flavor
run: cd apps/mobile_app && flutter run -t lib/main_development.dart --dart-define-from-file=config/development.json
app:staging:
description: Launch the app in staging flavor
run: cd apps/mobile_app && flutter run -t lib/main_staging.dart --dart-define-from-file=config/staging.json
app:prod:
description: Launch the app in production flavor
run: cd apps/mobile_app && flutter run -t lib/main_production.dart --dart-define-from-file=config/production.json