import 'package:mobile_monitoring/data/models/service_result.dart'; import 'package:mobile_monitoring/data/services/hidroponik_data_service.dart'; import 'package:mobile_monitoring/data/services/home_service.dart'; import 'package:mobile_monitoring/logic/controllers/base_controller.dart'; class HomeController extends BaseController { HomeController({ HomeService? homeService, HidroponikDataService? hidroponikDataService, }) : _homeService = homeService ?? HomeService(), _hidroponikDataService = hidroponikDataService ?? HidroponikDataService(); final HomeService _homeService; final HidroponikDataService _hidroponikDataService; int _selectedIndex = 1; int get selectedIndex => _selectedIndex; String get userDisplayName => _homeService.getUserDisplayName(); String get userInitials => _homeService.getUserInitials(userDisplayName); String? get currentUserId => _homeService.getCurrentUserIdResult().data; void setSelectedIndex(int index) { _selectedIndex = index; notifyListeners(); } ServiceResult parseMonitoringData(Map data) { return _homeService.parseMonitoringDataResult(data); } ServiceResult mapError(Object error) { return _homeService.getErrorInfoResult(error); } Stream?> latestDataStream(String? userId) { return _hidroponikDataService.latestDataStream(userId: userId); } }