~repos /only-bible-app

#kotlin#android#ios

git clone https://pyrossh.dev/repos/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.


c8560cb8 pyrossh

2 years ago
Improve menu icon
ios/Podfile.lock CHANGED
@@ -9,6 +9,9 @@ PODS:
9
9
  - Firebase/Performance (10.12.0):
10
10
  - Firebase/CoreOnly
11
11
  - FirebasePerformance (~> 10.12.0)
12
+ - Firebase/Storage (10.12.0):
13
+ - Firebase/CoreOnly
14
+ - FirebaseStorage (~> 10.12.0)
12
15
  - firebase_core (2.15.0):
13
16
  - Firebase/CoreOnly (= 10.12.0)
14
17
  - Flutter
@@ -20,8 +23,14 @@ PODS:
20
23
  - Firebase/Performance (= 10.12.0)
21
24
  - firebase_core
22
25
  - Flutter
26
+ - firebase_storage (11.2.5):
27
+ - Firebase/Storage (= 10.12.0)
28
+ - firebase_core
29
+ - Flutter
23
30
  - FirebaseABTesting (10.13.0):
24
31
  - FirebaseCore (~> 10.0)
32
+ - FirebaseAppCheckInterop (10.13.0)
33
+ - FirebaseAuthInterop (10.13.0)
25
34
  - FirebaseCore (10.12.0):
26
35
  - FirebaseCoreInternal (~> 10.0)
27
36
  - GoogleUtilities/Environment (~> 7.8)
@@ -67,6 +76,12 @@ PODS:
67
76
  - GoogleUtilities/Environment (~> 7.10)
68
77
  - nanopb (< 2.30910.0, >= 2.30908.0)
69
78
  - PromisesSwift (~> 2.1)
79
+ - FirebaseStorage (10.12.0):
80
+ - FirebaseAppCheckInterop (~> 10.0)
81
+ - FirebaseAuthInterop (~> 10.0)
82
+ - FirebaseCore (~> 10.0)
83
+ - FirebaseCoreExtension (~> 10.0)
84
+ - GTMSessionFetcher/Core (< 4.0, >= 2.1)
70
85
  - Flutter (1.0.0)
71
86
  - flutter_native_splash (0.0.1):
72
87
  - Flutter
@@ -84,6 +99,7 @@ PODS:
84
99
  - "GoogleUtilities/NSData+zlib (7.11.5)"
85
100
  - GoogleUtilities/UserDefaults (7.11.5):
86
101
  - GoogleUtilities/Logger
102
+ - GTMSessionFetcher/Core (3.1.1)
87
103
  - integration_test (0.0.1):
88
104
  - Flutter
89
105
  - just_audio (0.0.1):
@@ -108,6 +124,7 @@ DEPENDENCIES:
108
124
  - firebase_core (from `.symlinks/plugins/firebase_core/ios`)
109
125
  - firebase_crashlytics (from `.symlinks/plugins/firebase_crashlytics/ios`)
110
126
  - firebase_performance (from `.symlinks/plugins/firebase_performance/ios`)
127
+ - firebase_storage (from `.symlinks/plugins/firebase_storage/ios`)
111
128
  - Flutter (from `Flutter`)
112
129
  - flutter_native_splash (from `.symlinks/plugins/flutter_native_splash/ios`)
113
130
  - integration_test (from `.symlinks/plugins/integration_test/ios`)
@@ -119,6 +136,8 @@ SPEC REPOS:
119
136
  trunk:
120
137
  - Firebase
121
138
  - FirebaseABTesting
139
+ - FirebaseAppCheckInterop
140
+ - FirebaseAuthInterop
122
141
  - FirebaseCore
123
142
  - FirebaseCoreExtension
124
143
  - FirebaseCoreInternal
@@ -127,8 +146,10 @@ SPEC REPOS:
127
146
  - FirebasePerformance
128
147
  - FirebaseRemoteConfig
