dev
dart 35 lines 644 Bytes
Raw
1 import 'package:mobx/mobx.dart';
2
3 part 'desktop_sidebar_view_model.g.dart';
4
5 enum SidebarItem {
6 dashboard,
7 transactions,
8 status,
9 support,
10 settings,
11 }
12
13 class DesktopSidebarViewModel = DesktopSidebarViewModelBase with _$DesktopSidebarViewModel;
14
15 abstract class DesktopSidebarViewModelBase with Store {
16 DesktopSidebarViewModelBase();
17
18 @observable
19 SidebarItem currentPage = SidebarItem.dashboard;
20
21 @action
22 void onPageChange(SidebarItem item) {
23 if (currentPage == item) {
24 resetSidebar();
25
26 return;
27 }
28 currentPage = item;
29 }
30
31 @action
32 void resetSidebar() {
33 currentPage = SidebarItem.dashboard;
34 }
35 }