Line data Source code
1 : import 'package:flutter/material.dart';
2 :
3 : class LessonProvider extends ChangeNotifier {
4 : int _index = 0;
5 0 : int get index => _index;
6 0 : set index(int value) {
7 0 : _index = value;
8 0 : notifyListeners();
9 : }
10 :
11 : bool _isInitialized = false;
12 0 : bool get isInitialized => _isInitialized;
13 0 : set isInitialized(bool value) {
14 0 : _isInitialized = value;
15 0 : notifyListeners();
16 : }
17 :
18 : int _numberPages = 0;
19 0 : int get numberPages => _numberPages;
20 0 : set numberPages(int value) {
21 0 : _numberPages = value;
22 0 : notifyListeners();
23 : }
24 :
25 : List<String> _lessonPageImage = [];
26 0 : List<String> get lessonPageImage => _lessonPageImage;
27 0 : set lessonPageImage(List<String> value) {
28 0 : _lessonPageImage = value;
29 0 : notifyListeners();
30 : }
31 :
32 : List<String> _lessonPageDescription = [];
33 0 : List<String> get lessonPageDescription => _lessonPageDescription;
34 0 : set lessonPageDescription(List<String> value) {
35 0 : _lessonPageDescription = value;
36 0 : notifyListeners();
37 : }
38 :
39 : List<String> _lessonPageTitle = [];
40 0 : List<String> get lessonPageTitle => _lessonPageTitle;
41 0 : set lessonPageTitle(List<String> value) {
42 0 : _lessonPageTitle = value;
43 0 : notifyListeners();
44 : }
45 :
46 : String _lessonTitle = "";
47 0 : String get lessonTitle => _lessonTitle;
48 0 : set lessonTitle(String value) {
49 0 : _lessonTitle = value;
50 0 : notifyListeners();
51 : }
52 :
53 0 : bool isLastPage() {
54 0 : return index == numberPages - 1;
55 : }
56 :
57 0 : bool isFirstPage() {
58 0 : return index == 0;
59 : }
60 :
61 0 : void initializeData(dynamic data) async {
62 0 : final List<Map<String, dynamic>> pages = (data["lessonPage"] as List)
63 0 : .map((dynamic e) => e as Map<String, dynamic>)
64 0 : .toList();
65 :
66 0 : lessonTitle = data["title"];
67 :
68 : pages
69 0 : .map((elem) => lessonPageDescription.add(elem["description"]!))
70 0 : .toList();
71 0 : pages.map((elem) => lessonPageImage.add(elem["image"]!)).toList();
72 0 : pages.map((elem) => lessonPageTitle.add(elem["title"]!)).toList();
73 :
74 : // print(lessonTitle);
75 :
76 : // print(lessonPageDescription);
77 : // print(lessonPageImage);
78 : // print(lessonPageTitle);
79 :
80 0 : numberPages = pages.length;
81 : // indices.shuffle();
82 : // _answerQueue.addAll(indices);
83 :
84 : // questions = data["questionAssetPath"].cast<String>();
85 : // choices = indices.map((i) => choicesData[i]).toSet().toList();
86 : // questions = indices.map((i) => questions[i]).toSet().toList();
87 :
88 : // lives = data["lives"];
89 : // question = data["question"];
90 : // answer = _answerQueue.first;
91 0 : isInitialized = true;
92 : }
93 :
94 0 : void reset() {
95 0 : index = 0;
96 0 : isInitialized = false;
97 0 : numberPages = 0;
98 0 : lessonPageImage = [];
99 0 : lessonPageDescription = [];
100 0 : lessonPageTitle = [];
101 0 : lessonTitle = "";
102 : }
103 : }
|