129
148
  - FirebaseSessions
149
+ - FirebaseStorage
130
150
  - GoogleDataTransport
131
151
  - GoogleUtilities
152
+ - GTMSessionFetcher
132
153
  - nanopb
133
154
  - PromisesObjC
134
155
  - PromisesSwift
@@ -142,6 +163,8 @@ EXTERNAL SOURCES:
142
163
  :path: ".symlinks/plugins/firebase_crashlytics/ios"
143
164
  firebase_performance:
144
165
  :path: ".symlinks/plugins/firebase_performance/ios"
166
+ firebase_storage:
167
+ :path: ".symlinks/plugins/firebase_storage/ios"
145
168
  Flutter:
146
169
  :path: Flutter
147
170
  flutter_native_splash:
@@ -161,7 +184,10 @@ SPEC CHECKSUMS:
161
184
  firebase_core: e477125798fc37cd4ab43ca6a8536bf7e0929c00
162
185
  firebase_crashlytics: 6043ce85800f96e53f15ee5051f9cfad10cce73d
163
186
  firebase_performance: 32e9164da8ae1cc69ee3edff231e2f020be9b6c2
187
+ firebase_storage: d5c1b95383db1230d9fed88c76cb257d8d1ec1d6
164
188
  FirebaseABTesting: 86ac5a4fc749088bb4d55a1cbfb2c4cb42c6d5de
189
+ FirebaseAppCheckInterop: 5e12dc623d443dedffcde9c6f3ed41510125d8ef
190
+ FirebaseAuthInterop: 74875bde5d15636522a8fe98beb561df7a54db58
165
191
  FirebaseCore: f86a1394906b97ac445ae49c92552a9425831bed
166
192
  FirebaseCoreExtension: ce60f9db46d83944cf444664d6d587474128eeca
167
193
  FirebaseCoreInternal: b342e37cd4f5b4454ec34308f073420e7920858e
@@ -170,10 +196,12 @@ SPEC CHECKSUMS:
170
196
  FirebasePerformance: 1a63c51c9d14fc1190b0970d5aab96672cb0bce6
171
197
  FirebaseRemoteConfig: 33e0dcf43899fbb4f8ef2d84200bf5f5e32eaf05
172
198
  FirebaseSessions: 991fb4c20b3505eef125f7cbfa20a5b5b189c2a4
199
+ FirebaseStorage: 1d7ca8c8953fc61ccacaa7c612696b5402968a0d
173
200
  Flutter: f04841e97a9d0b0a8025694d0796dd46242b2854
174
201
  flutter_native_splash: 52501b97d1c0a5f898d687f1646226c1f93c56ef
175
202
  GoogleDataTransport: 54dee9d48d14580407f8f5fbf2f496e92437a2f2
176
203
  GoogleUtilities: 13e2c67ede716b8741c7989e26893d151b2b2084
204
+ GTMSessionFetcher: e8647203b65cee28c5f73d0f473d096653945e72
177
205
  integration_test: 13825b8a9334a850581300559b8839134b124670
178
206
  just_audio: baa7252489dbcf47a4c7cc9ca663e9661c99aafa
179
207
  nanopb: b552cce312b6c8484180ef47159bc0f65a1f0431
lib/state.dart CHANGED
@@ -2,6 +2,7 @@ import "dart:convert";
2
2
  import "dart:developer";
3
3
  import "package:firebase_crashlytics/firebase_crashlytics.dart";
4
4
  import "package:firebase_storage/firebase_storage.dart";
5
+
5
6
  // import "package:firebase_performance/firebase_performance.dart";
6
7
  import "package:flutter/foundation.dart" show defaultTargetPlatform, TargetPlatform;
7
8
  import "package:flutter/services.dart";
