@@ -852,6 +852,66 @@ class _SettingsPageState extends State<SettingsPage> {
852
852
);
853
853
},
854
854
),
855
+ SettingCard (
856
+ icon: const Icon (Iconsax .link_square),
857
+ text: 'groups' .tr,
858
+ onPressed: () {
859
+ showModalBottomSheet (
860
+ context: context,
861
+ builder: (BuildContext context) {
862
+ return StatefulBuilder (
863
+ builder: (BuildContext context, setState) {
864
+ return SingleChildScrollView (
865
+ child: Column (
866
+ crossAxisAlignment: CrossAxisAlignment .center,
867
+ mainAxisSize: MainAxisSize .min,
868
+ children: [
869
+ Padding (
870
+ padding: const EdgeInsets .symmetric (
871
+ horizontal: 20 , vertical: 15 ),
872
+ child: Text (
873
+ 'groups' .tr,
874
+ style: context.textTheme.titleLarge? .copyWith (
875
+ fontSize: 20 ,
876
+ ),
877
+ ),
878
+ ),
879
+ SettingCard (
880
+ elevation: 4 ,
881
+ icon: const Icon (Iconsax .voice_square),
882
+ text: 'Discord' ,
883
+ onPressed: () async {
884
+ final Uri url =
885
+ Uri .parse ('https://discord.gg/JMMa9aHh8f' );
886
+ if (! await launchUrl (url,
887
+ mode: LaunchMode .externalApplication)) {
888
+ throw Exception ('Could not launch $url ' );
889
+ }
890
+ },
891
+ ),
892
+ SettingCard (
893
+ elevation: 4 ,
894
+ icon: const Icon (Iconsax .message_square),
895
+ text: 'Telegram' ,
896
+ onPressed: () async {
897
+ final Uri url =
898
+ Uri .parse ('https://t.me/darkmoonightX' );
899
+ if (! await launchUrl (url,
900
+ mode: LaunchMode .externalApplication)) {
901
+ throw Exception ('Could not launch $url ' );
902
+ }
903
+ },
904
+ ),
905
+ const SizedBox (height: 10 ),
906
+ ],
907
+ ),
908
+ );
909
+ },
910
+ );
911
+ },
912
+ );
913
+ },
914
+ ),
855
915
SettingCard (
856
916
icon: const Icon (Iconsax .document),
857
917
text: 'license' .tr,
@@ -891,6 +951,18 @@ class _SettingsPageState extends State<SettingsPage> {
891
951
onPressed: () =>
892
952
urlLauncher ('https://github.com/darkmoonight/Rain' ),
893
953
),
954
+ Padding (
955
+ padding: const EdgeInsets .all (10 ),
956
+ child: GestureDetector (
957
+ child: Text (
958
+ 'openMeteo' .tr,
959
+ style: context.textTheme.bodyMedium,
960
+ overflow: TextOverflow .visible,
961
+ textAlign: TextAlign .center,
962
+ ),
963
+ onTap: () => urlLauncher ('https://open-meteo.com/' ),
964
+ ),
965
+ ),
894
966
const SizedBox (height: 10 ),
895
967
],
896
968
),
0 commit comments