fix: add SettingsProvider to SpeedometerViewModel and fix ProviderNotFoundException
- SpeedometerViewModel now requires both LocationRepository and SettingsProvider - SpeedometerView uses SettingsProvider.currentTheme instead of non-existent Theme provider - main.dart: SettingsProvider created before SpeedometerViewModel in provider hierarchy - Restores proper DI wiring after layered architecture refactor
This commit is contained in:
@@ -5,6 +5,7 @@ import 'package:provider/provider.dart';
|
||||
import '../../../core/constants/overlay_constants.dart';
|
||||
import '../../../core/theme/color_themes.dart';
|
||||
import '../../shared/speed_display.dart';
|
||||
import '../../../providers/settings_provider.dart';
|
||||
import 'speedometer_view_model.dart';
|
||||
|
||||
/// Thin UI view for the speedometer — renders speed and compass.
|
||||
@@ -19,9 +20,8 @@ class SpeedometerView extends StatelessWidget {
|
||||
selector: (_, vm) => vm.displaySpeed,
|
||||
builder: (context, displaySpeed, _) {
|
||||
final vm = context.watch<SpeedometerViewModel>();
|
||||
final theme = context.select<Theme, ColorTheme>(
|
||||
(theme) => ColorThemes.themes[0],
|
||||
);
|
||||
final settings = context.read<SettingsProvider>();
|
||||
final theme = settings.currentTheme;
|
||||
|
||||
// Staleness — UI-layer concern
|
||||
final age = DateTime.now().difference(vm.displayData.timestamp);
|
||||
|
||||
Reference in New Issue
Block a user