~repos /only-bible-app

#kotlin#android#ios

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.


76e5399c pyrossh

2 years ago
Rename provider
lib/app.dart CHANGED
@@ -1,7 +1,7 @@
1
1
  import 'dart:ui' as ui;
2
2
  import "package:flutter/material.dart";
3
3
  import "package:flutter_gen/gen_l10n/app_localizations.dart";
4
- import "package:only_bible_app/providers/app_model.dart";
4
+ import "package:only_bible_app/providers/app_provider.dart";
5
5
  import "package:only_bible_app/screens/chapter_view_screen.dart";
6
6
  import "package:only_bible_app/theme.dart";
7
7
 
@@ -13,7 +13,7 @@ class App extends StatelessWidget {
13
13
 
14
14
  @override
15
15
  Widget build(BuildContext context) {
16
- final model = AppModel.of(context);
16
+ final model = AppProvider.of(context);
17
17
  return MaterialApp(
18
18
  title: "Only Bible App",
19
19
  locale: model.locale,
lib/main.dart CHANGED
@@ -7,7 +7,7 @@ import "package:firebase_crashlytics/firebase_crashlytics.dart";
7
7
  import "package:only_bible_app/firebase_options.dart";
8
8
  import "package:flutter_native_splash/flutter_native_splash.dart";
9
9
  import "package:only_bible_app/app.dart";
10
- import "package:only_bible_app/providers/app_model.dart";
10
+ import "package:only_bible_app/providers/app_provider.dart";
11
11
  import "package:provider/provider.dart";
12
12
 
13
13
  void main() async {
@@ -26,7 +26,7 @@ void main() async {
26
26
  };
27
27
  FlutterNativeSplash.preserve(widgetsBinding: widgetsBinding);
28
28
  print(Intl.getCurrentLocale());
29
- final model = AppModel();
29
+ final model = AppProvider();
30
30
  final (book, chapter) = await model.loadData();
31
31
  runApp(
32
32
  ChangeNotifierProvider.value(
lib/models.dart CHANGED
@@ -1,5 +1,5 @@
1
1
  import "package:flutter/material.dart";
2
- import "package:only_bible_app/providers/app_model.dart";
2
+ import "package:only_bible_app/providers/app_provider.dart";
3
3
 
4
4
  class Bible {
5
5
  final String name;
@@ -37,7 +37,7 @@ class Book {
37
37
  });
38
38
 
39
39
  String name(BuildContext context) {
40
- return AppModel.of(context).getBookNames(context)[index];
40
+ return AppProvider.of(context).getBookNames(context)[index];
41
41
  }
42
42
 
43
43
  bool isOldTestament() => index < 39;
lib/providers/{app_model.dart → app_provider.dart} RENAMED
@@ -31,7 +31,7 @@ class HistoryFrame {
31
31
  const HistoryFrame({required this.book, required this.chapter, this.verse});
32
32
  }
33
33
 
34
- class AppModel extends ChangeNotifier {
34
+ class AppProvider extends ChangeNotifier {
35
35
  late PackageInfo packageInfo;
36
36
  late Bible bible;
37
37
  late Locale locale;
@@ -48,16 +48,16 @@ class AppModel extends ChangeNotifier {
48
48
  List<HistoryFrame> history = [];
49
49
  final box = GetStorage("only-bible-app-backup");
50
50
 
51
- static AppModel of(BuildContext context) {
51
+ static AppProvider of(BuildContext context) {
52
52
  return Provider.of(context, listen: true);
53
53
  }
54
54
 
55
- static AppModel ofEvent(BuildContext context) {
55
+ static AppProvider ofEvent(BuildContext context) {
56
56
  return Provider.of(context, listen: false);
57
57
  }
58
58
 
59
59
  static AppLocalizations getLocalizations(BuildContext context) {
60
- return AppModel.of(context).engTitles ? lookupAppLocalizations(const Locale("en")) : AppLocalizations.of(context)!;
60
+ return AppProvider.of(context).engTitles ? lookupAppLocalizations(const Locale("en")) : AppLocalizations.of(context)!;
61
61
  }
62
62
 
63
63
  save() async {
@@ -469,15 +469,15 @@ class AppModel extends ChangeNotifier {
469
469
  }
470
470
 
471
471
  void removeSelectedHighlights(BuildContext context) {
472
- AppModel.ofEvent(context).removeHighlight(context, selectedVerses);
472
+ AppProvider.ofEvent(context).removeHighlight(context, selectedVerses);
473
473
  selectedVerses.clear();
474
- AppModel.ofEvent(context).hideActions(context);
474
+ AppProvider.ofEvent(context).hideActions(context);
475
475
  notifyListeners();
476
476
  }
477
477
 
478
478
  void closeActions(BuildContext context) {
479
479
  selectedVerses.clear();
480
- AppModel.ofEvent(context).hideActions(context);
480
+ AppProvider.ofEvent(context).hideActions(context);
481
481
  notifyListeners();
482
482
  }
483
483
 
@@ -487,7 +487,7 @@ class AppModel extends ChangeNotifier {
487
487
 
488
488
  void onVerseSelected(BuildContext context, Verse v) {
489
489
  if (selectedVerses.isEmpty) {
490
- AppModel.ofEvent(context).showActions(context);
490
+ AppProvider.ofEvent(context).showActions(context);
491
491
  }
492
492
  if (isVerseSelected(v)) {
493
493
  selectedVerses.removeWhere((it) => it.index == v.index);
@@ -495,7 +495,7 @@ class AppModel extends ChangeNotifier {
495
495
  selectedVerses.add(v);
496
496
  }
497
497
  if (selectedVerses.isEmpty) {
498
- AppModel.ofEvent(context).hideActions(context);
498
+ AppProvider.ofEvent(context).hideActions(context);
499
499
  }
500
500
  notifyListeners();
501
501
  }
lib/providers/chapter_view_model.dart CHANGED
@@ -4,7 +4,7 @@ import "package:only_bible_app/models.dart";
4
4
  import "package:provider/provider.dart";
5
5
  import "package:shared_preferences/shared_preferences.dart";
6
6
  import "package:only_bible_app/utils.dart";
7
- import "package:only_bible_app/providers/app_model.dart";
7
+ import "package:only_bible_app/providers/app_provider.dart";
8
8
 
9
9
  class ChapterViewModel extends ChangeNotifier {
10
10
  final int book;
@@ -20,12 +20,12 @@ class ChapterViewModel extends ChangeNotifier {
20
20
 
21
21
  static Book selectedBook(BuildContext context) {
22
22
  final model = of(context);
23
- return AppModel.of(context).bible.books[model.book];
23
+ return AppProvider.of(context).bible.books[model.book];
24
24
  }
25
25
 
26
26
  static Chapter selectedChapter(BuildContext context) {
27
27
  final model = of(context);
28
- return AppModel.of(context).bible.books[model.book].chapters[model.chapter];
28
+ return AppProvider.of(context).bible.books[model.book].chapters[model.chapter];
29
29
  }
30
30
 
31
31
  ChapterViewModel({required this.book, required this.chapter}) {
@@ -43,7 +43,7 @@ class ChapterViewModel extends ChangeNotifier {
43
43
  }
44
44
 
45
45
  onNext(BuildContext context, int book, int chapter) {
46
- final selectedBible = AppModel.ofEvent(context).bible;
46
+ final selectedBible = AppProvider.ofEvent(context).bible;
47
47
  final selectedBook = selectedBible.books[book];
48
48
  if (selectedBook.chapters.length > chapter + 1) {
49
49
  navigateBookChapter(context, selectedBook.index, chapter + 1, TextDirection.ltr);
@@ -56,7 +56,7 @@ class ChapterViewModel extends ChangeNotifier {
56
56
  }
57
57
 
58
58
  onPrevious(BuildContext context, int book, int chapter) {
59
- final selectedBible = AppModel.ofEvent(context).bible;
59
+ final selectedBible = AppProvider.ofEvent(context).bible;
60
60
  final selectedBook = selectedBible.books[book];
61
61
  if (chapter - 1 >= 0) {
62
62
  // if (Navigator.of(context).canPop()) {
lib/screens/bible_select_screen.dart CHANGED
@@ -1,6 +1,6 @@
1
1
  import "package:flutter/material.dart";
2
2
  import "package:flutter_gen/gen_l10n/app_localizations.dart";
3
- import "package:only_bible_app/providers/app_model.dart";
3
+ import "package:only_bible_app/providers/app_provider.dart";
4
4
  import "package:only_bible_app/utils.dart";
5
5
  import "package:only_bible_app/widgets/scaffold_menu.dart";
6
6
  import "package:only_bible_app/widgets/sliver_heading.dart";
@@ -36,7 +36,7 @@ class BibleSelectScreen extends StatelessWidget {
36
36
  // ],
37
37
  // ),
38
38
  onPressed: () {
39
- AppModel.ofEvent(context).updateCurrentBible(context, l, bibleName);
39
+ AppProvider.ofEvent(context).updateCurrentBible(context, l, bibleName);
40
40
  Navigator.of(context).pop();
41
41
  },
42
42
  );
lib/screens/book_select_screen.dart CHANGED
@@ -1,5 +1,5 @@
1
1
  import "package:flutter/material.dart";
2
- import "package:only_bible_app/providers/app_model.dart";
2
+ import "package:only_bible_app/providers/app_provider.dart";
3
3
  import "package:only_bible_app/widgets/scaffold_menu.dart";
4
4
  import "package:only_bible_app/screens/chapter_select_screen.dart";
5
5
  import "package:only_bible_app/widgets/sliver_heading.dart";
@@ -27,7 +27,7 @@ class BookSelectScreen extends StatelessWidget {
27
27
 
28
28
  @override
29
29
  Widget build(BuildContext context) {
30
- final localizations = AppModel.getLocalizations(context);
30
+ final localizations = AppProvider.getLocalizations(context);
31
31
  return ScaffoldMenu(
32
32
  child: CustomScrollView(
33
33
  physics: const BouncingScrollPhysics(),
lib/utils.dart CHANGED
@@ -1,6 +1,6 @@
1
1
  import "dart:convert";
2
2
  import "package:only_bible_app/dialog.dart";
3
- import "package:only_bible_app/providers/app_model.dart";
3
+ import "package:only_bible_app/providers/app_provider.dart";
4
4
  import "package:only_bible_app/providers/chapter_view_model.dart";
5
5
  import "package:url_launcher/url_launcher.dart";
6
6
  import "package:flutter/foundation.dart" show defaultTargetPlatform, TargetPlatform;
@@ -18,8 +18,8 @@ extension MyIterable<E> on Iterable<E> {
18
18
  extension AppContext on BuildContext {
19
19
  ThemeData get theme => Theme.of(this);
20
20
  AppLocalizations get l10n => app.engTitles ? lookupAppLocalizations(const Locale("en")) : AppLocalizations.of(this)!;
21
- AppModel get app => Provider.of(this, listen: true);
21
+ AppProvider get app => Provider.of(this, listen: true);
22
- AppModel get appEvent => Provider.of(this, listen: false);
22
+ AppProvider get appEvent => Provider.of(this, listen: false);
23
23
  ChapterViewModel get chapter => Provider.of(this, listen: true);
24
24
  ChapterViewModel get chapterEvent => Provider.of(this, listen: false);
25
25
  }
lib/widgets/actions_sheet.dart CHANGED
@@ -1,6 +1,6 @@
1
1
  import "package:flutter/material.dart";
2
2
  import "package:only_bible_app/dialog.dart";
3
- import "package:only_bible_app/providers/app_model.dart";
3
+ import "package:only_bible_app/providers/app_provider.dart";
4
4
  import "package:only_bible_app/utils.dart";
5
5
  import "package:only_bible_app/widgets/icon_button_text.dart";
6
6
 
@@ -9,7 +9,7 @@ class ActionsSheet extends StatelessWidget {
9
9
 
10
10
  @override
11
11
  Widget build(BuildContext context) {
12
- final app = AppModel.of(context);
12
+ final app = AppProvider.of(context);
13
13
  final isDesktop = isWide(context);
14
14
  final height = isDesktop || isIOS() ? 92.0 : 70.0;
15
15
  final iconColor = app.darkMode ? Colors.white.withOpacity(0.9) : Colors.black.withOpacity(0.9);
lib/widgets/chapter_app_bar.dart CHANGED
@@ -1,5 +1,5 @@
1
1
  import "package:flutter/material.dart";
2
- import "package:only_bible_app/providers/app_model.dart";
2
+ import "package:only_bible_app/providers/app_provider.dart";
3
3
  import "package:only_bible_app/providers/chapter_view_model.dart";
4
4
  import "package:only_bible_app/utils.dart";
5
5
 
@@ -13,7 +13,7 @@ class ChapterAppBar extends StatelessWidget implements PreferredSizeWidget {
13
13
 
14
14
  @override
15
15
  Widget build(BuildContext context) {
16
- final app = AppModel.of(context);
16
+ final app = AppProvider.of(context);
17
17
  final model = ChapterViewModel.of(context);
18
18
  final selectedBook = app.bible.books[model.book];
19
19
  final bookName = selectedBook.name(context);
@@ -96,7 +96,7 @@ class ChapterAppBar extends StatelessWidget implements PreferredSizeWidget {
96
96
  padding: const EdgeInsets.only(left: 10),
97
97
  child: IconButton(
98
98
  padding: EdgeInsets.zero,
99
- onPressed: () => AppModel.ofEvent(context).showSettings(context),
99
+ onPressed: () => AppProvider.ofEvent(context).showSettings(context),
100
100
  icon: Icon(Icons.more_vert, size: isDesktop ? 28 : 24),
101
101
  ),
102
102
  ),
lib/widgets/note_sheet.dart CHANGED
@@ -1,6 +1,6 @@
1
1
  import "package:flutter/material.dart";
2
2
  import "package:only_bible_app/models.dart";
3
- import "package:only_bible_app/providers/app_model.dart";
3
+ import "package:only_bible_app/providers/app_provider.dart";
4
4
  import "package:only_bible_app/utils.dart";
5
5
  import "package:only_bible_app/widgets/modal_button.dart";
6
6
 
@@ -11,7 +11,7 @@ class NoteSheet extends StatelessWidget {
11
11
 
12
12
  @override
13
13
  Widget build(BuildContext context) {
14
- final app = AppModel.of(context);
14
+ final app = AppProvider.of(context);
15
15
  return Container(
16
16
  padding: EdgeInsets.only(
17
17
  left: 10,
lib/widgets/verses_view.dart CHANGED
@@ -1,7 +1,7 @@
1
1
  import "package:flutter/gestures.dart";
2
2
  import "package:flutter/material.dart";
3
3
  import "package:flutter_swipe_detector/flutter_swipe_detector.dart";
4
- import "package:only_bible_app/providers/app_model.dart";
4
+ import "package:only_bible_app/providers/app_provider.dart";
5
5
  import "package:only_bible_app/providers/chapter_view_model.dart";
6
6
  import "package:only_bible_app/utils.dart";
7
7
 
@@ -10,7 +10,7 @@ class VersesView extends StatelessWidget {
10
10
 
11
11
  @override
12
12
  Widget build(BuildContext context) {
13
- final app = AppModel.of(context);
13
+ final app = AppProvider.of(context);
14
14
  final model = ChapterViewModel.of(context);
15
15
  final chapter = ChapterViewModel.selectedChapter(context);
16
16
  final textStyle = DefaultTextStyle.of(context).style;