@@ -265,9 +266,10 @@ bool isWide(BuildContext context) {
265
266
 
266
267
  createNoTransitionPageRoute(Widget page) {
267
268
  return PageRouteBuilder(
269
+ opaque: false,
270
+ transitionDuration: Duration.zero,
271
+ reverseTransitionDuration: Duration.zero,
268
- pageBuilder: (context, _, __) {
272
+ pageBuilder: (context, _, __) => page,
269
- return page;
270
- },
271
273
  );
272
274
  }
273
275
 
lib/widgets/header.dart CHANGED
@@ -45,13 +45,9 @@ class Header extends StatelessWidget {
45
45
  style: Theme.of(context).textTheme.headlineMedium,
46
46
  ),
47
47
  onPressed: () {
48
- // TODO: move this to state
49
48
  Navigator.of(context).push(
50
- PageRouteBuilder(
51
- opaque: false,
52
- transitionDuration: Duration.zero,
53
- reverseTransitionDuration: Duration.zero,
49
+ createNoTransitionPageRoute(
54
- pageBuilder: (context, _, __) => BookSelectScreen(bible: selectedBible),
50
+ BookSelectScreen(bible: selectedBible),
55
51
  ),
56
52
  );
57
53
  },
@@ -69,7 +65,11 @@ class Header extends StatelessWidget {
69
65
  ),
70
66
  child: Text(selectedBible.name),
71
67
  onPressed: () {
68
+ Navigator.of(context).push(
72
- Navigator.of(context).push(createNoTransitionPageRoute(const BibleSelectScreen()));
69
+ createNoTransitionPageRoute(
70
+ const BibleSelectScreen(),
71
+ ),
72
+ );
73
73
  },
74
74
  ),
75
75
  ),
@@ -83,7 +83,7 @@ class Header extends StatelessWidget {
83
83
  ),
84
84
  ],
85
85
  ),
86
- Divider(height: isDesktop ? 10 : 0, endIndent: 5, thickness: 1.5),
86
+ Divider(height: isDesktop ? 10 : 0, endIndent: 10, thickness: isDesktop ? 1.5 : 1),
87
87
  ],
88
88
  ),
89
89
  );
lib/widgets/menu.dart CHANGED
@@ -10,12 +10,17 @@ class Menu extends StatelessWidget {
10
10
  final isDesktop = isWide(context);
11
11
  final model = AppModel.of(context);
12
12
  final modeIcon = model.darkMode ? Icons.dark_mode : Icons.light_mode;
13
+ final boldColor = model.fontBold ? Theme.of(context).shadowColor : Colors.grey;
13
14
  return PopupMenuButton(
14
15
  icon: const Icon(Icons.more_vert, size: 28),
15
16
  offset: const Offset(0.0, 50),
16
17
  onSelected: (int v) {
17
18
  if (v == 1) {
19
+ Navigator.of(context).push(
18
- Navigator.of(context).push(createNoTransitionPageRoute(const BibleSelectScreen()));
20
+ createNoTransitionPageRoute(
21
+ const BibleSelectScreen(),
22
+ ),
23
+ );
19
24
  }
20
25
  if (v == 2) {
21
26
  model.toggleMode();
@@ -38,7 +43,7 @@ class Menu extends StatelessWidget {
38
43
  child: Container(
39
44
  alignment: Alignment.center,
40
45
  margin: const EdgeInsets.symmetric(vertical: 15),
41
- child: const Icon(Icons.abc, size: 28),
46
+ child: const Icon(Icons.abc, size: 42),
42
47
  ),
43
48
  ),
44
49
  PopupMenuItem(
@@ -54,7 +59,7 @@ class Menu extends StatelessWidget {
54
59
  child: Container(
55
60
  alignment: Alignment.center,
56
61
  margin: const EdgeInsets.symmetric(vertical: 15),
57
- child: const Icon(Icons.format_bold, size: 28),
62
+ child: Icon(Icons.format_bold, size: 28, color: boldColor),
58
63
  ),
59
64
  ),
60
65
  PopupMenuItem(