diff --git a/lib/app/modules/settings/view/settings.dart b/lib/app/modules/settings/view/settings.dart index 362edde..4c3ba48 100644 --- a/lib/app/modules/settings/view/settings.dart +++ b/lib/app/modules/settings/view/settings.dart @@ -852,6 +852,66 @@ class _SettingsPageState extends State { ); }, ), + SettingCard( + icon: const Icon(Iconsax.link_square), + text: 'groups'.tr, + onPressed: () { + showModalBottomSheet( + context: context, + builder: (BuildContext context) { + return StatefulBuilder( + builder: (BuildContext context, setState) { + return SingleChildScrollView( + child: Column( + crossAxisAlignment: CrossAxisAlignment.center, + mainAxisSize: MainAxisSize.min, + children: [ + Padding( + padding: const EdgeInsets.symmetric( + horizontal: 20, vertical: 15), + child: Text( + 'groups'.tr, + style: context.textTheme.titleLarge?.copyWith( + fontSize: 20, + ), + ), + ), + SettingCard( + elevation: 4, + icon: const Icon(Iconsax.voice_square), + text: 'Discord', + onPressed: () async { + final Uri url = + Uri.parse('https://discord.gg/JMMa9aHh8f'); + if (!await launchUrl(url, + mode: LaunchMode.externalApplication)) { + throw Exception('Could not launch $url'); + } + }, + ), + SettingCard( + elevation: 4, + icon: const Icon(Iconsax.message_square), + text: 'Telegram', + onPressed: () async { + final Uri url = + Uri.parse('https://t.me/darkmoonightX'); + if (!await launchUrl(url, + mode: LaunchMode.externalApplication)) { + throw Exception('Could not launch $url'); + } + }, + ), + const SizedBox(height: 10), + ], + ), + ); + }, + ); + }, + ); + }, + ), SettingCard( icon: const Icon(Iconsax.document), text: 'license'.tr, @@ -891,6 +951,18 @@ class _SettingsPageState extends State { onPressed: () => urlLauncher('https://github.com/darkmoonight/Rain'), ), + Padding( + padding: const EdgeInsets.all(10), + child: GestureDetector( + child: Text( + 'openMeteo'.tr, + style: context.textTheme.bodyMedium, + overflow: TextOverflow.visible, + textAlign: TextAlign.center, + ), + onTap: () => urlLauncher('https://open-meteo.com/'), + ), + ), const SizedBox(height: 10), ], ), diff --git a/lib/translation/bn_in.dart b/lib/translation/bn_in.dart index d99a8e1..f2239c8 100644 --- a/lib/translation/bn_in.dart +++ b/lib/translation/bn_in.dart @@ -124,5 +124,7 @@ class BnIn { 'roundDegree': 'ডিগ্রি রাউন্ড করুন', 'settings_full': 'সেটিংস', 'cities': 'শহর', + 'groups': 'আমাদের দলগুলি', + 'openMeteo': 'Open-Meteo থেকে ডেটা (CC-BY 4.0)', }; } diff --git a/lib/translation/cs_cz.dart b/lib/translation/cs_cz.dart index e9a1564..ce85f43 100644 --- a/lib/translation/cs_cz.dart +++ b/lib/translation/cs_cz.dart @@ -124,5 +124,7 @@ class CsCz { 'cities': 'Města', 'searchMethod': 'Použijte hledání nebo geolokaci', 'done': 'Hotovo', + 'groups': 'Naše skupiny', + 'openMeteo': 'Data z Open-Meteo (CC-BY 4.0)', }; } diff --git a/lib/translation/da_dk.dart b/lib/translation/da_dk.dart index bd3fd7f..b2b569e 100644 --- a/lib/translation/da_dk.dart +++ b/lib/translation/da_dk.dart @@ -125,5 +125,7 @@ class DaDk { 'cities': 'Byer', 'searchMethod': 'Brug søgning eller geolokation', 'done': 'Færdig', + 'groups': 'Vores grupper', + 'openMeteo': 'Data fra Open-Meteo (CC-BY 4.0)', }; } diff --git a/lib/translation/de_de.dart b/lib/translation/de_de.dart index 42c57dd..d82c34e 100644 --- a/lib/translation/de_de.dart +++ b/lib/translation/de_de.dart @@ -126,5 +126,7 @@ class DeDe { 'cities': 'Städte', 'searchMethod': 'Verwenden Sie die Suche oder die Geolokalisierung', 'done': 'Fertig', + 'groups': 'Unsere gruppen', + 'openMeteo': 'Daten von Open-Meteo (CC-BY 4.0)', }; } diff --git a/lib/translation/en_us.dart b/lib/translation/en_us.dart index f7335ce..4bca876 100644 --- a/lib/translation/en_us.dart +++ b/lib/translation/en_us.dart @@ -78,7 +78,7 @@ class EnUs { 'timeformat': 'Time format', '12': '12-hour', '24': '24-hour', - 'cloudcover': 'Сloudcover', + 'cloudcover': 'Cloudcover', 'uvIndex': 'UV-index', 'materialColor': 'Dynamic colors', 'uvLow': 'Low', @@ -125,5 +125,7 @@ class EnUs { 'cities': 'Cities', 'searchMethod': 'Use search or geolocation', 'done': 'Done', + 'groups': 'Our groups', + 'openMeteo': 'Data by Open-Meteo (CC-BY 4.0)', }; } diff --git a/lib/translation/es_es.dart b/lib/translation/es_es.dart index c98339d..a93397f 100644 --- a/lib/translation/es_es.dart +++ b/lib/translation/es_es.dart @@ -126,5 +126,7 @@ class EsEs { 'cities': 'Ciudades', 'searchMethod': 'Usa la búsqueda o la geolocalización', 'done': 'Hecho', + 'groups': 'Nuestros grupos', + 'openMeteo': 'Datos de Open-Meteo (CC-BY 4.0)', }; } diff --git a/lib/translation/fa_ir.dart b/lib/translation/fa_ir.dart index 42ec991..4d898bf 100644 --- a/lib/translation/fa_ir.dart +++ b/lib/translation/fa_ir.dart @@ -125,5 +125,7 @@ class FaIr { 'cities': 'شهر ها', 'searchMethod': 'از جستجو یا موقعیت جغرافیایی استفاده کنید', 'done': 'پایان', + 'groups': 'گروه‌های ما', + 'openMeteo': 'داده‌ها از Open-Meteo (CC-BY 4.0)', }; } diff --git a/lib/translation/fr_fr.dart b/lib/translation/fr_fr.dart index 2c5dcfe..c0df81d 100644 --- a/lib/translation/fr_fr.dart +++ b/lib/translation/fr_fr.dart @@ -126,5 +126,7 @@ class FrFr { 'cities': 'Villes', 'searchMethod': 'Utilisez la recherche ou la géolocalisation', 'done': 'Terminé', + 'groups': 'Nos groupes', + 'openMeteo': 'Données de Open-Meteo (CC-BY 4.0)', }; } diff --git a/lib/translation/ga_ie.dart b/lib/translation/ga_ie.dart index ed0817a..4608a5f 100644 --- a/lib/translation/ga_ie.dart +++ b/lib/translation/ga_ie.dart @@ -126,5 +126,7 @@ class GaIe { 'cities': 'Cathracha', 'searchMethod': 'Úsáid ceangal nó geolocáid', 'done': 'Críochnaithe', + 'groups': 'Ár ngrúpaí', + 'openMeteo': 'Sonraí ó Open-Meteo (CC-BY 4.0)', }; } diff --git a/lib/translation/hi_in.dart b/lib/translation/hi_in.dart index 5906ef8..477ccab 100644 --- a/lib/translation/hi_in.dart +++ b/lib/translation/hi_in.dart @@ -123,5 +123,7 @@ class HiIn { 'cities': 'शहर', 'searchMethod': 'खोज या स्थानगति का उपयोग करें', 'done': 'किया', + 'groups': 'हमारे समूह', + 'openMeteo': 'Open-Meteo से डेटा (CC-BY 4.0)', }; } diff --git a/lib/translation/hu_hu.dart b/lib/translation/hu_hu.dart index 0d377d9..5d06e57 100644 --- a/lib/translation/hu_hu.dart +++ b/lib/translation/hu_hu.dart @@ -126,5 +126,7 @@ class HuHu { 'cities': 'Városok', 'searchMethod': 'Használja a keresést vagy a földrajzi helyet', 'done': 'Kész', + 'groups': 'Csoportjaink', + 'openMeteo': 'Adatok az Open-Meteo-tól (CC-BY 4.0)', }; } diff --git a/lib/translation/it_it.dart b/lib/translation/it_it.dart index 52ebe3e..3e90dd8 100644 --- a/lib/translation/it_it.dart +++ b/lib/translation/it_it.dart @@ -126,5 +126,7 @@ class ItIt { 'cities': 'Città', 'searchMethod': 'Utilizza la ricerca o la geolocalizzazione', 'done': 'Fatto', + 'groups': 'I nostri gruppi', + 'openMeteo': 'Dati da Open-Meteo (CC-BY 4.0)', }; } diff --git a/lib/translation/ka_ge.dart b/lib/translation/ka_ge.dart index 3400d78..9625558 100644 --- a/lib/translation/ka_ge.dart +++ b/lib/translation/ka_ge.dart @@ -125,5 +125,7 @@ class KaGe { 'cities': 'ქალაქები', 'searchMethod': 'გამოიყენეთ ძებნა ან გეოლოკაცია', 'done': 'დასრულებულია', + 'groups': 'ჩვენი ჯგუფები', + 'openMeteo': 'მონაცემები Open-Meteo-დან (CC-BY 4.0)', }; } diff --git a/lib/translation/ko_kr.dart b/lib/translation/ko_kr.dart index f3ad34c..5542d23 100644 --- a/lib/translation/ko_kr.dart +++ b/lib/translation/ko_kr.dart @@ -1,15 +1,12 @@ class KoKr { Map get messages => { 'start': '시작하기', - 'description': - '어떤 곳이든, 어느 순간이든, 날씨를 확인하세요.', + 'description': '어떤 곳이든, 어느 순간이든, 날씨를 확인하세요.', 'name': '날씨', 'name2': '편리한 디자인', 'name3': '문의하기', - 'description2': - '모든 내비게이션은 가능한 한 편리하고 빠르게 애플리케이션과 상호 작용하도록 설계되었습니다.', - 'description3': - '어떤 오류가 발생했다면, 이메일 또는 앱 리뷰로 문의해주세요.', + 'description2': '모든 내비게이션은 가능한 한 편리하고 빠르게 애플리케이션과 상호 작용하도록 설계되었습니다.', + 'description3': '어떤 오류가 발생했다면, 이메일 또는 앱 리뷰로 문의해주세요.', 'next': '다음', 'search': '검색...', 'loading': '로딩 중...', @@ -44,8 +41,7 @@ class KoKr { 'no_inter': '인터넷 없음', 'on_inter': '현재 위치에 대한 정보를 얻기 위해서는 인터넷이 필요합니다.', 'location': '위치', - 'no_location': - '현재 위치에 대한 정보를 얻기 위해서는 위치 서비스를 활성화해야 합니다.', + 'no_location': '현재 위치에 대한 정보를 얻기 위해서는 위치 서비스를 활성화해야 합니다.', 'theme': '테마', 'low': '낮음', 'high': '높음', @@ -125,5 +121,7 @@ class KoKr { 'cities': '도시', 'searchMethod': '검색 또는 지리적 위치를 사용하세요', 'done': '완료', + 'groups': '우리 그룹', + 'openMeteo': 'Open-Meteo의 데이터 (CC-BY 4.0)', }; } diff --git a/lib/translation/nl_nl.dart b/lib/translation/nl_nl.dart index c9e50bf..ac84a79 100644 --- a/lib/translation/nl_nl.dart +++ b/lib/translation/nl_nl.dart @@ -126,5 +126,7 @@ class NlNl { 'cities': 'Steden', 'searchMethod': 'Gebruik zoeken of geolocatie', 'done': 'Klaar', + 'groups': 'Onze groepen', + 'openMeteo': 'Gegevens van Open-Meteo (CC-BY 4.0)', }; } diff --git a/lib/translation/pl_pl.dart b/lib/translation/pl_pl.dart index 4d17007..dc2c8cf 100644 --- a/lib/translation/pl_pl.dart +++ b/lib/translation/pl_pl.dart @@ -124,5 +124,7 @@ class PlPl { 'cities': 'Miasta', 'searchMethod': 'Użyj wyszukiwania lub geolokalizacji', 'done': 'Gotowe', + 'groups': 'Nasze grupy', + 'openMeteo': 'Dane z Open-Meteo (CC-BY 4.0)', }; } diff --git a/lib/translation/pt_br.dart b/lib/translation/pt_br.dart index 9e74e80..142f9fe 100644 --- a/lib/translation/pt_br.dart +++ b/lib/translation/pt_br.dart @@ -125,5 +125,7 @@ class PtBr { 'cities': 'Cidades', 'searchMethod': 'Use a pesquisa ou a geolocalização', 'done': 'Concluído', + 'groups': 'Nossos grupos', + 'openMeteo': 'Dados do Open-Meteo (CC-BY 4.0)', }; } diff --git a/lib/translation/ro_ro.dart b/lib/translation/ro_ro.dart index 9a68c8c..6bd2e53 100644 --- a/lib/translation/ro_ro.dart +++ b/lib/translation/ro_ro.dart @@ -124,5 +124,7 @@ class RoRo { 'cities': 'Orașe', 'searchMethod': 'Folosiți căutarea sau geolocația', 'done': 'Gata', + 'groups': 'Grupurile noastre', + 'openMeteo': 'Date de la Open-Meteo (CC-BY 4.0)', }; } diff --git a/lib/translation/ru_ru.dart b/lib/translation/ru_ru.dart index dbf61fb..655b9c9 100644 --- a/lib/translation/ru_ru.dart +++ b/lib/translation/ru_ru.dart @@ -125,5 +125,7 @@ class RuRu { 'cities': 'Города', 'searchMethod': 'Воспользуйтесь поиском или геолокацией', 'done': 'Готово', + 'groups': 'Наши группы', + 'openMeteo': 'Данные от Open-Meteo (CC-BY 4.0)', }; } diff --git a/lib/translation/sk_sk.dart b/lib/translation/sk_sk.dart index 7867fd3..a40cf20 100644 --- a/lib/translation/sk_sk.dart +++ b/lib/translation/sk_sk.dart @@ -124,5 +124,7 @@ class SkSk { 'cities': 'Mestá', 'searchMethod': 'Použite vyhľadávanie alebo geolokáciu', 'done': 'Hotovo', + 'groups': 'Naše skupiny', + 'openMeteo': 'Údaje od Open-Meteo (CC-BY 4.0)', }; } diff --git a/lib/translation/tr_tr.dart b/lib/translation/tr_tr.dart index e4e0205..1c721a4 100644 --- a/lib/translation/tr_tr.dart +++ b/lib/translation/tr_tr.dart @@ -124,5 +124,7 @@ class TrTr { 'cities': 'Şehirler', 'searchMethod': 'Arama veya konum belirleme kullanın', 'done': 'Tamam', + 'groups': 'Gruplarımız', + 'openMeteo': 'Open-Meteo\'dan veriler (CC-BY 4.0)', }; } diff --git a/lib/translation/ur_pk.dart b/lib/translation/ur_pk.dart index b3b95c1..15e5849 100644 --- a/lib/translation/ur_pk.dart +++ b/lib/translation/ur_pk.dart @@ -125,5 +125,7 @@ class UrPk { 'cities': 'شہر', 'searchMethod': 'تلاش یا جغرافیائی مقام استعمال کریں', 'done': 'ہوگیا', + 'groups': 'ہماری گروپس', + 'openMeteo': 'Open-Meteo سے ڈیٹا (CC-BY 4.0)', }; } diff --git a/lib/translation/zh_ch.dart b/lib/translation/zh_ch.dart index dcada96..8c775d2 100644 --- a/lib/translation/zh_ch.dart +++ b/lib/translation/zh_ch.dart @@ -120,5 +120,7 @@ class ZhCh { 'cities': '城市', 'searchMethod': '使用搜索或地理定位', 'done': '完成', + 'groups': '我们的组', + 'openMeteo': '来自Open-Meteo的数据 (CC-BY 4.0)', }; } diff --git a/lib/translation/zh_tw.dart b/lib/translation/zh_tw.dart index c74fbee..4b37b3e 100644 --- a/lib/translation/zh_tw.dart +++ b/lib/translation/zh_tw.dart @@ -1,15 +1,12 @@ class ZhTw { Map get messages => { 'start': '開始使用', - 'description': - '一個提供實時天氣資訊的天氣軟體。', + 'description': '一個提供實時天氣資訊的天氣軟體。', 'name': '天氣', 'name2': '方便的設計', 'name3': '聯絡我們', - 'description2': - '所有導覽均設計得盡可能方便交互', - 'description3': - '如遇到問題請透過電郵或軟體評論與我們聯絡', + 'description2': '所有導覽均設計得盡可能方便交互', + 'description3': '如遇到問題請透過電郵或軟體評論與我們聯絡', 'next': '下一步', 'search': '搜尋……', 'loading': '載入中……', @@ -44,8 +41,7 @@ class ZhTw { 'no_inter': '沒有網路連線', 'on_inter': '啟用網路以獲取氣象資料。', 'location': '位置', - 'no_location': - '啟用位置服務以獲取當前位置的天氣資訊。', + 'no_location': '啟用位置服務以獲取當前位置的天氣資訊。', 'theme': '主題', 'low': '低', 'high': '高', @@ -125,5 +121,7 @@ class ZhTw { 'cities': '城市', 'searchMethod': '使用搜尋或地理位置', 'done': '完成', + 'groups': '我們的小組', + 'openMeteo': '來自Open-Meteo的數據 (CC-BY 4.0)', }; } diff --git a/pubspec.lock b/pubspec.lock index eabac70..d990650 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -29,10 +29,10 @@ packages: dependency: transitive description: name: archive - sha256: "6bd38d335f0954f5fad9c79e614604fbf03a0e5b975923dd001b6ea965ef5b4b" + sha256: cb6a278ef2dbb298455e1a713bda08524a175630ec643a242c399c932a0a1f7d url: "https://pub.dev" source: hosted - version: "3.6.0" + version: "3.6.1" args: dependency: transitive description: @@ -93,18 +93,18 @@ packages: dependency: "direct dev" description: name: build_runner - sha256: "1414d6d733a85d8ad2f1dfcb3ea7945759e35a123cb99ccfac75d0758f75edfa" + sha256: "644dc98a0f179b872f612d3eb627924b578897c629788e858157fa5e704ca0c7" url: "https://pub.dev" source: hosted - version: "2.4.10" + version: "2.4.11" build_runner_core: dependency: transitive description: name: build_runner_core - sha256: "4ae8ffe5ac758da294ecf1802f2aff01558d8b1b00616aa7538ea9a8a5d50799" + sha256: e3c79f69a64bdfcd8a776a3c28db4eb6e3fb5356d013ae5eb2e52007706d5dbe url: "https://pub.dev" source: hosted - version: "7.3.0" + version: "7.3.1" built_collection: dependency: transitive description: @@ -307,10 +307,10 @@ packages: dependency: "direct main" description: name: flutter_hsvcolor_picker - sha256: ea5868dbb1c840ef502bbf60168b26e18eab13a3a2b07bfef0c59a64e7fedc2c + sha256: f3480d7beaf4d3a3b76512a0c149a3b698076c8cf721bc515cded30de37ded6a url: "https://pub.dev" source: hosted - version: "1.5.0" + version: "1.5.1" flutter_launcher_icons: dependency: "direct dev" description: @@ -602,7 +602,7 @@ packages: dependency: "direct main" description: name: isar - sha256: e7135ff16ae4e4624bce608757b2d22aeeeb09225d9f16ec3e3a5c9f3d05e66a + sha256: d06cca880885fe016d20a53847ce8605cde595e38de00a613b086fa8fd900790 url: "https://pub.isar-community.dev" source: hosted version: "3.1.7" @@ -610,7 +610,7 @@ packages: dependency: "direct main" description: name: isar_flutter_libs - sha256: cb2cc60aac929ca190c0332d10417cab405f666dc96773ab66eb2958866a5e20 + sha256: d5036c0cb92b15025301fb7260e7a7557393c855ed2f9903f2b1fbb56f423bc5 url: "https://pub.isar-community.dev" source: hosted version: "3.1.7" @@ -618,7 +618,7 @@ packages: dependency: "direct dev" description: name: isar_generator - sha256: "9409d8c95abc67953165dea302f75d957cd40965fcbcd0134ab2b2e4c5e35042" + sha256: c88bcdfc4a6407ff9672364bf62330d0314e88753dd0b442179f2f802a5f2179 url: "https://pub.isar-community.dev" source: hosted version: "3.1.7" @@ -1031,10 +1031,10 @@ packages: dependency: "direct main" description: name: url_launcher - sha256: "6ce1e04375be4eed30548f10a315826fd933c1e493206eab82eed01f438c8d2e" + sha256: "21b704ce5fa560ea9f3b525b43601c678728ba46725bab9b01187b4831377ed3" url: "https://pub.dev" source: hosted - version: "6.2.6" + version: "6.3.0" url_launcher_android: dependency: transitive description: diff --git a/pubspec.yaml b/pubspec.yaml index 01c8444..53942bb 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -30,7 +30,7 @@ dependencies: flutter_glow: git: url: https://github.com/payam-zahedi/flutter-glow.git - url_launcher: ^6.2.6 + url_launcher: ^6.3.0 time_machine: ^0.9.17 dynamic_color: ^1.7.0 path_provider: ^2.1.3 @@ -44,7 +44,7 @@ dependencies: hosted: https://pub.isar-community.dev/ flutter_displaymode: ^0.6.0 lat_lng_to_timezone: ^0.2.0 - flutter_hsvcolor_picker: ^1.5.0 + flutter_hsvcolor_picker: ^1.5.1 scrollable_positioned_list: ^0.3.8 flutter_local_notifications: ^17.1.2 internet_connection_checker_plus: ^2.4.1 @@ -61,7 +61,7 @@ dev_dependencies: flutter_test: sdk: flutter freezed: ^2.5.2 - build_runner: ^2.4.10 + build_runner: ^2.4.11 flutter_lints: ^4.0.0 isar_generator: version: ^3.1.7