47 lines
1.1 KiB
Dart
47 lines
1.1 KiB
Dart
|
import 'package:flutter/material.dart';
|
||
|
import 'package:stacked/stacked.dart';
|
||
|
import 'package:stacked_services/stacked_services.dart';
|
||
|
|
||
|
import '../../../app/app.locator.dart';
|
||
|
import '../../../app/app.logger.dart';
|
||
|
import '../../../app/app.router.dart';
|
||
|
|
||
|
class NavBarViewModel extends IndexTrackingViewModel {
|
||
|
final log = getLogger('NavBarViewModel');
|
||
|
final _navigationService = locator<NavigationService>();
|
||
|
|
||
|
final _bottomNavBarList = [
|
||
|
{
|
||
|
'name': 'Real Time',
|
||
|
'icon': Icons.home_outlined,
|
||
|
},
|
||
|
{
|
||
|
'name': 'Log Data',
|
||
|
'icon': Icons.list_alt_outlined,
|
||
|
},
|
||
|
];
|
||
|
|
||
|
List<Map<String, dynamic>> get bottomNavBarList => _bottomNavBarList;
|
||
|
|
||
|
final List<String> _views = [
|
||
|
NavBarViewRoutes.monitoringView,
|
||
|
NavBarViewRoutes.logDataView,
|
||
|
];
|
||
|
|
||
|
Future<void> init() async {}
|
||
|
|
||
|
void handleNavigation(int index) {
|
||
|
log.d("handleNavigation: $index");
|
||
|
log.d("currentIndex: $currentIndex");
|
||
|
|
||
|
if (currentIndex == index) return;
|
||
|
|
||
|
setIndex(index);
|
||
|
// header = _bottomNavBarList[index]['header'] as String;
|
||
|
_navigationService.navigateTo(
|
||
|
_views[index],
|
||
|
id: 3,
|
||
|
);
|
||
|
}
|
||
|
}
|