Line data Source code
1 : import 'package:amadeus_proto/exercises/exercises_page.dart';
2 : import 'package:amadeus_proto/pages/profile/pages/profile_page.dart';
3 : // import 'package:amadeus_proto/pages/music_sheets/music_sheet_page.dart';
4 : // import 'package:amadeus_proto/pages/scan/pages/scan_page.dart';
5 : import 'package:amadeus_proto/utils/not_available_yet_placeholder.dart';
6 : import 'package:flutter/material.dart';
7 : import 'package:amadeus_proto/pages/home/home.dart';
8 :
9 : class AppState extends ChangeNotifier {
10 : bool _haveHeader = true;
11 : bool _isNavBarVisible = true;
12 : bool _isProfileDisplayed = false;
13 : String _userId = "";
14 :
15 0 : bool get haveHeader => _haveHeader;
16 0 : set haveHeader(bool value) {
17 0 : _haveHeader = value;
18 0 : notifyListeners();
19 : }
20 :
21 0 : bool get isNavBarVisible => _isNavBarVisible;
22 0 : set isNavBarVisible(bool value) {
23 0 : _isNavBarVisible = value;
24 0 : notifyListeners();
25 : }
26 :
27 0 : bool get isProfileDisplayed => _isProfileDisplayed;
28 0 : set isProfileDisplayed(bool value) {
29 0 : _isProfileDisplayed = value;
30 0 : notifyListeners();
31 : }
32 :
33 0 : String get userId => _userId;
34 1 : set userId(String value) {
35 1 : _userId = value;
36 1 : notifyListeners();
37 : }
38 :
39 : final List<Widget> _pages = [
40 : const Home(),
41 : const ExercisesPage(),
42 : const NotAvailableYetWidget(),
43 : const NotAvailableYetWidget(),
44 : const NotAvailableYetWidget(),
45 : ];
46 :
47 : int _pageIndex = 0;
48 2 : int get pageIndex => _pageIndex;
49 0 : set pageIndex(int value) {
50 0 : _isProfileDisplayed = false;
51 0 : _haveHeader = true;
52 0 : if (value < 0 || value >= _pages.length) {
53 0 : throw Exception("Invalid page index");
54 : }
55 0 : _pageIndex = value;
56 0 : notifyListeners();
57 : }
58 :
59 1 : Widget get currentPage {
60 1 : if (_isProfileDisplayed) {
61 0 : return ProfilePage(userId: _userId,);
62 : }
63 3 : return _pages[_pageIndex];
64 : }
65 :
66 0 : int get nbPages => _pages.length;
67 : }
|