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:
2026-08-23 23:26:03 +09:00
parent fff81719b1
commit 54cec166b4
3 changed files with 15 additions and 21 deletions
@@ -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);