💄 Finishing up
| @@ -6,7 +6,7 @@ plugins { | ||||
| } | ||||
|  | ||||
| android { | ||||
|     namespace = "com.example.dietary_guard" | ||||
|     namespace = "dev.solsynth.dietaryGuard" | ||||
|     compileSdk = flutter.compileSdkVersion | ||||
|     ndkVersion = flutter.ndkVersion | ||||
|  | ||||
| @@ -20,8 +20,7 @@ android { | ||||
|     } | ||||
|  | ||||
|     defaultConfig { | ||||
|         // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html). | ||||
|         applicationId = "com.example.dietary_guard" | ||||
|         applicationId = "dev.solsynth.dietaryGuard" | ||||
|         // You can update the following values to match your application needs. | ||||
|         // For more information, see: https://flutter.dev/to/review-gradle-config. | ||||
|         minSdk = flutter.minSdkVersion | ||||
|   | ||||
| @@ -2,7 +2,7 @@ | ||||
|     <application | ||||
|         android:label="dietary_guard" | ||||
|         android:name="${applicationName}" | ||||
|         android:icon="@mipmap/ic_launcher"> | ||||
|         android:icon="@mipmap/launcher_icon"> | ||||
|         <activity | ||||
|             android:name=".MainActivity" | ||||
|             android:exported="true" | ||||
|   | ||||
							
								
								
									
										
											BIN
										
									
								
								android/app/src/main/res/mipmap-hdpi/launcher_icon.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 1.3 KiB | 
							
								
								
									
										
											BIN
										
									
								
								android/app/src/main/res/mipmap-mdpi/launcher_icon.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 900 B | 
							
								
								
									
										
											BIN
										
									
								
								android/app/src/main/res/mipmap-xhdpi/launcher_icon.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 1.7 KiB | 
							
								
								
									
										
											BIN
										
									
								
								android/app/src/main/res/mipmap-xxhdpi/launcher_icon.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 2.6 KiB | 
							
								
								
									
										
											BIN
										
									
								
								android/app/src/main/res/mipmap-xxxhdpi/launcher_icon.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 3.5 KiB | 
							
								
								
									
										
											BIN
										
									
								
								assets/icon.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 34 KiB | 
| @@ -1,29 +1,48 @@ | ||||
| PODS: | ||||
|   - Flutter (1.0.0) | ||||
|   - package_info_plus (0.4.5): | ||||
|     - Flutter | ||||
|   - path_provider_foundation (0.0.1): | ||||
|     - Flutter | ||||
|     - FlutterMacOS | ||||
|   - shared_preferences_foundation (0.0.1): | ||||
|     - Flutter | ||||
|     - FlutterMacOS | ||||
|   - sqflite (0.0.3): | ||||
|     - Flutter | ||||
|     - FlutterMacOS | ||||
|   - url_launcher_ios (0.0.1): | ||||
|     - Flutter | ||||
|  | ||||
| DEPENDENCIES: | ||||
|   - Flutter (from `Flutter`) | ||||
|   - package_info_plus (from `.symlinks/plugins/package_info_plus/ios`) | ||||
|   - path_provider_foundation (from `.symlinks/plugins/path_provider_foundation/darwin`) | ||||
|   - shared_preferences_foundation (from `.symlinks/plugins/shared_preferences_foundation/darwin`) | ||||
|   - sqflite (from `.symlinks/plugins/sqflite/darwin`) | ||||
|   - url_launcher_ios (from `.symlinks/plugins/url_launcher_ios/ios`) | ||||
|  | ||||
| EXTERNAL SOURCES: | ||||
|   Flutter: | ||||
|     :path: Flutter | ||||
|   package_info_plus: | ||||
|     :path: ".symlinks/plugins/package_info_plus/ios" | ||||
|   path_provider_foundation: | ||||
|     :path: ".symlinks/plugins/path_provider_foundation/darwin" | ||||
|   shared_preferences_foundation: | ||||
|     :path: ".symlinks/plugins/shared_preferences_foundation/darwin" | ||||
|   sqflite: | ||||
|     :path: ".symlinks/plugins/sqflite/darwin" | ||||
|   url_launcher_ios: | ||||
|     :path: ".symlinks/plugins/url_launcher_ios/ios" | ||||
|  | ||||
| SPEC CHECKSUMS: | ||||
|   Flutter: e0871f40cf51350855a761d2e70bf5af5b9b5de7 | ||||
|   package_info_plus: 58f0028419748fad15bf008b270aaa8e54380b1c | ||||
|   path_provider_foundation: 2b6b4c569c0fb62ec74538f866245ac84301af46 | ||||
|   shared_preferences_foundation: fcdcbc04712aee1108ac7fda236f363274528f78 | ||||
|   sqflite: 673a0e54cc04b7d6dba8d24fb8095b31c3a99eec | ||||
|   url_launcher_ios: 5334b05cef931de560670eeae103fd3e431ac3fe | ||||
|  | ||||
| PODFILE CHECKSUM: 819463e6a0290f5a72f145ba7cde16e8b6ef0796 | ||||
|  | ||||
|   | ||||
| @@ -542,7 +542,7 @@ | ||||
| 			isa = XCBuildConfiguration; | ||||
| 			buildSettings = { | ||||
| 				ALWAYS_SEARCH_USER_PATHS = NO; | ||||
| 				ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; | ||||
| 				ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = AppIcon; | ||||
| 				CLANG_ANALYZER_NONNULL = YES; | ||||
| 				CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; | ||||
| 				CLANG_CXX_LIBRARY = "libc++"; | ||||
| @@ -599,7 +599,7 @@ | ||||
| 			isa = XCBuildConfiguration; | ||||
| 			buildSettings = { | ||||
| 				ALWAYS_SEARCH_USER_PATHS = NO; | ||||
| 				ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; | ||||
| 				ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = AppIcon; | ||||
| 				CLANG_ANALYZER_NONNULL = YES; | ||||
| 				CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; | ||||
| 				CLANG_CXX_LIBRARY = "libc++"; | ||||
|   | ||||
| Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 22 KiB | 
| Before Width: | Height: | Size: 295 B After Width: | Height: | Size: 356 B | 
| Before Width: | Height: | Size: 406 B After Width: | Height: | Size: 723 B | 
| Before Width: | Height: | Size: 450 B After Width: | Height: | Size: 1.1 KiB | 
| Before Width: | Height: | Size: 282 B After Width: | Height: | Size: 494 B | 
| Before Width: | Height: | Size: 462 B After Width: | Height: | Size: 1.1 KiB | 
| Before Width: | Height: | Size: 704 B After Width: | Height: | Size: 1.6 KiB | 
| Before Width: | Height: | Size: 406 B After Width: | Height: | Size: 723 B | 
| Before Width: | Height: | Size: 586 B After Width: | Height: | Size: 1.4 KiB | 
| Before Width: | Height: | Size: 862 B After Width: | Height: | Size: 2.2 KiB | 
| After Width: | Height: | Size: 930 B | 
| After Width: | Height: | Size: 1.8 KiB | 
| After Width: | Height: | Size: 1.1 KiB | 
| After Width: | Height: | Size: 2.1 KiB | 
| Before Width: | Height: | Size: 862 B After Width: | Height: | Size: 2.2 KiB | 
| Before Width: | Height: | Size: 1.6 KiB After Width: | Height: | Size: 3.4 KiB | 
| After Width: | Height: | Size: 1.3 KiB | 
| After Width: | Height: | Size: 2.6 KiB | 
| Before Width: | Height: | Size: 762 B After Width: | Height: | Size: 1.4 KiB | 
| Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 2.8 KiB | 
| Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 3.0 KiB | 
| @@ -1,6 +1,9 @@ | ||||
| import 'package:flutter/material.dart'; | ||||
| import 'package:get/get.dart'; | ||||
| import 'package:go_router/go_router.dart'; | ||||
| import 'package:google_fonts/google_fonts.dart'; | ||||
| import 'package:package_info_plus/package_info_plus.dart'; | ||||
| import 'package:url_launcher/url_launcher_string.dart'; | ||||
|  | ||||
| class SettingsScreen extends StatelessWidget { | ||||
|   const SettingsScreen({super.key}); | ||||
| @@ -15,6 +18,37 @@ class SettingsScreen extends StatelessWidget { | ||||
|         ), | ||||
|         body: ListView( | ||||
|           children: [ | ||||
|             Column( | ||||
|               crossAxisAlignment: CrossAxisAlignment.center, | ||||
|               children: [ | ||||
|                 ClipRRect( | ||||
|                   borderRadius: const BorderRadius.all(Radius.circular(16)), | ||||
|                   child: Image.asset("assets/icon.png", width: 64, height: 64), | ||||
|                 ).paddingAll(8), | ||||
|                 const SizedBox(height: 12), | ||||
|                 Text( | ||||
|                   'appName'.tr, | ||||
|                   style: Theme.of(context).textTheme.headlineMedium, | ||||
|                 ), | ||||
|                 Text('appDescription'.tr), | ||||
|                 FutureBuilder( | ||||
|                   future: PackageInfo.fromPlatform(), | ||||
|                   builder: (context, snapshot) { | ||||
|                     if (!snapshot.hasData) { | ||||
|                       return Text('loading'.tr); | ||||
|                     } | ||||
|                     return Text( | ||||
|                       'v${snapshot.data!.version} (${snapshot.data!.buildNumber})', | ||||
|                       style: GoogleFonts.ibmPlexMono(fontSize: 12), | ||||
|                     ); | ||||
|                   }, | ||||
|                 ), | ||||
|               ], | ||||
|             ).paddingOnly(left: 24, right: 24, bottom: 16), | ||||
|             const Divider(height: 1, thickness: 0.3).paddingOnly( | ||||
|               bottom: 16, | ||||
|               top: 8, | ||||
|             ), | ||||
|             ListTile( | ||||
|               contentPadding: const EdgeInsets.symmetric(horizontal: 24), | ||||
|               trailing: const Icon(Icons.chevron_right), | ||||
| @@ -31,6 +65,18 @@ class SettingsScreen extends StatelessWidget { | ||||
|                 GoRouter.of(context).pushNamed('settingsDataSource'); | ||||
|               }, | ||||
|             ), | ||||
|             const Divider(height: 1, thickness: 0.3) | ||||
|                 .paddingOnly(top: 16, bottom: 8), | ||||
|             Center( | ||||
|               child: InkWell( | ||||
|                 borderRadius: const BorderRadius.all(Radius.circular(8)), | ||||
|                 child: Text('appCopyright'.tr, textAlign: TextAlign.center) | ||||
|                     .paddingAll(8), | ||||
|                 onTap: () { | ||||
|                   launchUrlString("https://solsynth.dev"); | ||||
|                 }, | ||||
|               ), | ||||
|             ), | ||||
|           ], | ||||
|         ), | ||||
|       ), | ||||
|   | ||||
| @@ -1,4 +1,5 @@ | ||||
| const i18nEnglish = { | ||||
|   'appCopyright': 'Copyright © 2024 Solsynth LLC\nOriginal Author @littlesheep', | ||||
|   'query': 'Query', | ||||
|   'settings': 'Settings', | ||||
|   'preparingData': 'Preparing data...', | ||||
|   | ||||
| @@ -1,4 +1,7 @@ | ||||
| const i18nSimplifiedChinese = { | ||||
|   'appName': '膳食卫士', | ||||
|   'appDescription': '您的健康膳食小卫士', | ||||
|   'appCopyright': '版权所有 © 2024 索尔辛茨实业有限公司\n作者 @littlesheep', | ||||
|   'query': '查询', | ||||
|   'settings': '设置', | ||||
|   'preparingData': '准备数据中…', | ||||
| @@ -35,4 +38,5 @@ const i18nSimplifiedChinese = { | ||||
|       'DietaryGuard 的数据来自于美国农业部公开 API,因此你需要配置一个 API 令牌,但是别担心,这是完全免费的,查看我们的维基了解如何获取一个 API 令牌。', | ||||
|   'fdcApiCredit': | ||||
|       'DietaryGuard 的食品数据来源于 U.S. Department of Agriculture, Agricultural Research Service, Beltsville Human Nutrition Research Center. FoodData Central. 在此感谢他们慷慨贡献的食品数据并发布在公有领域。', | ||||
|   'loading': '加载中', | ||||
| }; | ||||
|   | ||||
| @@ -6,6 +6,10 @@ | ||||
|  | ||||
| #include "generated_plugin_registrant.h" | ||||
|  | ||||
| #include <url_launcher_linux/url_launcher_plugin.h> | ||||
|  | ||||
| void fl_register_plugins(FlPluginRegistry* registry) { | ||||
|   g_autoptr(FlPluginRegistrar) url_launcher_linux_registrar = | ||||
|       fl_plugin_registry_get_registrar_for_plugin(registry, "UrlLauncherPlugin"); | ||||
|   url_launcher_plugin_register_with_registrar(url_launcher_linux_registrar); | ||||
| } | ||||
|   | ||||
| @@ -3,6 +3,7 @@ | ||||
| # | ||||
|  | ||||
| list(APPEND FLUTTER_PLUGIN_LIST | ||||
|   url_launcher_linux | ||||
| ) | ||||
|  | ||||
| list(APPEND FLUTTER_FFI_PLUGIN_LIST | ||||
|   | ||||
| @@ -5,10 +5,16 @@ | ||||
| import FlutterMacOS | ||||
| import Foundation | ||||
|  | ||||
| import package_info_plus | ||||
| import path_provider_foundation | ||||
| import shared_preferences_foundation | ||||
| import sqflite | ||||
| import url_launcher_macos | ||||
|  | ||||
| func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) { | ||||
|   FPPPackageInfoPlusPlugin.register(with: registry.registrar(forPlugin: "FPPPackageInfoPlusPlugin")) | ||||
|   PathProviderPlugin.register(with: registry.registrar(forPlugin: "PathProviderPlugin")) | ||||
|   SharedPreferencesPlugin.register(with: registry.registrar(forPlugin: "SharedPreferencesPlugin")) | ||||
|   SqflitePlugin.register(with: registry.registrar(forPlugin: "SqflitePlugin")) | ||||
|   UrlLauncherPlugin.register(with: registry.registrar(forPlugin: "UrlLauncherPlugin")) | ||||
| } | ||||
|   | ||||
| @@ -1,68 +1,68 @@ | ||||
| { | ||||
|   "images" : [ | ||||
|     { | ||||
|       "size" : "16x16", | ||||
|       "idiom" : "mac", | ||||
|       "filename" : "app_icon_16.png", | ||||
|       "scale" : "1x" | ||||
|     "info": { | ||||
|         "version": 1, | ||||
|         "author": "xcode" | ||||
|     }, | ||||
|     { | ||||
|       "size" : "16x16", | ||||
|       "idiom" : "mac", | ||||
|       "filename" : "app_icon_32.png", | ||||
|       "scale" : "2x" | ||||
|     }, | ||||
|     { | ||||
|       "size" : "32x32", | ||||
|       "idiom" : "mac", | ||||
|       "filename" : "app_icon_32.png", | ||||
|       "scale" : "1x" | ||||
|     }, | ||||
|     { | ||||
|       "size" : "32x32", | ||||
|       "idiom" : "mac", | ||||
|       "filename" : "app_icon_64.png", | ||||
|       "scale" : "2x" | ||||
|     }, | ||||
|     { | ||||
|       "size" : "128x128", | ||||
|       "idiom" : "mac", | ||||
|       "filename" : "app_icon_128.png", | ||||
|       "scale" : "1x" | ||||
|     }, | ||||
|     { | ||||
|       "size" : "128x128", | ||||
|       "idiom" : "mac", | ||||
|       "filename" : "app_icon_256.png", | ||||
|       "scale" : "2x" | ||||
|     }, | ||||
|     { | ||||
|       "size" : "256x256", | ||||
|       "idiom" : "mac", | ||||
|       "filename" : "app_icon_256.png", | ||||
|       "scale" : "1x" | ||||
|     }, | ||||
|     { | ||||
|       "size" : "256x256", | ||||
|       "idiom" : "mac", | ||||
|       "filename" : "app_icon_512.png", | ||||
|       "scale" : "2x" | ||||
|     }, | ||||
|     { | ||||
|       "size" : "512x512", | ||||
|       "idiom" : "mac", | ||||
|       "filename" : "app_icon_512.png", | ||||
|       "scale" : "1x" | ||||
|     }, | ||||
|     { | ||||
|       "size" : "512x512", | ||||
|       "idiom" : "mac", | ||||
|       "filename" : "app_icon_1024.png", | ||||
|       "scale" : "2x" | ||||
|     } | ||||
|   ], | ||||
|   "info" : { | ||||
|     "version" : 1, | ||||
|     "author" : "xcode" | ||||
|   } | ||||
|     "images": [ | ||||
|         { | ||||
|             "size": "16x16", | ||||
|             "idiom": "mac", | ||||
|             "filename": "app_icon_16.png", | ||||
|             "scale": "1x" | ||||
|         }, | ||||
|         { | ||||
|             "size": "16x16", | ||||
|             "idiom": "mac", | ||||
|             "filename": "app_icon_32.png", | ||||
|             "scale": "2x" | ||||
|         }, | ||||
|         { | ||||
|             "size": "32x32", | ||||
|             "idiom": "mac", | ||||
|             "filename": "app_icon_32.png", | ||||
|             "scale": "1x" | ||||
|         }, | ||||
|         { | ||||
|             "size": "32x32", | ||||
|             "idiom": "mac", | ||||
|             "filename": "app_icon_64.png", | ||||
|             "scale": "2x" | ||||
|         }, | ||||
|         { | ||||
|             "size": "128x128", | ||||
|             "idiom": "mac", | ||||
|             "filename": "app_icon_128.png", | ||||
|             "scale": "1x" | ||||
|         }, | ||||
|         { | ||||
|             "size": "128x128", | ||||
|             "idiom": "mac", | ||||
|             "filename": "app_icon_256.png", | ||||
|             "scale": "2x" | ||||
|         }, | ||||
|         { | ||||
|             "size": "256x256", | ||||
|             "idiom": "mac", | ||||
|             "filename": "app_icon_256.png", | ||||
|             "scale": "1x" | ||||
|         }, | ||||
|         { | ||||
|             "size": "256x256", | ||||
|             "idiom": "mac", | ||||
|             "filename": "app_icon_512.png", | ||||
|             "scale": "2x" | ||||
|         }, | ||||
|         { | ||||
|             "size": "512x512", | ||||
|             "idiom": "mac", | ||||
|             "filename": "app_icon_512.png", | ||||
|             "scale": "1x" | ||||
|         }, | ||||
|         { | ||||
|             "size": "512x512", | ||||
|             "idiom": "mac", | ||||
|             "filename": "app_icon_1024.png", | ||||
|             "scale": "2x" | ||||
|         } | ||||
|     ] | ||||
| } | ||||
| Before Width: | Height: | Size: 101 KiB After Width: | Height: | Size: 22 KiB | 
| Before Width: | Height: | Size: 5.5 KiB After Width: | Height: | Size: 2.3 KiB | 
| Before Width: | Height: | Size: 520 B After Width: | Height: | Size: 293 B | 
| Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 4.8 KiB | 
| Before Width: | Height: | Size: 1.0 KiB After Width: | Height: | Size: 590 B | 
| Before Width: | Height: | Size: 36 KiB After Width: | Height: | Size: 10 KiB | 
| Before Width: | Height: | Size: 2.2 KiB After Width: | Height: | Size: 1.2 KiB | 
							
								
								
									
										216
									
								
								pubspec.lock
									
									
									
									
									
								
							
							
						
						| @@ -9,6 +9,22 @@ packages: | ||||
|       url: "https://pub.dev" | ||||
|     source: hosted | ||||
|     version: "2.0.11" | ||||
|   archive: | ||||
|     dependency: transitive | ||||
|     description: | ||||
|       name: archive | ||||
|       sha256: cb6a278ef2dbb298455e1a713bda08524a175630ec643a242c399c932a0a1f7d | ||||
|       url: "https://pub.dev" | ||||
|     source: hosted | ||||
|     version: "3.6.1" | ||||
|   args: | ||||
|     dependency: transitive | ||||
|     description: | ||||
|       name: args | ||||
|       sha256: "7cf60b9f0cc88203c5a190b4cd62a99feea42759a7fa695010eb5de1c0b2252a" | ||||
|       url: "https://pub.dev" | ||||
|     source: hosted | ||||
|     version: "2.5.0" | ||||
|   async: | ||||
|     dependency: transitive | ||||
|     description: | ||||
| @@ -33,6 +49,22 @@ packages: | ||||
|       url: "https://pub.dev" | ||||
|     source: hosted | ||||
|     version: "1.3.0" | ||||
|   checked_yaml: | ||||
|     dependency: transitive | ||||
|     description: | ||||
|       name: checked_yaml | ||||
|       sha256: feb6bed21949061731a7a75fc5d2aa727cf160b91af9a3e464c5e3a32e28b5ff | ||||
|       url: "https://pub.dev" | ||||
|     source: hosted | ||||
|     version: "2.0.3" | ||||
|   cli_util: | ||||
|     dependency: transitive | ||||
|     description: | ||||
|       name: cli_util | ||||
|       sha256: c05b7406fdabc7a49a3929d4af76bcaccbbffcbcdcf185b082e1ae07da323d19 | ||||
|       url: "https://pub.dev" | ||||
|     source: hosted | ||||
|     version: "0.4.1" | ||||
|   clock: | ||||
|     dependency: transitive | ||||
|     description: | ||||
| @@ -49,6 +81,14 @@ packages: | ||||
|       url: "https://pub.dev" | ||||
|     source: hosted | ||||
|     version: "1.18.0" | ||||
|   crypto: | ||||
|     dependency: transitive | ||||
|     description: | ||||
|       name: crypto | ||||
|       sha256: ec30d999af904f33454ba22ed9a86162b35e52b44ac4807d1d93c288041d7d27 | ||||
|       url: "https://pub.dev" | ||||
|     source: hosted | ||||
|     version: "3.0.5" | ||||
|   cupertino_icons: | ||||
|     dependency: "direct main" | ||||
|     description: | ||||
| @@ -110,6 +150,14 @@ packages: | ||||
|     description: flutter | ||||
|     source: sdk | ||||
|     version: "0.0.0" | ||||
|   flutter_launcher_icons: | ||||
|     dependency: "direct dev" | ||||
|     description: | ||||
|       name: flutter_launcher_icons | ||||
|       sha256: "526faf84284b86a4cb36d20a5e45147747b7563d921373d4ee0559c54fcdbcea" | ||||
|       url: "https://pub.dev" | ||||
|     source: hosted | ||||
|     version: "0.13.1" | ||||
|   flutter_lints: | ||||
|     dependency: "direct dev" | ||||
|     description: | ||||
| @@ -144,6 +192,22 @@ packages: | ||||
|       url: "https://pub.dev" | ||||
|     source: hosted | ||||
|     version: "14.2.3" | ||||
|   google_fonts: | ||||
|     dependency: "direct main" | ||||
|     description: | ||||
|       name: google_fonts | ||||
|       sha256: b1ac0fe2832c9cc95e5e88b57d627c5e68c223b9657f4b96e1487aa9098c7b82 | ||||
|       url: "https://pub.dev" | ||||
|     source: hosted | ||||
|     version: "6.2.1" | ||||
|   http: | ||||
|     dependency: transitive | ||||
|     description: | ||||
|       name: http | ||||
|       sha256: b9c29a161230ee03d3ccf545097fccd9b87a5264228c5d348202e0f0c28f9010 | ||||
|       url: "https://pub.dev" | ||||
|     source: hosted | ||||
|     version: "1.2.2" | ||||
|   http_parser: | ||||
|     dependency: transitive | ||||
|     description: | ||||
| @@ -152,6 +216,14 @@ packages: | ||||
|       url: "https://pub.dev" | ||||
|     source: hosted | ||||
|     version: "4.0.2" | ||||
|   image: | ||||
|     dependency: transitive | ||||
|     description: | ||||
|       name: image | ||||
|       sha256: "2237616a36c0d69aef7549ab439b833fb7f9fb9fc861af2cc9ac3eedddd69ca8" | ||||
|       url: "https://pub.dev" | ||||
|     source: hosted | ||||
|     version: "4.2.0" | ||||
|   intl: | ||||
|     dependency: "direct main" | ||||
|     description: | ||||
| @@ -160,6 +232,14 @@ packages: | ||||
|       url: "https://pub.dev" | ||||
|     source: hosted | ||||
|     version: "0.19.0" | ||||
|   json_annotation: | ||||
|     dependency: transitive | ||||
|     description: | ||||
|       name: json_annotation | ||||
|       sha256: "1ce844379ca14835a50d2f019a3099f419082cfdd231cd86a142af94dd5c6bb1" | ||||
|       url: "https://pub.dev" | ||||
|     source: hosted | ||||
|     version: "4.9.0" | ||||
|   leak_tracker: | ||||
|     dependency: transitive | ||||
|     description: | ||||
| @@ -224,6 +304,22 @@ packages: | ||||
|       url: "https://pub.dev" | ||||
|     source: hosted | ||||
|     version: "1.15.0" | ||||
|   package_info_plus: | ||||
|     dependency: "direct main" | ||||
|     description: | ||||
|       name: package_info_plus | ||||
|       sha256: a75164ade98cb7d24cfd0a13c6408927c6b217fa60dee5a7ff5c116a58f28918 | ||||
|       url: "https://pub.dev" | ||||
|     source: hosted | ||||
|     version: "8.0.2" | ||||
|   package_info_plus_platform_interface: | ||||
|     dependency: transitive | ||||
|     description: | ||||
|       name: package_info_plus_platform_interface | ||||
|       sha256: ac1f4a4847f1ade8e6a87d1f39f5d7c67490738642e2542f559ec38c37489a66 | ||||
|       url: "https://pub.dev" | ||||
|     source: hosted | ||||
|     version: "3.0.1" | ||||
|   path: | ||||
|     dependency: transitive | ||||
|     description: | ||||
| @@ -232,6 +328,30 @@ packages: | ||||
|       url: "https://pub.dev" | ||||
|     source: hosted | ||||
|     version: "1.9.0" | ||||
|   path_provider: | ||||
|     dependency: transitive | ||||
|     description: | ||||
|       name: path_provider | ||||
|       sha256: fec0d61223fba3154d87759e3cc27fe2c8dc498f6386c6d6fc80d1afdd1bf378 | ||||
|       url: "https://pub.dev" | ||||
|     source: hosted | ||||
|     version: "2.1.4" | ||||
|   path_provider_android: | ||||
|     dependency: transitive | ||||
|     description: | ||||
|       name: path_provider_android | ||||
|       sha256: "6f01f8e37ec30b07bc424b4deabac37cacb1bc7e2e515ad74486039918a37eb7" | ||||
|       url: "https://pub.dev" | ||||
|     source: hosted | ||||
|     version: "2.2.10" | ||||
|   path_provider_foundation: | ||||
|     dependency: transitive | ||||
|     description: | ||||
|       name: path_provider_foundation | ||||
|       sha256: f234384a3fdd67f989b4d54a5d73ca2a6c422fa55ae694381ae0f4375cd1ea16 | ||||
|       url: "https://pub.dev" | ||||
|     source: hosted | ||||
|     version: "2.4.0" | ||||
|   path_provider_linux: | ||||
|     dependency: transitive | ||||
|     description: | ||||
| @@ -256,6 +376,14 @@ packages: | ||||
|       url: "https://pub.dev" | ||||
|     source: hosted | ||||
|     version: "2.3.0" | ||||
|   petitparser: | ||||
|     dependency: transitive | ||||
|     description: | ||||
|       name: petitparser | ||||
|       sha256: c15605cd28af66339f8eb6fbe0e541bfe2d1b72d5825efc6598f3e0a31b9ad27 | ||||
|       url: "https://pub.dev" | ||||
|     source: hosted | ||||
|     version: "6.0.2" | ||||
|   platform: | ||||
|     dependency: transitive | ||||
|     description: | ||||
| @@ -413,6 +541,70 @@ packages: | ||||
|       url: "https://pub.dev" | ||||
|     source: hosted | ||||
|     version: "1.3.2" | ||||
|   url_launcher: | ||||
|     dependency: "direct main" | ||||
|     description: | ||||
|       name: url_launcher | ||||
|       sha256: "21b704ce5fa560ea9f3b525b43601c678728ba46725bab9b01187b4831377ed3" | ||||
|       url: "https://pub.dev" | ||||
|     source: hosted | ||||
|     version: "6.3.0" | ||||
|   url_launcher_android: | ||||
|     dependency: transitive | ||||
|     description: | ||||
|       name: url_launcher_android | ||||
|       sha256: f0c73347dfcfa5b3db8bc06e1502668265d39c08f310c29bff4e28eea9699f79 | ||||
|       url: "https://pub.dev" | ||||
|     source: hosted | ||||
|     version: "6.3.9" | ||||
|   url_launcher_ios: | ||||
|     dependency: transitive | ||||
|     description: | ||||
|       name: url_launcher_ios | ||||
|       sha256: e43b677296fadce447e987a2f519dcf5f6d1e527dc35d01ffab4fff5b8a7063e | ||||
|       url: "https://pub.dev" | ||||
|     source: hosted | ||||
|     version: "6.3.1" | ||||
|   url_launcher_linux: | ||||
|     dependency: transitive | ||||
|     description: | ||||
|       name: url_launcher_linux | ||||
|       sha256: e2b9622b4007f97f504cd64c0128309dfb978ae66adbe944125ed9e1750f06af | ||||
|       url: "https://pub.dev" | ||||
|     source: hosted | ||||
|     version: "3.2.0" | ||||
|   url_launcher_macos: | ||||
|     dependency: transitive | ||||
|     description: | ||||
|       name: url_launcher_macos | ||||
|       sha256: "9a1a42d5d2d95400c795b2914c36fdcb525870c752569438e4ebb09a2b5d90de" | ||||
|       url: "https://pub.dev" | ||||
|     source: hosted | ||||
|     version: "3.2.0" | ||||
|   url_launcher_platform_interface: | ||||
|     dependency: transitive | ||||
|     description: | ||||
|       name: url_launcher_platform_interface | ||||
|       sha256: "552f8a1e663569be95a8190206a38187b531910283c3e982193e4f2733f01029" | ||||
|       url: "https://pub.dev" | ||||
|     source: hosted | ||||
|     version: "2.3.2" | ||||
|   url_launcher_web: | ||||
|     dependency: transitive | ||||
|     description: | ||||
|       name: url_launcher_web | ||||
|       sha256: "772638d3b34c779ede05ba3d38af34657a05ac55b06279ea6edd409e323dca8e" | ||||
|       url: "https://pub.dev" | ||||
|     source: hosted | ||||
|     version: "2.3.3" | ||||
|   url_launcher_windows: | ||||
|     dependency: transitive | ||||
|     description: | ||||
|       name: url_launcher_windows | ||||
|       sha256: "49c10f879746271804767cb45551ec5592cdab00ee105c06dddde1a98f73b185" | ||||
|       url: "https://pub.dev" | ||||
|     source: hosted | ||||
|     version: "3.1.2" | ||||
|   vector_math: | ||||
|     dependency: transitive | ||||
|     description: | ||||
| @@ -437,6 +629,14 @@ packages: | ||||
|       url: "https://pub.dev" | ||||
|     source: hosted | ||||
|     version: "1.0.0" | ||||
|   win32: | ||||
|     dependency: transitive | ||||
|     description: | ||||
|       name: win32 | ||||
|       sha256: "68d1e89a91ed61ad9c370f9f8b6effed9ae5e0ede22a270bdfa6daf79fc2290a" | ||||
|       url: "https://pub.dev" | ||||
|     source: hosted | ||||
|     version: "5.5.4" | ||||
|   xdg_directories: | ||||
|     dependency: transitive | ||||
|     description: | ||||
| @@ -445,6 +645,22 @@ packages: | ||||
|       url: "https://pub.dev" | ||||
|     source: hosted | ||||
|     version: "1.0.4" | ||||
|   xml: | ||||
|     dependency: transitive | ||||
|     description: | ||||
|       name: xml | ||||
|       sha256: b015a8ad1c488f66851d762d3090a21c600e479dc75e68328c52774040cf9226 | ||||
|       url: "https://pub.dev" | ||||
|     source: hosted | ||||
|     version: "6.5.0" | ||||
|   yaml: | ||||
|     dependency: transitive | ||||
|     description: | ||||
|       name: yaml | ||||
|       sha256: "75769501ea3489fca56601ff33454fe45507ea3bfb014161abc3b43ae25989d5" | ||||
|       url: "https://pub.dev" | ||||
|     source: hosted | ||||
|     version: "3.1.2" | ||||
| sdks: | ||||
|   dart: ">=3.5.0 <4.0.0" | ||||
|   flutter: ">=3.22.0" | ||||
|   | ||||
							
								
								
									
										24
									
								
								pubspec.yaml
									
									
									
									
									
								
							
							
						
						| @@ -43,6 +43,9 @@ dependencies: | ||||
|   intl: ^0.19.0 | ||||
|   animations: ^2.0.11 | ||||
|   dropdown_button2: ^2.3.9 | ||||
|   package_info_plus: ^8.0.2 | ||||
|   google_fonts: ^6.2.1 | ||||
|   url_launcher: ^6.3.0 | ||||
|  | ||||
| dev_dependencies: | ||||
|   flutter_test: | ||||
| @@ -54,10 +57,27 @@ dev_dependencies: | ||||
|   # package. See that file for information about deactivating specific lint | ||||
|   # rules and activating additional ones. | ||||
|   flutter_lints: ^4.0.0 | ||||
|   flutter_launcher_icons: ^0.13.1 | ||||
|  | ||||
| # For information on the generic Dart part of this file, see the | ||||
| # following page: https://dart.dev/tools/pub/pubspec | ||||
|  | ||||
| flutter_launcher_icons: | ||||
|   android: "launcher_icon" | ||||
|   ios: true | ||||
|   image_path: "assets/icon.png" | ||||
|   min_sdk_android: 21 # android min sdk min:16, default 21 | ||||
|   web: | ||||
|     generate: true | ||||
|     image_path: "assets/icon.png" | ||||
|   windows: | ||||
|     generate: true | ||||
|     image_path: "assets/icon.png" | ||||
|     icon_size: 256 | ||||
|   macos: | ||||
|     generate: true | ||||
|     image_path: "assets/icon.png" | ||||
|  | ||||
| # The following section is specific to Flutter packages. | ||||
| flutter: | ||||
|  | ||||
| @@ -67,8 +87,8 @@ flutter: | ||||
|   uses-material-design: true | ||||
|  | ||||
|   # To add assets to your application, add an assets section, like this: | ||||
|   # assets: | ||||
|   #  - assets/data/ | ||||
|   assets: | ||||
|    - assets/icon.png | ||||
|  | ||||
|   # An image asset can refer to one or more resolution-specific "variants", see | ||||
|   # https://flutter.dev/to/resolution-aware-images | ||||
|   | ||||
							
								
								
									
										
											BIN
										
									
								
								web/favicon.png
									
									
									
									
									
								
							
							
						
						| Before Width: | Height: | Size: 917 B After Width: | Height: | Size: 293 B | 
| Before Width: | Height: | Size: 5.2 KiB After Width: | Height: | Size: 3.5 KiB | 
| Before Width: | Height: | Size: 8.1 KiB After Width: | Height: | Size: 10 KiB | 
| Before Width: | Height: | Size: 5.5 KiB After Width: | Height: | Size: 3.5 KiB | 
| Before Width: | Height: | Size: 20 KiB After Width: | Height: | Size: 10 KiB | 
| @@ -6,6 +6,9 @@ | ||||
|  | ||||
| #include "generated_plugin_registrant.h" | ||||
|  | ||||
| #include <url_launcher_windows/url_launcher_windows.h> | ||||
|  | ||||
| void RegisterPlugins(flutter::PluginRegistry* registry) { | ||||
|   UrlLauncherWindowsRegisterWithRegistrar( | ||||
|       registry->GetRegistrarForPlugin("UrlLauncherWindows")); | ||||
| } | ||||
|   | ||||
| @@ -3,6 +3,7 @@ | ||||
| # | ||||
|  | ||||
| list(APPEND FLUTTER_PLUGIN_LIST | ||||
|   url_launcher_windows | ||||
| ) | ||||
|  | ||||
| list(APPEND FLUTTER_FFI_PLUGIN_LIST | ||||
|   | ||||
| Before Width: | Height: | Size: 33 KiB After Width: | Height: | Size: 4.8 KiB |