~repos /only-bible-app

#kotlin#android#ios

GIT_CONFIG_PARAMETERS="'http.version=HTTP/1.1'" git clone https://git.pyrossh.dev/only-bible-app.git
Discussions: https://groups.google.com/g/rust-embed-devs

The only bible app you will ever need. No ads. No in-app purchases. No distractions.


lib/app.dart CHANGED
@@ -5,7 +5,6 @@ import "package:only_bible_app/home.dart";
5
5
  import "package:only_bible_app/store/app_navigator.dart";
6
6
  import "package:only_bible_app/store/app_state.dart";
7
7
  import "package:only_bible_app/theme.dart";
8
- import "package:only_bible_app/utils.dart";
9
8
 
10
9
  class App extends StatelessWidget {
11
10
  final GlobalKey<NavigatorState> globalNavigatorKey;
lib/dialog.dart CHANGED
@@ -3,6 +3,7 @@ import "package:flutter/material.dart";
3
3
  import "package:only_bible_app/gen/bible.gen.dart";
4
4
  import "package:only_bible_app/store/actions_navigation.dart";
5
5
  import "package:only_bible_app/utils.dart";
6
+ import "package:only_bible_app/store/app_state.dart";
6
7
 
7
8
  void showAlert(BuildContext context, String title, String message) {
8
9
  showDialog(
lib/home.dart CHANGED
@@ -1,5 +1,5 @@
1
1
  import "package:flutter/material.dart";
2
- import "package:only_bible_app/utils.dart";
2
+ import "package:only_bible_app/store/app_state.dart";
3
3
  import "package:only_bible_app/widgets/home_app_bar.dart";
4
4
  import "package:only_bible_app/widgets/verses_view.dart";
5
5
 
lib/main.dart CHANGED
@@ -8,7 +8,6 @@ import "package:flutter_native_splash/flutter_native_splash.dart";
8
8
  import "package:async_redux/async_redux.dart";
9
9
  import "package:only_bible_app/app.dart";
10
10
  import "package:only_bible_app/dialog.dart";
11
-
12
11
  import "package:only_bible_app/store/app_persistor.dart";
13
12
  import "package:only_bible_app/store/app_state.dart";
14
13
  import "package:only_bible_app/utils.dart";
lib/store/app_state.dart CHANGED
@@ -1,6 +1,8 @@
1
1
  import "package:flutter/material.dart";
2
2
  import "package:only_bible_app/gen/bible.gen.dart";
3
3
  import "package:only_bible_app/theme.dart";
4
+ import "package:async_redux/async_redux.dart";
5
+ export "package:async_redux/async_redux.dart" show BuildContextExtensionForProviderAndConnector;
4
6
 
5
7
  class AppState {
6
8
  final bool engTitles;
@@ -106,3 +108,9 @@ class AppState {
106
108
  );
107
109
  }
108
110
  }
111
+
112
+ extension AppStateExtension on BuildContext {
113
+ AppState get state => getState<AppState>();
114
+ AppState read() => getRead<AppState>();
115
+ R select<R>(R Function(AppState state) selector) => getSelect<AppState, R>(selector);
116
+ }
lib/utils.dart CHANGED
@@ -1,17 +1,14 @@
1
1
  import "dart:convert";
2
2
  import "dart:io";
3
- import "package:async_redux/async_redux.dart";
3
+
4
- export "package:async_redux/async_redux.dart" show BuildContextExtensionForProviderAndConnector;
5
4
  import "package:http/http.dart" as http;
6
5
  import "package:flutter/services.dart";
7
6
  import "package:package_info_plus/package_info_plus.dart";
8
- import "package:url_launcher/url_launcher.dart";
9
7
  import "package:flutter/foundation.dart" show TargetPlatform, defaultTargetPlatform, kDebugMode;
10
8
  import "package:flutter/material.dart";
11
9
  import "package:flutter_azure_tts/flutter_azure_tts.dart";
12
10
  import "package:only_bible_app/env.dart";
13
11
  import "package:only_bible_app/gen/bible.gen.dart";
14
- import "package:only_bible_app/store/app_state.dart";
15
12
  export "package:only_bible_app/bible_data.dart";
16
13
 
17
14
  extension BibleExt on Bible {
@@ -41,12 +38,6 @@ extension IterableUtils<E> on Iterable<E> {
41
38
  Iterable<E> addBy(E e) => toList()..add(e);
42
39
  }
43
40
 
44
- extension AppStateExtension on BuildContext {
45
- AppState get state => getState<AppState>();
46
- AppState read() => getRead<AppState>();
47
- R select<R>(R Function(AppState state) selector) => getSelect<AppState, R>(selector);
48
- }
49
-
50
41
  extension AppContext on BuildContext {
51
42
  ThemeData get theme => Theme.of(this);
52
43
 
lib/widgets/book_select_sheet.dart CHANGED
@@ -1,5 +1,6 @@
1
1
  import "package:flutter/material.dart";
2
2
  import "package:only_bible_app/gen/bible.gen.dart";
3
+ import "package:only_bible_app/store/app_state.dart";
3
4
  import "package:only_bible_app/utils.dart";
4
5
  import "package:only_bible_app/widgets/book_tile.dart";
5
6
 
lib/widgets/chapter_select_sheet.dart CHANGED
@@ -1,8 +1,8 @@
1
1
  import "package:flutter/material.dart";
2
2
  import "package:only_bible_app/gen/bible.gen.dart";
3
+ import "package:only_bible_app/store/app_state.dart";
3
4
  import "package:only_bible_app/store/actions_navigation.dart";
4
5
  import "package:only_bible_app/store/app_navigator.dart";
5
- import "package:only_bible_app/utils.dart";
6
6
  import "package:only_bible_app/widgets/book_tile.dart";
7
7
 
8
8
  class ChapterSelectSheet extends StatelessWidget {
lib/widgets/home_app_bar.dart CHANGED
@@ -3,7 +3,7 @@ import "package:only_bible_app/dialog.dart";
3
3
  import "package:only_bible_app/gen/bible.gen.dart";
4
4
  import "package:only_bible_app/store/actions_navigation.dart";
5
5
  import "package:only_bible_app/store/app_navigator.dart";
6
- import "package:only_bible_app/utils.dart";
6
+ import "package:only_bible_app/store/app_state.dart";
7
7
 
8
8
  class HomeAppBar extends StatelessWidget implements PreferredSizeWidget {
9
9
  final Bible bible;
lib/widgets/menu_overlay.dart CHANGED
@@ -1,9 +1,9 @@
1
1
  import "package:flutter/material.dart";
2
2
  import "package:only_bible_app/gen/bible.gen.dart";
3
+ import "package:only_bible_app/store/app_state.dart";
3
4
  import "package:only_bible_app/store/actions_state.dart";
4
5
  import "package:only_bible_app/store/actions_navigation.dart";
5
6
  import "package:only_bible_app/theme.dart";
6
- import "package:only_bible_app/utils.dart";
7
7
  import "package:only_bible_app/widgets/highlight_button.dart";
8
8
 
9
9
  class MenuOverlay extends StatelessWidget {
lib/widgets/settings_sheet.dart CHANGED
@@ -1,5 +1,6 @@
1
1
  import "package:flutter/material.dart";
2
2
  import "package:only_bible_app/gen/bible.gen.dart";
3
+ import "package:only_bible_app/store/app_state.dart";
3
4
  import "package:only_bible_app/store/actions_state.dart";
4
5
  import "package:only_bible_app/utils.dart";
5
6
  import "package:settings_ui/settings_ui.dart";
lib/widgets/verses_view.dart CHANGED
@@ -6,7 +6,7 @@ import "package:only_bible_app/store/actions_navigation.dart";
6
6
  import "package:only_bible_app/store/app_navigator.dart";
7
7
  import "package:only_bible_app/widgets/menu_overlay.dart";
8
8
  import "package:only_bible_app/store/actions_state.dart";
9
- import "package:only_bible_app/utils.dart";
9
+ import "package:only_bible_app/store/app_state.dart";
10
10
 
11
11
  class VersesView extends StatelessWidget {
12
12
  final Bible bible;