💄 Optimize design
This commit is contained in:
		| @@ -3,7 +3,7 @@ import 'package:solian/screens/account.dart'; | ||||
| import 'package:solian/screens/account/personalize.dart'; | ||||
| import 'package:solian/screens/auth/signin.dart'; | ||||
| import 'package:solian/screens/auth/signup.dart'; | ||||
| import 'package:solian/screens/home.dart'; | ||||
| import 'package:solian/screens/social.dart'; | ||||
| import 'package:solian/screens/posts/publish.dart'; | ||||
| import 'package:solian/shells/basic_shell.dart'; | ||||
| import 'package:solian/shells/nav_shell.dart'; | ||||
| @@ -17,8 +17,8 @@ abstract class AppRouter { | ||||
|         routes: [ | ||||
|           GoRoute( | ||||
|             path: '/', | ||||
|             name: 'home', | ||||
|             builder: (context, state) => const HomeScreen(), | ||||
|             name: 'social', | ||||
|             builder: (context, state) => const SocialScreen(), | ||||
|           ), | ||||
|           GoRoute( | ||||
|             path: '/account', | ||||
|   | ||||
| @@ -1,5 +1,6 @@ | ||||
| import 'package:flutter/material.dart'; | ||||
| import 'package:flutter_animate/flutter_animate.dart'; | ||||
| import 'package:font_awesome_flutter/font_awesome_flutter.dart'; | ||||
| import 'package:get/get.dart'; | ||||
| import 'package:solian/exts.dart'; | ||||
| import 'package:solian/models/post.dart'; | ||||
| @@ -150,7 +151,10 @@ class _PostPublishingScreenState extends State<PostPublishingScreen> { | ||||
|                   child: Column( | ||||
|                     children: [ | ||||
|                       MaterialBanner( | ||||
|                         leading: const Icon(Icons.reply), | ||||
|                         leading: const FaIcon( | ||||
|                           FontAwesomeIcons.reply, | ||||
|                           size: 18, | ||||
|                         ), | ||||
|                         leadingPadding: | ||||
|                             const EdgeInsets.only(left: 10, right: 20), | ||||
|                         backgroundColor: Colors.transparent, | ||||
| @@ -181,7 +185,10 @@ class _PostPublishingScreenState extends State<PostPublishingScreen> { | ||||
|                   child: Column( | ||||
|                     children: [ | ||||
|                       MaterialBanner( | ||||
|                         leading: const Icon(Icons.redo), | ||||
|                         leading: const FaIcon( | ||||
|                           FontAwesomeIcons.retweet, | ||||
|                           size: 18, | ||||
|                         ), | ||||
|                         leadingPadding: | ||||
|                             const EdgeInsets.only(left: 10, right: 20), | ||||
|                         dividerColor: Colors.transparent, | ||||
|   | ||||
| @@ -9,14 +9,14 @@ import 'package:solian/router.dart'; | ||||
| import 'package:solian/widgets/posts/post_action.dart'; | ||||
| import 'package:solian/widgets/posts/post_item.dart'; | ||||
| 
 | ||||
| class HomeScreen extends StatefulWidget { | ||||
|   const HomeScreen({super.key}); | ||||
| class SocialScreen extends StatefulWidget { | ||||
|   const SocialScreen({super.key}); | ||||
| 
 | ||||
|   @override | ||||
|   State<HomeScreen> createState() => _HomeScreenState(); | ||||
|   State<SocialScreen> createState() => _SocialScreenState(); | ||||
| } | ||||
| 
 | ||||
| class _HomeScreenState extends State<HomeScreen> { | ||||
| class _SocialScreenState extends State<SocialScreen> { | ||||
|   final PagingController<int, Post> _pagingController = | ||||
|       PagingController(firstPageKey: 0); | ||||
| 
 | ||||
| @@ -9,7 +9,7 @@ class SolianMessages extends Translations { | ||||
|           'next': 'Next', | ||||
|           'reset': 'Reset', | ||||
|           'page': 'Page', | ||||
|           'home': 'Home', | ||||
|           'social': 'Social', | ||||
|           'apply': 'Apply', | ||||
|           'cancel': 'Cancel', | ||||
|           'confirm': 'Confirm', | ||||
| @@ -84,7 +84,7 @@ class SolianMessages extends Translations { | ||||
|           'edit': '编辑', | ||||
|           'delete': '删除', | ||||
|           'page': '页面', | ||||
|           'home': '首页', | ||||
|           'social': '社交', | ||||
|           'apply': '应用', | ||||
|           'reply': '回复', | ||||
|           'repost': '转帖', | ||||
|   | ||||
| @@ -4,9 +4,9 @@ import 'package:get/utils.dart'; | ||||
| abstract class AppNavigation { | ||||
|   static List<AppNavigationDestination> destinations = [ | ||||
|     AppNavigationDestination( | ||||
|       icon: const Icon(Icons.home), | ||||
|       label: 'home'.tr, | ||||
|       page: 'home', | ||||
|       icon: const Icon(Icons.public), | ||||
|       label: 'social'.tr, | ||||
|       page: 'social', | ||||
|     ), | ||||
|     AppNavigationDestination( | ||||
|       icon: const Icon(Icons.account_circle), | ||||
| @@ -21,5 +21,6 @@ class AppNavigationDestination { | ||||
|   final String label; | ||||
|   final String page; | ||||
|  | ||||
|   AppNavigationDestination({required this.icon, required this.label, required this.page}); | ||||
|   AppNavigationDestination( | ||||
|       {required this.icon, required this.label, required this.page}); | ||||
| } | ||||
|   | ||||
| @@ -15,13 +15,15 @@ class _AppNavigationRailState extends State<AppNavigationRail> { | ||||
|   @override | ||||
|   Widget build(BuildContext context) { | ||||
|     return NavigationRail( | ||||
|       destinations: AppNavigation.destinations.map( | ||||
|       destinations: AppNavigation.destinations | ||||
|           .map( | ||||
|             (e) => NavigationRailDestination( | ||||
|               icon: e.icon, | ||||
|               label: Text(e.label), | ||||
|             ), | ||||
|       ).toList(), | ||||
|       labelType: NavigationRailLabelType.selected, | ||||
|           ) | ||||
|           .toList(), | ||||
|       labelType: NavigationRailLabelType.all, | ||||
|       selectedIndex: _selectedIndex, | ||||
|       onDestinationSelected: (idx) { | ||||
|         setState(() => _selectedIndex = idx); | ||||
|   | ||||
| @@ -2,6 +2,7 @@ import 'dart:math'; | ||||
|  | ||||
| import 'package:flutter/material.dart'; | ||||
| import 'package:flutter_animate/flutter_animate.dart'; | ||||
| import 'package:font_awesome_flutter/font_awesome_flutter.dart'; | ||||
| import 'package:get/get.dart'; | ||||
| import 'package:solian/exts.dart'; | ||||
| import 'package:solian/models/post.dart'; | ||||
| @@ -68,7 +69,7 @@ class _PostActionState extends State<PostAction> { | ||||
|               children: [ | ||||
|                 ListTile( | ||||
|                   contentPadding: const EdgeInsets.symmetric(horizontal: 24), | ||||
|                   leading: const Icon(Icons.reply), | ||||
|                   leading: const FaIcon(FontAwesomeIcons.reply, size: 20), | ||||
|                   title: Text('reply'.tr), | ||||
|                   onTap: () async { | ||||
|                     final value = await AppRouter.instance.pushNamed( | ||||
| @@ -82,7 +83,7 @@ class _PostActionState extends State<PostAction> { | ||||
|                 ), | ||||
|                 ListTile( | ||||
|                   contentPadding: const EdgeInsets.symmetric(horizontal: 24), | ||||
|                   leading: const Icon(Icons.redo), | ||||
|                   leading: const FaIcon(FontAwesomeIcons.retweet, size: 20), | ||||
|                   title: Text('repost'.tr), | ||||
|                   onTap: () async { | ||||
|                     final value = await AppRouter.instance.pushNamed( | ||||
|   | ||||
| @@ -1,6 +1,7 @@ | ||||
| import 'package:flutter/cupertino.dart'; | ||||
| import 'package:flutter/material.dart'; | ||||
| import 'package:flutter_markdown/flutter_markdown.dart'; | ||||
| import 'package:font_awesome_flutter/font_awesome_flutter.dart'; | ||||
| import 'package:get/get_utils/get_utils.dart'; | ||||
| import 'package:solian/models/post.dart'; | ||||
| import 'package:solian/widgets/account/account_avatar.dart'; | ||||
| @@ -38,9 +39,9 @@ class _PostItemState extends State<PostItem> { | ||||
|       children: [ | ||||
|         Row( | ||||
|           children: [ | ||||
|             Icon( | ||||
|               Icons.reply, | ||||
|               size: 18, | ||||
|             FaIcon( | ||||
|               FontAwesomeIcons.reply, | ||||
|               size: 16, | ||||
|               color: Theme.of(context).colorScheme.onSurface.withOpacity(0.75), | ||||
|             ), | ||||
|             Text( | ||||
| @@ -70,9 +71,9 @@ class _PostItemState extends State<PostItem> { | ||||
|       children: [ | ||||
|         Row( | ||||
|           children: [ | ||||
|             Icon( | ||||
|               Icons.redo, | ||||
|               size: 18, | ||||
|             FaIcon( | ||||
|               FontAwesomeIcons.retweet, | ||||
|               size: 16, | ||||
|               color: Theme.of(context).colorScheme.onSurface.withOpacity(0.75), | ||||
|             ), | ||||
|             Text( | ||||
| @@ -150,14 +151,16 @@ class _PostItemState extends State<PostItem> { | ||||
|                           .paddingOnly(left: 4), | ||||
|                     ], | ||||
|                   ), | ||||
|                   if (widget.item.replyTo != null) buildReply(context), | ||||
|                   if (widget.item.repostTo != null) buildRepost(context), | ||||
|                   Markdown( | ||||
|                     shrinkWrap: true, | ||||
|                     physics: const NeverScrollableScrollPhysics(), | ||||
|                     data: item.content, | ||||
|                     padding: const EdgeInsets.all(0), | ||||
|                   ).paddingOnly(left: 12, right: 8), | ||||
|                   if (widget.item.replyTo != null) | ||||
|                     buildReply(context).paddingOnly(top: 4), | ||||
|                   if (widget.item.repostTo != null) | ||||
|                     buildRepost(context).paddingOnly(top: 4), | ||||
|                 ], | ||||
|               ), | ||||
|             ) | ||||
|   | ||||
							
								
								
									
										41
									
								
								macos/Podfile.lock
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										41
									
								
								macos/Podfile.lock
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,41 @@ | ||||
| PODS: | ||||
|   - file_selector_macos (0.0.1): | ||||
|     - FlutterMacOS | ||||
|   - flutter_secure_storage_macos (6.1.1): | ||||
|     - FlutterMacOS | ||||
|   - FlutterMacOS (1.0.0) | ||||
|   - path_provider_foundation (0.0.1): | ||||
|     - Flutter | ||||
|     - FlutterMacOS | ||||
|   - url_launcher_macos (0.0.1): | ||||
|     - FlutterMacOS | ||||
|  | ||||
| DEPENDENCIES: | ||||
|   - file_selector_macos (from `Flutter/ephemeral/.symlinks/plugins/file_selector_macos/macos`) | ||||
|   - flutter_secure_storage_macos (from `Flutter/ephemeral/.symlinks/plugins/flutter_secure_storage_macos/macos`) | ||||
|   - FlutterMacOS (from `Flutter/ephemeral`) | ||||
|   - path_provider_foundation (from `Flutter/ephemeral/.symlinks/plugins/path_provider_foundation/darwin`) | ||||
|   - url_launcher_macos (from `Flutter/ephemeral/.symlinks/plugins/url_launcher_macos/macos`) | ||||
|  | ||||
| EXTERNAL SOURCES: | ||||
|   file_selector_macos: | ||||
|     :path: Flutter/ephemeral/.symlinks/plugins/file_selector_macos/macos | ||||
|   flutter_secure_storage_macos: | ||||
|     :path: Flutter/ephemeral/.symlinks/plugins/flutter_secure_storage_macos/macos | ||||
|   FlutterMacOS: | ||||
|     :path: Flutter/ephemeral | ||||
|   path_provider_foundation: | ||||
|     :path: Flutter/ephemeral/.symlinks/plugins/path_provider_foundation/darwin | ||||
|   url_launcher_macos: | ||||
|     :path: Flutter/ephemeral/.symlinks/plugins/url_launcher_macos/macos | ||||
|  | ||||
| SPEC CHECKSUMS: | ||||
|   file_selector_macos: 54fdab7caa3ac3fc43c9fac4d7d8d231277f8cf2 | ||||
|   flutter_secure_storage_macos: 59459653abe1adb92abbc8ea747d79f8d19866c9 | ||||
|   FlutterMacOS: 8f6f14fa908a6fb3fba0cd85dbd81ec4b251fb24 | ||||
|   path_provider_foundation: 2b6b4c569c0fb62ec74538f866245ac84301af46 | ||||
|   url_launcher_macos: 5f437abeda8c85500ceb03f5c1938a8c5a705399 | ||||
|  | ||||
| PODFILE CHECKSUM: 236401fc2c932af29a9fcf0e97baeeb2d750d367 | ||||
|  | ||||
| COCOAPODS: 1.15.2 | ||||
| @@ -21,12 +21,14 @@ | ||||
| /* End PBXAggregateTarget section */ | ||||
|  | ||||
| /* Begin PBXBuildFile section */ | ||||
| 		32E4047D78077CA8C6FE31E6 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2738AEB242CF49091607FEDA /* Pods_Runner.framework */; }; | ||||
| 		331C80D8294CF71000263BE5 /* RunnerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 331C80D7294CF71000263BE5 /* RunnerTests.swift */; }; | ||||
| 		335BBD1B22A9A15E00E9071D /* GeneratedPluginRegistrant.swift in Sources */ = {isa = PBXBuildFile; fileRef = 335BBD1A22A9A15E00E9071D /* GeneratedPluginRegistrant.swift */; }; | ||||
| 		33CC10F12044A3C60003C045 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33CC10F02044A3C60003C045 /* AppDelegate.swift */; }; | ||||
| 		33CC10F32044A3C60003C045 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 33CC10F22044A3C60003C045 /* Assets.xcassets */; }; | ||||
| 		33CC10F62044A3C60003C045 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 33CC10F42044A3C60003C045 /* MainMenu.xib */; }; | ||||
| 		33CC11132044BFA00003C045 /* MainFlutterWindow.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33CC11122044BFA00003C045 /* MainFlutterWindow.swift */; }; | ||||
| 		7EA791CAE9710BE5D384F1BB /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 55FB45492936527B3666668F /* Pods_RunnerTests.framework */; }; | ||||
| /* End PBXBuildFile section */ | ||||
|  | ||||
| /* Begin PBXContainerItemProxy section */ | ||||
| @@ -60,11 +62,13 @@ | ||||
| /* End PBXCopyFilesBuildPhase section */ | ||||
|  | ||||
| /* Begin PBXFileReference section */ | ||||
| 		1B3B8DF79807852D828EBE0C /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = "<group>"; }; | ||||
| 		2738AEB242CF49091607FEDA /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; | ||||
| 		331C80D5294CF71000263BE5 /* RunnerTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RunnerTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; | ||||
| 		331C80D7294CF71000263BE5 /* RunnerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RunnerTests.swift; sourceTree = "<group>"; }; | ||||
| 		333000ED22D3DE5D00554162 /* Warnings.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Warnings.xcconfig; sourceTree = "<group>"; }; | ||||
| 		335BBD1A22A9A15E00E9071D /* GeneratedPluginRegistrant.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = GeneratedPluginRegistrant.swift; sourceTree = "<group>"; }; | ||||
| 		33CC10ED2044A3C60003C045 /* solian.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "solian.app"; sourceTree = BUILT_PRODUCTS_DIR; }; | ||||
| 		33CC10ED2044A3C60003C045 /* solian.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = solian.app; sourceTree = BUILT_PRODUCTS_DIR; }; | ||||
| 		33CC10F02044A3C60003C045 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; }; | ||||
| 		33CC10F22044A3C60003C045 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Assets.xcassets; path = Runner/Assets.xcassets; sourceTree = "<group>"; }; | ||||
| 		33CC10F52044A3C60003C045 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/MainMenu.xib; sourceTree = "<group>"; }; | ||||
| @@ -76,8 +80,14 @@ | ||||
| 		33E51913231747F40026EE4D /* DebugProfile.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = DebugProfile.entitlements; sourceTree = "<group>"; }; | ||||
| 		33E51914231749380026EE4D /* Release.entitlements */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.entitlements; path = Release.entitlements; sourceTree = "<group>"; }; | ||||
| 		33E5194F232828860026EE4D /* AppInfo.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = AppInfo.xcconfig; sourceTree = "<group>"; }; | ||||
| 		3793F8988B03A8D2EAECDCBD /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = "<group>"; }; | ||||
| 		4BD0A28F73121D6B6DD462AF /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = "<group>"; }; | ||||
| 		55FB45492936527B3666668F /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; | ||||
| 		7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Release.xcconfig; sourceTree = "<group>"; }; | ||||
| 		8AB030F50C089DAB14480DBD /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = "<group>"; }; | ||||
| 		9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = Debug.xcconfig; sourceTree = "<group>"; }; | ||||
| 		A9258CF6356D15783726DC84 /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = "<group>"; }; | ||||
| 		BA5247A2B03173FDFDFCFF93 /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = "<group>"; }; | ||||
| /* End PBXFileReference section */ | ||||
|  | ||||
| /* Begin PBXFrameworksBuildPhase section */ | ||||
| @@ -85,6 +95,7 @@ | ||||
| 			isa = PBXFrameworksBuildPhase; | ||||
| 			buildActionMask = 2147483647; | ||||
| 			files = ( | ||||
| 				7EA791CAE9710BE5D384F1BB /* Pods_RunnerTests.framework in Frameworks */, | ||||
| 			); | ||||
| 			runOnlyForDeploymentPostprocessing = 0; | ||||
| 		}; | ||||
| @@ -92,12 +103,27 @@ | ||||
| 			isa = PBXFrameworksBuildPhase; | ||||
| 			buildActionMask = 2147483647; | ||||
| 			files = ( | ||||
| 				32E4047D78077CA8C6FE31E6 /* Pods_Runner.framework in Frameworks */, | ||||
| 			); | ||||
| 			runOnlyForDeploymentPostprocessing = 0; | ||||
| 		}; | ||||
| /* End PBXFrameworksBuildPhase section */ | ||||
|  | ||||
| /* Begin PBXGroup section */ | ||||
| 		27286574DE31F9C9A78B355D /* Pods */ = { | ||||
| 			isa = PBXGroup; | ||||
| 			children = ( | ||||
| 				A9258CF6356D15783726DC84 /* Pods-Runner.debug.xcconfig */, | ||||
| 				4BD0A28F73121D6B6DD462AF /* Pods-Runner.release.xcconfig */, | ||||
| 				8AB030F50C089DAB14480DBD /* Pods-Runner.profile.xcconfig */, | ||||
| 				3793F8988B03A8D2EAECDCBD /* Pods-RunnerTests.debug.xcconfig */, | ||||
| 				1B3B8DF79807852D828EBE0C /* Pods-RunnerTests.release.xcconfig */, | ||||
| 				BA5247A2B03173FDFDFCFF93 /* Pods-RunnerTests.profile.xcconfig */, | ||||
| 			); | ||||
| 			name = Pods; | ||||
| 			path = Pods; | ||||
| 			sourceTree = "<group>"; | ||||
| 		}; | ||||
| 		331C80D6294CF71000263BE5 /* RunnerTests */ = { | ||||
| 			isa = PBXGroup; | ||||
| 			children = ( | ||||
| @@ -125,6 +151,7 @@ | ||||
| 				331C80D6294CF71000263BE5 /* RunnerTests */, | ||||
| 				33CC10EE2044A3C60003C045 /* Products */, | ||||
| 				D73912EC22F37F3D000D13A0 /* Frameworks */, | ||||
| 				27286574DE31F9C9A78B355D /* Pods */, | ||||
| 			); | ||||
| 			sourceTree = "<group>"; | ||||
| 		}; | ||||
| @@ -175,6 +202,8 @@ | ||||
| 		D73912EC22F37F3D000D13A0 /* Frameworks */ = { | ||||
| 			isa = PBXGroup; | ||||
| 			children = ( | ||||
| 				2738AEB242CF49091607FEDA /* Pods_Runner.framework */, | ||||
| 				55FB45492936527B3666668F /* Pods_RunnerTests.framework */, | ||||
| 			); | ||||
| 			name = Frameworks; | ||||
| 			sourceTree = "<group>"; | ||||
| @@ -186,6 +215,7 @@ | ||||
| 			isa = PBXNativeTarget; | ||||
| 			buildConfigurationList = 331C80DE294CF71000263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */; | ||||
| 			buildPhases = ( | ||||
| 				291CAD95BC748648C4154147 /* [CP] Check Pods Manifest.lock */, | ||||
| 				331C80D1294CF70F00263BE5 /* Sources */, | ||||
| 				331C80D2294CF70F00263BE5 /* Frameworks */, | ||||
| 				331C80D3294CF70F00263BE5 /* Resources */, | ||||
| @@ -204,11 +234,13 @@ | ||||
| 			isa = PBXNativeTarget; | ||||
| 			buildConfigurationList = 33CC10FB2044A3C60003C045 /* Build configuration list for PBXNativeTarget "Runner" */; | ||||
| 			buildPhases = ( | ||||
| 				C1C3653094F6B3FFFFCFD12B /* [CP] Check Pods Manifest.lock */, | ||||
| 				33CC10E92044A3C60003C045 /* Sources */, | ||||
| 				33CC10EA2044A3C60003C045 /* Frameworks */, | ||||
| 				33CC10EB2044A3C60003C045 /* Resources */, | ||||
| 				33CC110E2044A8840003C045 /* Bundle Framework */, | ||||
| 				3399D490228B24CF009A79C7 /* ShellScript */, | ||||
| 				C5DDC734703B72E778163C68 /* [CP] Embed Pods Frameworks */, | ||||
| 			); | ||||
| 			buildRules = ( | ||||
| 			); | ||||
| @@ -291,6 +323,28 @@ | ||||
| /* End PBXResourcesBuildPhase section */ | ||||
|  | ||||
| /* Begin PBXShellScriptBuildPhase section */ | ||||
| 		291CAD95BC748648C4154147 /* [CP] Check Pods Manifest.lock */ = { | ||||
| 			isa = PBXShellScriptBuildPhase; | ||||
| 			buildActionMask = 2147483647; | ||||
| 			files = ( | ||||
| 			); | ||||
| 			inputFileListPaths = ( | ||||
| 			); | ||||
| 			inputPaths = ( | ||||
| 				"${PODS_PODFILE_DIR_PATH}/Podfile.lock", | ||||
| 				"${PODS_ROOT}/Manifest.lock", | ||||
| 			); | ||||
| 			name = "[CP] Check Pods Manifest.lock"; | ||||
| 			outputFileListPaths = ( | ||||
| 			); | ||||
| 			outputPaths = ( | ||||
| 				"$(DERIVED_FILE_DIR)/Pods-RunnerTests-checkManifestLockResult.txt", | ||||
| 			); | ||||
| 			runOnlyForDeploymentPostprocessing = 0; | ||||
| 			shellPath = /bin/sh; | ||||
| 			shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n    # print error to STDERR\n    echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n    exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; | ||||
| 			showEnvVarsInLog = 0; | ||||
| 		}; | ||||
| 		3399D490228B24CF009A79C7 /* ShellScript */ = { | ||||
| 			isa = PBXShellScriptBuildPhase; | ||||
| 			alwaysOutOfDate = 1; | ||||
| @@ -329,6 +383,45 @@ | ||||
| 			shellPath = /bin/sh; | ||||
| 			shellScript = "\"$FLUTTER_ROOT\"/packages/flutter_tools/bin/macos_assemble.sh && touch Flutter/ephemeral/tripwire"; | ||||
| 		}; | ||||
| 		C1C3653094F6B3FFFFCFD12B /* [CP] Check Pods Manifest.lock */ = { | ||||
| 			isa = PBXShellScriptBuildPhase; | ||||
| 			buildActionMask = 2147483647; | ||||
| 			files = ( | ||||
| 			); | ||||
| 			inputFileListPaths = ( | ||||
| 			); | ||||
| 			inputPaths = ( | ||||
| 				"${PODS_PODFILE_DIR_PATH}/Podfile.lock", | ||||
| 				"${PODS_ROOT}/Manifest.lock", | ||||
| 			); | ||||
| 			name = "[CP] Check Pods Manifest.lock"; | ||||
| 			outputFileListPaths = ( | ||||
| 			); | ||||
| 			outputPaths = ( | ||||
| 				"$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt", | ||||
| 			); | ||||
| 			runOnlyForDeploymentPostprocessing = 0; | ||||
| 			shellPath = /bin/sh; | ||||
| 			shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n    # print error to STDERR\n    echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n    exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; | ||||
| 			showEnvVarsInLog = 0; | ||||
| 		}; | ||||
| 		C5DDC734703B72E778163C68 /* [CP] Embed Pods Frameworks */ = { | ||||
| 			isa = PBXShellScriptBuildPhase; | ||||
| 			buildActionMask = 2147483647; | ||||
| 			files = ( | ||||
| 			); | ||||
| 			inputFileListPaths = ( | ||||
| 				"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-input-files.xcfilelist", | ||||
| 			); | ||||
| 			name = "[CP] Embed Pods Frameworks"; | ||||
| 			outputFileListPaths = ( | ||||
| 				"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-output-files.xcfilelist", | ||||
| 			); | ||||
| 			runOnlyForDeploymentPostprocessing = 0; | ||||
| 			shellPath = /bin/sh; | ||||
| 			shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n"; | ||||
| 			showEnvVarsInLog = 0; | ||||
| 		}; | ||||
| /* End PBXShellScriptBuildPhase section */ | ||||
|  | ||||
| /* Begin PBXSourcesBuildPhase section */ | ||||
| @@ -380,6 +473,7 @@ | ||||
| /* Begin XCBuildConfiguration section */ | ||||
| 		331C80DB294CF71000263BE5 /* Debug */ = { | ||||
| 			isa = XCBuildConfiguration; | ||||
| 			baseConfigurationReference = 3793F8988B03A8D2EAECDCBD /* Pods-RunnerTests.debug.xcconfig */; | ||||
| 			buildSettings = { | ||||
| 				BUNDLE_LOADER = "$(TEST_HOST)"; | ||||
| 				CURRENT_PROJECT_VERSION = 1; | ||||
| @@ -394,6 +488,7 @@ | ||||
| 		}; | ||||
| 		331C80DC294CF71000263BE5 /* Release */ = { | ||||
| 			isa = XCBuildConfiguration; | ||||
| 			baseConfigurationReference = 1B3B8DF79807852D828EBE0C /* Pods-RunnerTests.release.xcconfig */; | ||||
| 			buildSettings = { | ||||
| 				BUNDLE_LOADER = "$(TEST_HOST)"; | ||||
| 				CURRENT_PROJECT_VERSION = 1; | ||||
| @@ -408,6 +503,7 @@ | ||||
| 		}; | ||||
| 		331C80DD294CF71000263BE5 /* Profile */ = { | ||||
| 			isa = XCBuildConfiguration; | ||||
| 			baseConfigurationReference = BA5247A2B03173FDFDFCFF93 /* Pods-RunnerTests.profile.xcconfig */; | ||||
| 			buildSettings = { | ||||
| 				BUNDLE_LOADER = "$(TEST_HOST)"; | ||||
| 				CURRENT_PROJECT_VERSION = 1; | ||||
|   | ||||
| @@ -4,4 +4,7 @@ | ||||
|    <FileRef | ||||
|       location = "group:Runner.xcodeproj"> | ||||
|    </FileRef> | ||||
|    <FileRef | ||||
|       location = "group:Pods/Pods.xcodeproj"> | ||||
|    </FileRef> | ||||
| </Workspace> | ||||
|   | ||||
| @@ -256,6 +256,14 @@ packages: | ||||
|     description: flutter | ||||
|     source: sdk | ||||
|     version: "0.0.0" | ||||
|   font_awesome_flutter: | ||||
|     dependency: "direct main" | ||||
|     description: | ||||
|       name: font_awesome_flutter | ||||
|       sha256: "275ff26905134bcb59417cf60ad979136f1f8257f2f449914b2c3e05bbb4cd6f" | ||||
|       url: "https://pub.dev" | ||||
|     source: hosted | ||||
|     version: "10.7.0" | ||||
|   get: | ||||
|     dependency: "direct main" | ||||
|     description: | ||||
|   | ||||
| @@ -51,6 +51,7 @@ dependencies: | ||||
|   path: ^1.9.0 | ||||
|   intl: ^0.19.0 | ||||
|   image: ^4.1.7 | ||||
|   font_awesome_flutter: ^10.7.0 | ||||
|  | ||||
| dev_dependencies: | ||||
|   flutter_test: | ||||
|   | ||||
		Reference in New Issue
	
	Block a user