Skip to content

Commit 5e0ec5e

Browse files
Add website and feedback buttons to settings page
1 parent fe3bddd commit 5e0ec5e

3 files changed

Lines changed: 110 additions & 24 deletions

File tree

lib/ui/views/settings/settings_viewmodel.dart

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,10 @@
11
import 'package:stacked/stacked.dart';
22
import 'package:stacked_services/stacked_services.dart';
3+
import 'package:url_launcher/url_launcher.dart';
34

45
import '../../../app/app.locator.dart';
56
import '../../../app/app.router.dart';
7+
import '../../../common/toast.dart';
68
import '../../../services/app_info_service.dart';
79
import '../../../services/settings_service.dart';
810

@@ -33,6 +35,25 @@ class SettingsViewModel extends FutureViewModel<String> {
3335
rebuildUi();
3436
}
3537

38+
void shareFeedback() async {
39+
try {
40+
await launchUrl(
41+
Uri(
42+
scheme: 'mailto',
43+
path: 'hi@noahrahm.com',
44+
queryParameters: {'subject': 'Bibleside app (alpha) feedback'},
45+
),
46+
);
47+
} catch (e) {
48+
// Likely no email client is setup.
49+
showToastMsg('Please email to hi@noahrahm.com to share your feedback. Thank you.');
50+
}
51+
}
52+
53+
void visitWebsite() async {
54+
await launchUrl(Uri.https('bibleside.com'));
55+
}
56+
3657
Future<String> getAppVersion() async {
3758
String appVersion = await _appInfoService.getAppVersion();
3859
return 'v$appVersion';

pubspec.lock

Lines changed: 86 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -5,23 +5,23 @@ packages:
55
dependency: transitive
66
description:
77
name: _fe_analyzer_shared
8-
sha256: f256b0c0ba6c7577c15e2e4e114755640a875e885099367bf6e012b19314c834
8+
sha256: "16e298750b6d0af7ce8a3ba7c18c69c3785d11b15ec83f6dcd0ad2a0009b3cab"
99
url: "https://pub.dev"
1010
source: hosted
11-
version: "72.0.0"
11+
version: "76.0.0"
1212
_macros:
1313
dependency: transitive
1414
description: dart
1515
source: sdk
16-
version: "0.3.2"
16+
version: "0.3.3"
1717
analyzer:
1818
dependency: transitive
1919
description:
2020
name: analyzer
21-
sha256: b652861553cd3990d8ed361f7979dc6d7053a9ac8843fa73820ab68ce5410139
21+
sha256: "1f14db053a8c23e260789e9b0980fa27f2680dd640932cae5e1137cce0e46e1e"
2222
url: "https://pub.dev"
2323
source: hosted
24-
version: "6.7.0"
24+
version: "6.11.0"
2525
args:
2626
dependency: transitive
2727
description:
@@ -146,10 +146,10 @@ packages:
146146
dependency: transitive
147147
description:
148148
name: collection
149-
sha256: ee67cb0715911d28db6bf4af1026078bd6f0128b07a5f66fb2ed94ec6783c09a
149+
sha256: a1ace0a119f20aabc852d165077c036cd864315bd99b7eaa10a60100341941bf
150150
url: "https://pub.dev"
151151
source: hosted
152-
version: "1.18.0"
152+
version: "1.19.0"
153153
convert:
154154
dependency: transitive
155155
description:
@@ -352,18 +352,18 @@ packages:
352352
dependency: transitive
353353
description:
354354
name: leak_tracker
355-
sha256: "3f87a60e8c63aecc975dda1ceedbc8f24de75f09e4856ea27daf8958f2f0ce05"
355+
sha256: "7bb2830ebd849694d1ec25bf1f44582d6ac531a57a365a803a6034ff751d2d06"
356356
url: "https://pub.dev"
357357
source: hosted
358-
version: "10.0.5"
358+
version: "10.0.7"
359359
leak_tracker_flutter_testing:
360360
dependency: transitive
361361
description:
362362
name: leak_tracker_flutter_testing
363-
sha256: "932549fb305594d82d7183ecd9fa93463e9914e1b67cacc34bc40906594a1806"
363+
sha256: "9491a714cca3667b60b5c420da8217e6de0d1ba7a5ec322fab01758f6998f379"
364364
url: "https://pub.dev"
365365
source: hosted
366-
version: "3.0.5"
366+
version: "3.0.8"
367367
leak_tracker_testing:
368368
dependency: transitive
369369
description:
@@ -400,10 +400,10 @@ packages:
400400
dependency: transitive
401401
description:
402402
name: macros
403-
sha256: "0acaed5d6b7eab89f63350bccd82119e6c602df0f391260d0e32b5e23db79536"
403+
sha256: "1d9e801cd66f7ea3663c45fc708450db1fa57f988142c64289142c9b7ee80656"
404404
url: "https://pub.dev"
405405
source: hosted
406-
version: "0.1.2-main.4"
406+
version: "0.1.3-main.0"
407407
matcher:
408408
dependency: transitive
409409
description:
@@ -656,7 +656,7 @@ packages:
656656
dependency: transitive
657657
description: flutter
658658
source: sdk
659-
version: "0.0.99"
659+
version: "0.0.0"
660660
source_gen:
661661
dependency: transitive
662662
description:
@@ -677,10 +677,10 @@ packages:
677677
dependency: transitive
678678
description:
679679
name: stack_trace
680-
sha256: "73713990125a6d93122541237550ee3352a2d84baad52d375a4cad2eb9b7ce0b"
680+
sha256: "9f47fd3630d76be3ab26f0ee06d213679aa425996925ff3feffdec504931c377"
681681
url: "https://pub.dev"
682682
source: hosted
683-
version: "1.11.1"
683+
version: "1.12.0"
684684
stacked:
685685
dependency: "direct main"
686686
description:
@@ -748,10 +748,10 @@ packages:
748748
dependency: transitive
749749
description:
750750
name: string_scanner
751-
sha256: "556692adab6cfa87322a115640c11f13cb77b3f076ddcc5d6ae3c20242bedcde"
751+
sha256: "688af5ed3402a4bde5b3a6c15fd768dbf2621a614950b17f04626c431ab3c4c3"
752752
url: "https://pub.dev"
753753
source: hosted
754-
version: "1.2.0"
754+
version: "1.3.0"
755755
term_glyph:
756756
dependency: transitive
757757
description:
@@ -764,10 +764,10 @@ packages:
764764
dependency: transitive
765765
description:
766766
name: test_api
767-
sha256: "5b8a98dafc4d5c4c9c72d8b31ab2b23fc13422348d2997120294d3bac86b4ddb"
767+
sha256: "664d3a9a64782fcdeb83ce9c6b39e78fd2971d4e37827b9b06c3aa1edc5e760c"
768768
url: "https://pub.dev"
769769
source: hosted
770-
version: "0.7.2"
770+
version: "0.7.3"
771771
timing:
772772
dependency: transitive
773773
description:
@@ -792,6 +792,70 @@ packages:
792792
url: "https://pub.dev"
793793
source: hosted
794794
version: "2.2.2"
795+
url_launcher:
796+
dependency: "direct main"
797+
description:
798+
name: url_launcher
799+
sha256: "9d06212b1362abc2f0f0d78e6f09f726608c74e3b9462e8368bb03314aa8d603"
800+
url: "https://pub.dev"
801+
source: hosted
802+
version: "6.3.1"
803+
url_launcher_android:
804+
dependency: transitive
805+
description:
806+
name: url_launcher_android
807+
sha256: "6fc2f56536ee873eeb867ad176ae15f304ccccc357848b351f6f0d8d4a40d193"
808+
url: "https://pub.dev"
809+
source: hosted
810+
version: "6.3.14"
811+
url_launcher_ios:
812+
dependency: transitive
813+
description:
814+
name: url_launcher_ios
815+
sha256: "16a513b6c12bb419304e72ea0ae2ab4fed569920d1c7cb850263fe3acc824626"
816+
url: "https://pub.dev"
817+
source: hosted
818+
version: "6.3.2"
819+
url_launcher_linux:
820+
dependency: transitive
821+
description:
822+
name: url_launcher_linux
823+
sha256: "4e9ba368772369e3e08f231d2301b4ef72b9ff87c31192ef471b380ef29a4935"
824+
url: "https://pub.dev"
825+
source: hosted
826+
version: "3.2.1"
827+
url_launcher_macos:
828+
dependency: transitive
829+
description:
830+
name: url_launcher_macos
831+
sha256: "17ba2000b847f334f16626a574c702b196723af2a289e7a93ffcb79acff855c2"
832+
url: "https://pub.dev"
833+
source: hosted
834+
version: "3.2.2"
835+
url_launcher_platform_interface:
836+
dependency: transitive
837+
description:
838+
name: url_launcher_platform_interface
839+
sha256: "552f8a1e663569be95a8190206a38187b531910283c3e982193e4f2733f01029"
840+
url: "https://pub.dev"
841+
source: hosted
842+
version: "2.3.2"
843+
url_launcher_web:
844+
dependency: transitive
845+
description:
846+
name: url_launcher_web
847+
sha256: "772638d3b34c779ede05ba3d38af34657a05ac55b06279ea6edd409e323dca8e"
848+
url: "https://pub.dev"
849+
source: hosted
850+
version: "2.3.3"
851+
url_launcher_windows:
852+
dependency: transitive
853+
description:
854+
name: url_launcher_windows
855+
sha256: "44cf3aabcedde30f2dba119a9dea3b0f2672fbe6fa96e85536251d678216b3c4"
856+
url: "https://pub.dev"
857+
source: hosted
858+
version: "3.1.3"
795859
vector_math:
796860
dependency: transitive
797861
description:
@@ -804,10 +868,10 @@ packages:
804868
dependency: transitive
805869
description:
806870
name: vm_service
807-
sha256: f652077d0bdf60abe4c1f6377448e8655008eef28f128bc023f7b5e8dfeb48fc
871+
sha256: f6be3ed8bd01289b34d679c2b62226f63c0e69f9fd2e50a6b3c1c729a961041b
808872
url: "https://pub.dev"
809873
source: hosted
810-
version: "14.2.4"
874+
version: "14.3.0"
811875
watcher:
812876
dependency: transitive
813877
description:

pubspec.yaml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,11 +20,12 @@ dependencies:
2020
flutter_hooks: ^0.20.5
2121

2222
# Core
23+
package_info_plus: ^8.1.1
24+
shared_preferences: ^2.3.3
2325
webview_flutter: ^4.10.0
2426
webview_flutter_android: ^4.1.0
25-
package_info_plus: ^8.1.1
2627
fluttertoast: ^8.2.8
27-
shared_preferences: ^2.3.3
28+
url_launcher: ^6.3.1
2829

2930
# Icons
3031
phosphor_flutter: ^2.1.0

0 commit comments

Comments
 (0)