~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.


ae5dc980 pyrossh

2 years ago
add audio support
bible_app/analysis_options.yaml CHANGED
@@ -8,8 +8,6 @@
8
8
  # The following line activates a set of recommended lints for Flutter apps,
9
9
  # packages, and plugins designed to encourage good coding practices.
10
10
  include: package:flutter_lints/flutter.yaml
11
- plugins:
12
- - custom_lint
13
11
  linter:
14
12
  # The lint rules applied to this project can be customized in the
15
13
  # section below to disable rules from the `package:flutter_lints/flutter.yaml`
bible_app/assets/output.mp3 ADDED
Binary file
bible_app/lib/components/book_selector.dart CHANGED
@@ -1,5 +1,4 @@
1
1
  import "package:flutter/material.dart";
2
- import "package:flutter_solidart/flutter_solidart.dart";
3
2
  import "package:flutter_reactive_value/flutter_reactive_value.dart";
4
3
  import "../domain/book.dart";
5
4
  import "../domain/kannada_gen.dart";
@@ -13,19 +12,7 @@ onTabBookChange(int i) {
13
12
  }
14
13
 
15
14
  class BookSelector extends StatelessWidget {
16
- BookSelector({super.key});
15
+ const BookSelector({super.key});
17
-
18
- final counter = createSignal(0);
19
-
20
- // @override
21
- // Widget build(BuildContext context) {
22
- // return SignalBuilder(
23
- // signal: counter,
24
- // builder: (context, value, child) {
25
- // return Text('$value');
26
- // },
27
- // );
28
- // }
29
16
 
30
17
  @override
31
18
  Widget build(BuildContext context) {
bible_app/lib/components/header.dart CHANGED
@@ -1,15 +1,18 @@
1
1
  import "dart:math";
2
- import "package:bible_app/components/book_selector.dart";
3
- import "package:bible_app/state.dart";
4
2
  import "package:flutter/material.dart";
5
3
  import "package:flutter/scheduler.dart";
6
4
  import "package:flutter_reactive_value/flutter_reactive_value.dart";
5
+ import "package:just_audio/just_audio.dart";
6
+ import "../state.dart";
7
+ import "../components/book_selector.dart";
7
8
  import "../utils/dialog.dart";
9
+ import "../domain/kannada_gen.dart";
8
10
 
9
11
  class Header extends StatelessWidget {
10
12
  final String bookName;
13
+ final player = AudioPlayer();
11
14
 
12
- const Header({super.key, required this.bookName});
15
+ Header({super.key, required this.bookName});
13
16
 
14
17
  @override
15
18
  Widget build(BuildContext context) {
@@ -24,31 +27,54 @@ class Header extends StatelessWidget {
24
27
  crossAxisAlignment: CrossAxisAlignment.center,
25
28
  children: [
26
29
  InkWell(
27
- onTap: () {
30
+ onTap: () {
28
- tabBookIndex.value = 0;
31
+ tabBookIndex.value = 0;
29
- showCustomDialog<(int, int)>(context, BookSelector()).then((rec) {
32
+ showCustomDialog<(int, int)>(context, const BookSelector()).then((rec) {
30
- if (rec != null) {
33
+ if (rec != null) {
31
- selectedVerses.value.clear();
34
+ selectedVerses.value.clear();
32
- onBookChange(rec.$1);
35
+ onBookChange(rec.$1);
33
- onChapterChange(rec.$2);
36
+ onChapterChange(rec.$2);
34
- SchedulerBinding.instance.addPostFrameCallback((duration) {
37
+ SchedulerBinding.instance.addPostFrameCallback((duration) {
35
- tabIndex.value = 0;
38
+ tabIndex.value = 0;
36
- });
39
+ });
37
- }
40
+ }
38
- });
41
+ });
39
- },
42
+ },
40
- child: Row(
43
+ child: Row(
44
+ crossAxisAlignment: CrossAxisAlignment.center,
41
- children: [
45
+ children: [
42
- Text("$bookName ${chapter+1}", style: Theme.of(context).textTheme.headlineLarge),
46
+ Text("$bookName ${chapter + 1}", style: Theme.of(context).textTheme.headlineLarge),
43
- Container(
47
+ Container(
44
- margin: const EdgeInsets.only(left: 3),
48
+ margin: const EdgeInsets.only(left: 3),
45
- child: Transform.rotate(
49
+ child: Transform.rotate(
46
- angle: -pi / 2,
50
+ angle: -pi / 2,
47
- child: const Icon(Icons.chevron_left, size: 24),
51
+ child: const Icon(Icons.chevron_left, size: 28),
48
- ),
49
52
  ),
53
+ ),
50
- ],
54
+ ],
51
- )),
55
+ ),
56
+ ),
57
+ const Spacer(flex: 8),
58
+ IconButton(
59
+ icon: const Icon(Icons.play_circle_fill, size: 36),
60
+ onPressed: () async {
61
+ final verses = kannadaBible[bookIndex.value]
62
+ .chapters[chapterIndex.value]
63
+ .verses
64
+ .where((v) => selectedVerses.value.contains(v.index - 1));
65
+ for (final v in verses) {
66
+ await player.setUrl("asset:output.mp3");
67
+ await player.setClip(
68
+ start: Duration(milliseconds: (v.audioRange.start * 1000).toInt()),
69
+ end: Duration(milliseconds: (v.audioRange.end * 1000).toInt()),
70
+ );
71
+ await player.play();
72
+ await player.pause();
73
+ }
74
+ // "https://github.com/pyrossh/bible-app/raw/master/public/audio/output.mp3"
75
+ },
76
+ ),
77
+ const Spacer(flex: 1),
52
78
  ],
53
79
  ),
54
80
  );
bible_app/lib/main.dart CHANGED
@@ -1,6 +1,6 @@
1
1
  import "package:flutter/material.dart";
2
- import "package:bible_app/screens/home.dart";
3
2
  import "package:flutter_persistent_value_notifier/flutter_persistent_value_notifier.dart";
3
+ import "./screens/home.dart";
4
4
 
5
5
  void main() async {
6
6
  WidgetsFlutterBinding.ensureInitialized();
bible_app/lib/screens/home.dart CHANGED
@@ -1,7 +1,7 @@
1
- import "package:bible_app/components/header.dart";
2
- import "package:bible_app/domain/kannada_gen.dart";
3
1
  import "package:flutter/material.dart";
4
2
  import "package:flutter_reactive_value/flutter_reactive_value.dart";
3
+ import "../components/header.dart";
4
+ import "../domain/kannada_gen.dart";
5
5
  import "../components/sidebar.dart";
6
6
  import "../components/verse.dart";
7
7
  import "../state.dart";
bible_app/macos/Flutter/GeneratedPluginRegistrant.swift CHANGED
@@ -5,10 +5,14 @@
5
5
  import FlutterMacOS
6
6
  import Foundation
7
7
 
8
+ import audio_session
9
+ import just_audio
8
10
  import path_provider_foundation
9
11
  import shared_preferences_foundation
10
12
 
11
13
  func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) {
14
+ AudioSessionPlugin.register(with: registry.registrar(forPlugin: "AudioSessionPlugin"))
15
+ JustAudioPlugin.register(with: registry.registrar(forPlugin: "JustAudioPlugin"))
12
16
  PathProviderPlugin.register(with: registry.registrar(forPlugin: "PathProviderPlugin"))
13
17
  SharedPreferencesPlugin.register(with: registry.registrar(forPlugin: "SharedPreferencesPlugin"))
14
18
  }
bible_app/macos/Podfile.lock CHANGED
@@ -1,5 +1,9 @@
1
1
  PODS:
2
+ - audio_session (0.0.1):
3
+ - FlutterMacOS
2
4
  - FlutterMacOS (1.0.0)
5
+ - just_audio (0.0.1):
6
+ - FlutterMacOS
3
7
  - path_provider_foundation (0.0.1):
4
8
  - Flutter
5
9
  - FlutterMacOS
@@ -8,20 +12,28 @@ PODS:
8
12
  - FlutterMacOS
9
13
 
10
14
  DEPENDENCIES:
15
+ - audio_session (from `Flutter/ephemeral/.symlinks/plugins/audio_session/macos`)
11
16
  - FlutterMacOS (from `Flutter/ephemeral`)
17
+ - just_audio (from `Flutter/ephemeral/.symlinks/plugins/just_audio/macos`)
12
18
  - path_provider_foundation (from `Flutter/ephemeral/.symlinks/plugins/path_provider_foundation/darwin`)
13
19
  - shared_preferences_foundation (from `Flutter/ephemeral/.symlinks/plugins/shared_preferences_foundation/darwin`)
14
20
 
15
21
  EXTERNAL SOURCES:
22
+ audio_session:
23
+ :path: Flutter/ephemeral/.symlinks/plugins/audio_session/macos
16
24
  FlutterMacOS:
17
25
  :path: Flutter/ephemeral
26
+ just_audio:
27
+ :path: Flutter/ephemeral/.symlinks/plugins/just_audio/macos
18
28
  path_provider_foundation:
19
29
  :path: Flutter/ephemeral/.symlinks/plugins/path_provider_foundation/darwin
20
30
  shared_preferences_foundation:
21
31
  :path: Flutter/ephemeral/.symlinks/plugins/shared_preferences_foundation/darwin
22
32
 
23
33
  SPEC CHECKSUMS:
34
+ audio_session: dea1f41890dbf1718f04a56f1d6150fd50039b72
24
35
  FlutterMacOS: 8f6f14fa908a6fb3fba0cd85dbd81ec4b251fb24
36
+ just_audio: 9b67ca7b97c61cfc9784ea23cd8cc55eb226d489
25
37
  path_provider_foundation: 29f094ae23ebbca9d3d0cec13889cd9060c0e943
26
38
  shared_preferences_foundation: 5b919d13b803cadd15ed2dc053125c68730e5126
27
39
 
bible_app/macos/Runner/DebugProfile.entitlements CHANGED
@@ -8,5 +8,7 @@
8
8
  <true/>
9
9
  <key>com.apple.security.network.server</key>
10
10
  <true/>
11
+ <key>com.apple.security.network.client</key>
12
+ <true/>
11
13
  </dict>
12
14
  </plist>
bible_app/macos/Runner/Release.entitlements CHANGED
@@ -4,5 +4,7 @@
4
4
  <dict>
5
5
  <key>com.apple.security.app-sandbox</key>
6
6
  <true/>
7
+ <key>com.apple.security.network.client</key>
8
+ <true/>
7
9
  </dict>
8
10
  </plist>
bible_app/pubspec.lock CHANGED
@@ -1,38 +1,6 @@
1
1
  # Generated by pub
2
2
  # See https://dart.dev/tools/pub/glossary#lockfile
3
3
  packages:
4
- _fe_analyzer_shared:
5
- dependency: transitive
6
- description:
7
- name: _fe_analyzer_shared
8
- sha256: a36ec4843dc30ea6bf652bf25e3448db6c5e8bcf4aa55f063a5d1dad216d8214
9
- url: "https://pub.dev"
10
- source: hosted
11
- version: "58.0.0"
12
- analyzer:
13
- dependency: transitive
14
- description:
15
- name: analyzer
16
- sha256: cc4242565347e98424ce9945c819c192ec0838cb9d1f6aa4a97cc96becbc5b27
17
- url: "https://pub.dev"
18
- source: hosted
19
- version: "5.10.0"
20
- analyzer_plugin:
21
- dependency: transitive
22
- description:
23
- name: analyzer_plugin
24
- sha256: c1d5f167683de03d5ab6c3b53fc9aeefc5d59476e7810ba7bbddff50c6f4392d
25
- url: "https://pub.dev"
26
- source: hosted
27
- version: "0.11.2"
28
- args:
29
- dependency: transitive
30
- description:
31
- name: args
32
- sha256: eef6c46b622e0494a36c5a12d10d77fb4e855501a91c1b9ef9339326e58f0596
33
- url: "https://pub.dev"
34
- source: hosted
35
- version: "2.4.2"
36
4
  async:
37
5
  dependency: transitive
38
6
  description:
@@ -41,6 +9,14 @@ packages:
41
9
  url: "https://pub.dev"
42
10
  source: hosted
43
11
  version: "2.11.0"
12
+ audio_session:
13
+ dependency: transitive
14
+ description:
15
+ name: audio_session
16
+ sha256: "8a2bc5e30520e18f3fb0e366793d78057fb64cd5287862c76af0c8771f2a52ad"
17
+ url: "https://pub.dev"
18
+ source: hosted
19
+ version: "0.1.16"
44
20
  boolean_selector:
45
21
  dependency: transitive
46
22
  description:
@@ -57,30 +33,6 @@ packages:
57
33
  url: "https://pub.dev"
58
34
  source: hosted
59
35
  version: "1.3.0"
60
- checked_yaml:
61
- dependency: transitive
62
- description:
63
- name: checked_yaml
64
- sha256: feb6bed21949061731a7a75fc5d2aa727cf160b91af9a3e464c5e3a32e28b5ff
65
- url: "https://pub.dev"
66
- source: hosted
67
- version: "2.0.3"
68
- ci:
69
- dependency: transitive
70
- description:
71
- name: ci
72
- sha256: "145d095ce05cddac4d797a158bc4cf3b6016d1fe63d8c3d2fbd7212590adca13"
73
- url: "https://pub.dev"
74
- source: hosted
75
- version: "0.1.0"
76
- cli_util:
77
- dependency: transitive
78
- description:
79
- name: cli_util
80
- sha256: b8db3080e59b2503ca9e7922c3df2072cf13992354d5e944074ffa836fba43b7
81
- url: "https://pub.dev"
82
- source: hosted
83
- version: "0.4.0"
84
36
  clock:
85
37
  dependency: transitive
86
38
  description:
@@ -97,14 +49,6 @@ packages:
97
49
  url: "https://pub.dev"
98
50
  source: hosted
99
51
  version: "1.17.1"
100
- convert:
101
- dependency: transitive
102
- description:
103
- name: convert
104
- sha256: "0f08b14755d163f6e2134cb58222dd25ea2a2ee8a195e53983d57c075324d592"
105
- url: "https://pub.dev"
106
- source: hosted
107
- version: "3.1.1"
108
52
  crypto:
109
53
  dependency: transitive
110
54
  description:
@@ -121,38 +65,6 @@ packages:
121
65
  url: "https://pub.dev"
122
66
  source: hosted
123
67
  version: "1.0.5"
124
- custom_lint:
125
- dependency: "direct dev"
126
- description:
127
- name: custom_lint
128
- sha256: e87176016465263daf10c209df1f50a52e9e46e7612fab7462da1e6d984638f6
129
- url: "https://pub.dev"
130
- source: hosted
131
- version: "0.3.4"
132
- custom_lint_builder:
133
- dependency: transitive
134
- description:
135
- name: custom_lint_builder
136
- sha256: "6b5e20a249f2f7f15d098f802fe736b72cac14cddccdfcb46027e1b401deec9f"
137
- url: "https://pub.dev"
138
- source: hosted
139
- version: "0.3.4"
140
- custom_lint_core:
141
- dependency: transitive
142
- description:
143
- name: custom_lint_core
144
- sha256: f42f688bc26bdf4c081e011ba27a00439f17c20d9aeca4312f8022e577f8363f
145
- url: "https://pub.dev"
146
- source: hosted
147
- version: "0.3.4"
148
- dart_style:
149
- dependency: transitive
150
- description:
151
- name: dart_style
152
- sha256: f4f1f73ab3fd2afcbcca165ee601fe980d966af6a21b5970c6c9376955c528ad
153
- url: "https://pub.dev"
154
- source: hosted
155
- version: "2.3.1"
156
68
  fake_async:
157
69
  dependency: transitive
158
70
  description:
@@ -206,14 +118,6 @@ packages:
206
118
  url: "https://pub.dev"
207
119
  source: hosted
208
120
  version: "1.0.4"
209
- flutter_solidart:
210
- dependency: "direct main"
211
- description:
212
- name: flutter_solidart
213
- sha256: "627b82582492c2290e8b07d2c744ea801b1d24b16b2c64170525c4b00765ba45"
214
- url: "https://pub.dev"
215
- source: hosted
216
- version: "0.4.2"
217
121
  flutter_staggered_grid_view:
218
122
  dependency: "direct main"
219
123
  description:
@@ -232,46 +136,38 @@ packages:
232
136
  description: flutter
233
137
  source: sdk
234
138
  version: "0.0.0"
235
- freezed_annotation:
236
- dependency: transitive
237
- description:
238
- name: freezed_annotation
239
- sha256: c3fd9336eb55a38cc1bbd79ab17573113a8deccd0ecbbf926cca3c62803b5c2d
240
- url: "https://pub.dev"
241
- source: hosted
242
- version: "2.4.1"
243
- glob:
139
+ js:
244
140
  dependency: transitive
245
141
  description:
246
- name: glob
142
+ name: js
247
- sha256: "0e7014b3b7d4dac1ca4d6114f82bf1782ee86745b9b42a92c9289c23d8a0ab63"
143
+ sha256: f2c445dce49627136094980615a031419f7f3eb393237e4ecd97ac15dea343f3
248
144
  url: "https://pub.dev"
249
145
  source: hosted
250
- version: "2.1.2"
146
+ version: "0.6.7"
251
- hotreloader:
147
+ just_audio:
252
- dependency: transitive
148
+ dependency: "direct main"
253
149
  description:
254
- name: hotreloader
150
+ name: just_audio
255
- sha256: "728c0613556c1d153f7e7f4a367cffacc3f5a677d7f6497a1c2b35add4e6dacf"
151
+ sha256: "890cd0fc41a1a4530c171e375a2a3fb6a09d84e9d508c5195f40bcff54330327"
256
152
  url: "https://pub.dev"
257
153
  source: hosted
258
- version: "3.0.6"
154
+ version: "0.9.34"
259
- js:
155
+ just_audio_platform_interface:
260
156
  dependency: transitive
261
157
  description:
262
- name: js
158
+ name: just_audio_platform_interface
263
- sha256: f2c445dce49627136094980615a031419f7f3eb393237e4ecd97ac15dea343f3
159
+ sha256: d8409da198bbc59426cd45d4c92fca522a2ec269b576ce29459d6d6fcaeb44df
264
160
  url: "https://pub.dev"
265
161
  source: hosted
266
- version: "0.6.7"
162
+ version: "4.2.1"
267
- json_annotation:
163
+ just_audio_web:
268
164
  dependency: transitive
269
165
  description:
270
- name: json_annotation
166
+ name: just_audio_web
271
- sha256: b10a7b2ff83d83c777edba3c6a0f97045ddadd56c944e1a23a3fdf43a1bf4467
167
+ sha256: ff62f733f437b25a0ff590f0e295fa5441dcb465f1edbdb33b3dea264705bc13
272
168
  url: "https://pub.dev"
273
169
  source: hosted
274
- version: "4.8.1"
170
+ version: "0.4.8"
275
171
  lints:
276
172
  dependency: transitive
277
173
  description:
@@ -280,14 +176,6 @@ packages:
280
176
  url: "https://pub.dev"
281
177
  source: hosted
282
178
  version: "2.1.1"
283
- logging:
284
- dependency: transitive
285
- description:
286
- name: logging
287
- sha256: "623a88c9594aa774443aa3eb2d41807a48486b5613e67599fb4c41c0ad47c340"
288
- url: "https://pub.dev"
289
- source: hosted
290
- version: "1.2.0"
291
179
  matcher:
292
180
  dependency: transitive
293
181
  description:
@@ -312,14 +200,6 @@ packages:
312
200
  url: "https://pub.dev"
313
201
  source: hosted
314
202
  version: "1.9.1"
315
- package_config:
316
- dependency: transitive
317
- description:
318
- name: package_config
319
- sha256: "1c5b77ccc91e4823a5af61ee74e6b972db1ef98c2ff5a18d3161c982a55448bd"
320
- url: "https://pub.dev"
321
- source: hosted
322
- version: "2.1.0"
323
203
  path:
324
204
  dependency: transitive
325
205
  description:
@@ -392,22 +272,6 @@ packages:
392
272
  url: "https://pub.dev"
393
273
  source: hosted
394
274
  version: "2.1.5"
395
- pub_semver:
396
- dependency: transitive
397
- description:
398
- name: pub_semver
399
- sha256: "40d3ab1bbd474c4c2328c91e3a7df8c6dd629b79ece4c4bd04bee496a224fb0c"
400
- url: "https://pub.dev"
401
- source: hosted
402
- version: "2.1.4"
403
- pubspec_parse:
404
- dependency: transitive
405
- description:
406
- name: pubspec_parse
407
- sha256: c63b2876e58e194e4b0828fcb080ad0e06d051cb607a6be51a9e084f47cb9367
408
- url: "https://pub.dev"
409
- source: hosted
410
- version: "1.2.3"
411
275
  rxdart:
412
276
  dependency: transitive
413
277
  description:
@@ -477,22 +341,6 @@ packages:
477
341
  description: flutter
478
342
  source: sdk
479
343
  version: "0.0.99"
480
- solidart:
481
- dependency: transitive
482
- description:
483
- name: solidart
484
- sha256: "329ad04942decbc899189242e31a651c7172472f70a12325f2f81769356a6c20"
485
- url: "https://pub.dev"
486
- source: hosted
487
- version: "0.3.0"
488
- solidart_lint:
489
- dependency: "direct dev"
490
- description:
491
- name: solidart_lint
492
- sha256: "9d93a7a5f5696d18af0229d65449c609c55a040745152902fbf343c4461c111a"
493
- url: "https://pub.dev"
494
- source: hosted
495
- version: "0.2.0"
496
344
  source_span:
497
345
  dependency: transitive
498
346
  description:
@@ -517,14 +365,6 @@ packages:
517
365
  url: "https://pub.dev"
518
366
  source: hosted
519
367
  version: "2.1.1"
520
- stream_transform:
521
- dependency: transitive
522
- description:
523
- name: stream_transform
524
- sha256: "14a00e794c7c11aa145a170587321aedce29769c08d7f58b1d141da75e3b1c6f"
525
- url: "https://pub.dev"
526
- source: hosted
527
- version: "2.1.0"
528
368
  string_scanner:
529
369
  dependency: transitive
530
370
  description:
@@ -573,22 +413,6 @@ packages:
573
413
  url: "https://pub.dev"
574
414
  source: hosted
575
415
  version: "2.1.4"
576
- vm_service:
577
- dependency: transitive
578
- description:
579
- name: vm_service
580
- sha256: ada49637c27973c183dad90beb6bd781eea4c9f5f955d35da172de0af7bd3440
581
- url: "https://pub.dev"
582
- source: hosted
583
- version: "11.8.0"
584
- watcher:
585
- dependency: transitive
586
- description:
587
- name: watcher
588
- sha256: "3d2ad6751b3c16cf07c7fca317a1413b3f26530319181b37e3b9039b84fc01d8"
589
- url: "https://pub.dev"
590
- source: hosted
591
- version: "1.1.0"
592
416
  win32:
593
417
  dependency: transitive
594
418
  description:
@@ -605,14 +429,6 @@ packages:
605
429
  url: "https://pub.dev"
606
430
  source: hosted
607
431
  version: "1.0.1"
608
- yaml:
609
- dependency: transitive
610
- description:
611
- name: yaml
612
- sha256: "75769501ea3489fca56601ff33454fe45507ea3bfb014161abc3b43ae25989d5"
613
- url: "https://pub.dev"
614
- source: hosted
615
- version: "3.1.2"
616
432
  sdks:
617
433
  dart: ">=3.0.6 <4.0.0"
618
434
  flutter: ">=3.7.0"
bible_app/pubspec.yaml CHANGED
@@ -1,4 +1,4 @@
1
- name: bible_app
1
+ name: kannada_bible_app
2
2
  description: A new Flutter project.
3
3
  # The following line prevents the package from being accidentally published to
4
4
  # pub.dev using `flutter pub publish`. This is preferred for private packages.
@@ -31,15 +31,14 @@ dependencies:
31
31
  flutter:
32
32
  sdk: flutter
33
33
 
34
-
35
34
  # The following adds the Cupertino Icons font to your application.
36
35
  # Use with the CupertinoIcons class for iOS style icons.
37
36
  cupertino_icons: ^1.0.2
38
37
  path_provider: ^2.0.15
39
38
  flutter_reactive_value: ^1.0.4
40
- flutter_staggered_grid_view: 0.6.2
41
- flutter_solidart: ^0.4.2
42
39
  flutter_persistent_value_notifier: ^1.0.2
40
+ flutter_staggered_grid_view: ^0.6.2
41
+ just_audio: ^0.9.34
43
42
 
44
43
  dev_dependencies:
45
44
  flutter_test:
@@ -51,8 +50,6 @@ dev_dependencies:
51
50
  # package. See that file for information about deactivating specific lint
52
51
  # rules and activating additional ones.
53
52
  flutter_lints: ^2.0.0
54
- solidart_lint: ^0.2.0
55
- custom_lint: ^0.3.4
56
53
 
57
54
  # For information on the generic Dart part of this file, see the
58
55
  # following page: https://dart.dev/tools/pub/pubspec
bible_app/scripts/generate.dart CHANGED
@@ -1,6 +1,6 @@
1
1
  import "dart:io";
2
2
 
3
- import "package:bible_app/domain/book.dart";
3
+ import "../lib/domain/book.dart";
4
4
 
5
5
  void main() {
6
6
  final lines = File("./scripts/bibles/kannada.csv").readAsLinesSync();