~repos /only-bible-app
git clone https://pyrossh.dev/repos/only-bible-app.git
The only bible app you will ever need. No ads. No in-app purchases. No distractions.
ddb919ae
—
pyrossh 2 years ago
Rename provider
lib/providers/{chapter_view_model.dart → chapter_provider.dart}
RENAMED
|
@@ -6,15 +6,15 @@ import "package:shared_preferences/shared_preferences.dart";
|
|
|
6
6
|
import "package:only_bible_app/utils.dart";
|
|
7
7
|
import "package:only_bible_app/providers/app_provider.dart";
|
|
8
8
|
|
|
9
|
-
class
|
|
9
|
+
class ChapterProvider extends ChangeNotifier {
|
|
10
10
|
final int book;
|
|
11
11
|
final int chapter;
|
|
12
12
|
|
|
13
|
-
static
|
|
13
|
+
static ChapterProvider of(BuildContext context) {
|
|
14
14
|
return Provider.of(context, listen: true);
|
|
15
15
|
}
|
|
16
16
|
|
|
17
|
-
static
|
|
17
|
+
static ChapterProvider ofEvent(BuildContext context) {
|
|
18
18
|
return Provider.of(context, listen: false);
|
|
19
19
|
}
|
|
20
20
|
|
|
@@ -28,7 +28,7 @@ class ChapterViewModel extends ChangeNotifier {
|
|
|
28
28
|
return AppProvider.of(context).bible.books[model.book].chapters[model.chapter];
|
|
29
29
|
}
|
|
30
30
|
|
|
31
|
-
|
|
31
|
+
ChapterProvider({required this.book, required this.chapter}) {
|
|
32
32
|
save(book, chapter);
|
|
33
33
|
}
|
|
34
34
|
|
lib/screens/chapter_view_screen.dart
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import "package:flutter/material.dart";
|
|
2
|
-
import "package:only_bible_app/providers/
|
|
2
|
+
import "package:only_bible_app/providers/chapter_provider.dart";
|
|
3
3
|
import "package:only_bible_app/utils.dart";
|
|
4
4
|
import "package:only_bible_app/widgets/chapter_app_bar.dart";
|
|
5
5
|
import "package:only_bible_app/widgets/sidebar.dart";
|
|
@@ -33,7 +33,7 @@ class ChapterViewScreen extends StatelessWidget {
|
|
|
33
33
|
// ),
|
|
34
34
|
final isDesktop = isWide(context);
|
|
35
35
|
return ChangeNotifierProvider(
|
|
36
|
-
create: (_) =>
|
|
36
|
+
create: (_) => ChapterProvider(
|
|
37
37
|
book: book,
|
|
38
38
|
chapter: chapter,
|
|
39
39
|
),
|
lib/utils.dart
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import "dart:convert";
|
|
2
2
|
import "package:only_bible_app/dialog.dart";
|
|
3
3
|
import "package:only_bible_app/providers/app_provider.dart";
|
|
4
|
-
import "package:only_bible_app/providers/
|
|
4
|
+
import "package:only_bible_app/providers/chapter_provider.dart";
|
|
5
5
|
import "package:url_launcher/url_launcher.dart";
|
|
6
6
|
import "package:flutter/foundation.dart" show defaultTargetPlatform, TargetPlatform;
|
|
7
7
|
import "package:flutter/material.dart";
|
|
@@ -20,8 +20,8 @@ extension AppContext on BuildContext {
|
|
|
20
20
|
AppLocalizations get l10n => app.engTitles ? lookupAppLocalizations(const Locale("en")) : AppLocalizations.of(this)!;
|
|
21
21
|
AppProvider get app => Provider.of(this, listen: true);
|
|
22
22
|
AppProvider get appEvent => Provider.of(this, listen: false);
|
|
23
|
-
|
|
23
|
+
ChapterProvider get chapter => Provider.of(this, listen: true);
|
|
24
|
-
|
|
24
|
+
ChapterProvider get chapterEvent => Provider.of(this, listen: false);
|
|
25
25
|
}
|
|
26
26
|
|
|
27
27
|
|
lib/widgets/chapter_app_bar.dart
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import "package:flutter/material.dart";
|
|
2
2
|
import "package:only_bible_app/providers/app_provider.dart";
|
|
3
|
-
import "package:only_bible_app/providers/
|
|
3
|
+
import "package:only_bible_app/providers/chapter_provider.dart";
|
|
4
4
|
import "package:only_bible_app/utils.dart";
|
|
5
5
|
|
|
6
6
|
class ChapterAppBar extends StatelessWidget implements PreferredSizeWidget {
|
|
@@ -14,7 +14,7 @@ class ChapterAppBar extends StatelessWidget implements PreferredSizeWidget {
|
|
|
14
14
|
@override
|
|
15
15
|
Widget build(BuildContext context) {
|
|
16
16
|
final app = AppProvider.of(context);
|
|
17
|
-
final model =
|
|
17
|
+
final model = ChapterProvider.of(context);
|
|
18
18
|
final selectedBook = app.bible.books[model.book];
|
|
19
19
|
final bookName = selectedBook.name(context);
|
|
20
20
|
final isDesktop = isWide(context);
|
lib/widgets/verses_view.dart
CHANGED
|
@@ -2,7 +2,7 @@ import "package:flutter/gestures.dart";
|
|
|
2
2
|
import "package:flutter/material.dart";
|
|
3
3
|
import "package:flutter_swipe_detector/flutter_swipe_detector.dart";
|
|
4
4
|
import "package:only_bible_app/providers/app_provider.dart";
|
|
5
|
-
import "package:only_bible_app/providers/
|
|
5
|
+
import "package:only_bible_app/providers/chapter_provider.dart";
|
|
6
6
|
import "package:only_bible_app/utils.dart";
|
|
7
7
|
|
|
8
8
|
class VersesView extends StatelessWidget {
|
|
@@ -11,8 +11,8 @@ class VersesView extends StatelessWidget {
|
|
|
11
11
|
@override
|
|
12
12
|
Widget build(BuildContext context) {
|
|
13
13
|
final app = AppProvider.of(context);
|
|
14
|
-
final model =
|
|
14
|
+
final model = ChapterProvider.of(context);
|
|
15
|
-
final chapter =
|
|
15
|
+
final chapter = ChapterProvider.selectedChapter(context);
|
|
16
16
|
final textStyle = DefaultTextStyle.of(context).style;
|
|
17
17
|
return SwipeDetector(
|
|
18
18
|
onSwipeLeft: (offset) {
|