From a8628b95bf4a48d06712c937efc2466db5324cd8 Mon Sep 17 00:00:00 2001 From: Hugo L Date: Thu, 2 Jun 2022 18:03:39 +0800 Subject: [PATCH] chore: update dark UI of red-pakcet creation --- Maskbook.xcodeproj/project.pbxproj | 136 +++++++++--------- .../SwiftUI/SwiftUI+Placeholder.swift | 14 ++ .../Icon/Arrows/down1.imageset/Contents.json | 10 ++ .../Icon/Arrows/down1.imageset/Frame 2291.pdf | Bin 0 -> 1067 bytes .../LuckyDrop/lock.imageset/Contents.json | 10 ++ .../LuckyDrop/lock.imageset/Lock-1.pdf | Bin 0 -> 2075 bytes .../LuckyDrop/share.imageset/Contents.json | 10 ++ .../LuckyDrop/share.imageset/share-1.pdf | Bin 0 -> 18733 bytes .../App/RedPacket/View/LuckyDropTokens.swift | 37 ++++- 9 files changed, 145 insertions(+), 72 deletions(-) create mode 100644 Maskbook/Extension/SwiftUI/SwiftUI+Placeholder.swift create mode 100644 Maskbook/Resources/Assets.xcassets/Icon/Arrows/down1.imageset/Frame 2291.pdf create mode 100644 Maskbook/Resources/Assets.xcassets/Plugins/LuckyDrop/lock.imageset/Lock-1.pdf create mode 100644 Maskbook/Resources/Assets.xcassets/Plugins/LuckyDrop/share.imageset/share-1.pdf diff --git a/Maskbook.xcodeproj/project.pbxproj b/Maskbook.xcodeproj/project.pbxproj index 3c1bdf1d..c14f2493 100644 --- a/Maskbook.xcodeproj/project.pbxproj +++ b/Maskbook.xcodeproj/project.pbxproj @@ -263,6 +263,7 @@ 2AD31E6E282D367700CB3D49 /* Date+Compare.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2AD31E43282D367700CB3D49 /* Date+Compare.swift */; }; 2AD31E6F282D367700CB3D49 /* String+Hex.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2AD31E44282D367700CB3D49 /* String+Hex.swift */; }; 2AD31E70282D367700CB3D49 /* AVCaptureVideoOrientation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2AD31E45282D367700CB3D49 /* AVCaptureVideoOrientation.swift */; }; + 2AD589B82848C22900CF8C9B /* SwiftUI+Placeholder.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2AD589B72848C22900CF8C9B /* SwiftUI+Placeholder.swift */; }; 2AD854F5281281B50064DDA5 /* DAppService.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2AD854F4281281B50064DDA5 /* DAppService.swift */; }; 2AD854F8281282190064DDA5 /* PluginStorage+CoreDataProperties.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2AD854F6281282180064DDA5 /* PluginStorage+CoreDataProperties.swift */; }; 2AD854F9281282190064DDA5 /* PluginStorage+CoreDataClass.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2AD854F7281282190064DDA5 /* PluginStorage+CoreDataClass.swift */; }; @@ -605,7 +606,6 @@ 2DEDDEA82761ED7000D37A76 /* WalletConnectSession+CoreDataClass.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2DEDDEA62761ED7000D37A76 /* WalletConnectSession+CoreDataClass.swift */; }; 2DEDDEA92761ED7000D37A76 /* WalletConnectSession+CoreDataProperties.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2DEDDEA72761ED7000D37A76 /* WalletConnectSession+CoreDataProperties.swift */; }; 2DEDDEAB2761EE7900D37A76 /* MaskClientMeta.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2DEDDEAA2761EE7900D37A76 /* MaskClientMeta.swift */; }; - 3F9983FA1C0F257848376B9F /* Pods_MaskbookTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = ACD6BC9A0B57AEC17C85CB20 /* Pods_MaskbookTests.framework */; }; 4156689327A53BA70051E0E7 /* ShareLinkGenerator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4156689227A53BA70051E0E7 /* ShareLinkGenerator.swift */; }; 4156689527A68B770051E0E7 /* JsonWebKey.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4156689427A68B770051E0E7 /* JsonWebKey.swift */; }; 4168635327F434AE00F12DB2 /* BackupPreviewGenerator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4168635227F434AE00F12DB2 /* BackupPreviewGenerator.swift */; }; @@ -711,6 +711,8 @@ 6FA623AD26D4C4630091FDFF /* NFTAssetEventsModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6FA623AC26D4C4630091FDFF /* NFTAssetEventsModel.swift */; }; 6FA623AF26D4D0540091FDFF /* NFTTransactionHistory.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6FA623AE26D4D0540091FDFF /* NFTTransactionHistory.swift */; }; 6FE12922283FB4A50034A8EB /* NativeComposeButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6FE12921283FB4A50034A8EB /* NativeComposeButton.swift */; }; + 8400ED6AB1B2A67C3EC3E610 /* Pods_MaskWalletTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 23BD16DA0358C0BF3EFB0A90 /* Pods_MaskWalletTests.framework */; }; + CDD837F244786450DE5B1618 /* Pods_MaskbookTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B1FEE81EA8E85DFBBA3A80E3 /* Pods_MaskbookTests.framework */; }; DB0B3A5D240F60AE00B1657D /* Coordinator.swift in Sources */ = {isa = PBXBuildFile; fileRef = DB0B3A5C240F60AE00B1657D /* Coordinator.swift */; }; DB9FF4932416477F0048E676 /* Fonts.swift in Sources */ = {isa = PBXBuildFile; fileRef = DB9FF4922416477F0048E676 /* Fonts.swift */; }; DBAAF49522C35A7100017594 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = DBAAF49422C35A7100017594 /* AppDelegate.swift */; }; @@ -719,8 +721,7 @@ DBAAF49F22C35A7100017594 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = DBAAF49D22C35A7100017594 /* LaunchScreen.storyboard */; }; DBAAF4AA22C35A7100017594 /* MaskbookTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = DBAAF4A922C35A7100017594 /* MaskbookTests.swift */; }; DBE99E362367DEA6000473BD /* Settings.bundle in Resources */ = {isa = PBXBuildFile; fileRef = DBE99E352367DEA6000473BD /* Settings.bundle */; }; - E9164FF9A54AB56C3DB10859 /* Pods_MaskWalletTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 71F9B4FED2F393EE24D39407 /* Pods_MaskWalletTests.framework */; }; - F99496AB006B070540C4CA17 /* Pods_Maskbook.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B7696E2AE572CA0222EAA3D2 /* Pods_Maskbook.framework */; }; + EDA43265D4147F0CB55E78F7 /* Pods_Maskbook.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DEBD02C629AAD6156A63DAE9 /* Pods_Maskbook.framework */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -920,6 +921,8 @@ 1FEE1EA72784508A00697F81 /* EthereumTransaction+Signing.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "EthereumTransaction+Signing.swift"; sourceTree = ""; }; 1FEE1EA927845CEF00697F81 /* TransactionOptions+Address.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "TransactionOptions+Address.swift"; sourceTree = ""; }; 1FEE1EAB27845E1F00697F81 /* Web3+signTX.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Web3+signTX.swift"; sourceTree = ""; }; + 23BD16DA0358C0BF3EFB0A90 /* Pods_MaskWalletTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_MaskWalletTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 26FEFAF01E29D5761D5C04C3 /* Pods-MaskWalletTests.release touchpreview.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-MaskWalletTests.release touchpreview.xcconfig"; path = "Target Support Files/Pods-MaskWalletTests/Pods-MaskWalletTests.release touchpreview.xcconfig"; sourceTree = ""; }; 2A0C16AE2666713D0085524E /* StoredKeyImportType.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StoredKeyImportType.swift; sourceTree = ""; }; 2A18E7FA266C9D210045BC88 /* AvatarView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AvatarView.swift; sourceTree = ""; }; 2A2B4EE527E8D1850097D50D /* ABIContract.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ABIContract.swift; sourceTree = ""; }; @@ -1048,6 +1051,7 @@ 2AD31E43282D367700CB3D49 /* Date+Compare.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "Date+Compare.swift"; sourceTree = ""; }; 2AD31E44282D367700CB3D49 /* String+Hex.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "String+Hex.swift"; sourceTree = ""; }; 2AD31E45282D367700CB3D49 /* AVCaptureVideoOrientation.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AVCaptureVideoOrientation.swift; sourceTree = ""; }; + 2AD589B72848C22900CF8C9B /* SwiftUI+Placeholder.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "SwiftUI+Placeholder.swift"; sourceTree = ""; }; 2AD854F4281281B50064DDA5 /* DAppService.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = DAppService.swift; sourceTree = ""; }; 2AD854F6281282180064DDA5 /* PluginStorage+CoreDataProperties.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "PluginStorage+CoreDataProperties.swift"; sourceTree = ""; }; 2AD854F7281282190064DDA5 /* PluginStorage+CoreDataClass.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "PluginStorage+CoreDataClass.swift"; sourceTree = ""; }; @@ -1345,6 +1349,7 @@ 2AF884B3271EE9300004565A /* ScannerViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ScannerViewController.swift; sourceTree = ""; }; 2AF884B5271EE9300004565A /* DownloadMaskActivity.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = DownloadMaskActivity.swift; sourceTree = ""; }; 2AFBEDE426E61D6400BD77B7 /* LoadingWithTextController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LoadingWithTextController.swift; sourceTree = ""; }; + 2C4F092949743A039DE14F5C /* Pods-MaskbookTests.release touchpreview.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-MaskbookTests.release touchpreview.xcconfig"; path = "Target Support Files/Pods-MaskbookTests/Pods-MaskbookTests.release touchpreview.xcconfig"; sourceTree = ""; }; 2D00A5FD27953F2D0082E693 /* DebugEntryView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DebugEntryView.swift; sourceTree = ""; }; 2D00A5FF279546C80082E693 /* DebugControl.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DebugControl.swift; sourceTree = ""; }; 2D11F03D27894A58002CE232 /* ConnectSocialView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ConnectSocialView.swift; sourceTree = ""; }; @@ -1390,7 +1395,7 @@ 2DEDDEA62761ED7000D37A76 /* WalletConnectSession+CoreDataClass.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "WalletConnectSession+CoreDataClass.swift"; sourceTree = ""; }; 2DEDDEA72761ED7000D37A76 /* WalletConnectSession+CoreDataProperties.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "WalletConnectSession+CoreDataProperties.swift"; sourceTree = ""; }; 2DEDDEAA2761EE7900D37A76 /* MaskClientMeta.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MaskClientMeta.swift; sourceTree = ""; }; - 3325ED69482210F30CB3A812 /* Pods-Maskbook.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Maskbook.release.xcconfig"; path = "Target Support Files/Pods-Maskbook/Pods-Maskbook.release.xcconfig"; sourceTree = ""; }; + 38EDB00BEE146CBE1A4FD713 /* Pods-MaskbookTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-MaskbookTests.release.xcconfig"; path = "Target Support Files/Pods-MaskbookTests/Pods-MaskbookTests.release.xcconfig"; sourceTree = ""; }; 4156689227A53BA70051E0E7 /* ShareLinkGenerator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ShareLinkGenerator.swift; sourceTree = ""; }; 4156689427A68B770051E0E7 /* JsonWebKey.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = JsonWebKey.swift; sourceTree = ""; }; 4168635227F434AE00F12DB2 /* BackupPreviewGenerator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BackupPreviewGenerator.swift; sourceTree = ""; }; @@ -1418,7 +1423,8 @@ 41E50049279BFB3600A73117 /* RelationRepository.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RelationRepository.swift; sourceTree = ""; }; 41E5004B279C319C00A73117 /* Relation.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Relation.swift; sourceTree = ""; }; 41E5004D27A11AFF00A73117 /* WebPublicApiMessageResolver+Plugins.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "WebPublicApiMessageResolver+Plugins.swift"; sourceTree = ""; }; - 54F9D6879104E04369F575AD /* Pods-MaskbookTests.release touchpreview.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-MaskbookTests.release touchpreview.xcconfig"; path = "Target Support Files/Pods-MaskbookTests/Pods-MaskbookTests.release touchpreview.xcconfig"; sourceTree = ""; }; + 4F2B4D7738ECEB76E066BF9C /* Pods-MaskWalletTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-MaskWalletTests.release.xcconfig"; path = "Target Support Files/Pods-MaskWalletTests/Pods-MaskWalletTests.release.xcconfig"; sourceTree = ""; }; + 4FA17A2D1D8FFCF11B73F4BE /* Pods-Maskbook.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Maskbook.debug.xcconfig"; path = "Target Support Files/Pods-Maskbook/Pods-Maskbook.debug.xcconfig"; sourceTree = ""; }; 5D069E0A27A16E2800054B4A /* TertiaryButton.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TertiaryButton.swift; sourceTree = ""; }; 5D0ADACC28363E2D0022D5BD /* MessageComposeView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MessageComposeView.swift; sourceTree = ""; }; 5D0ADACD28363E2D0022D5BD /* MessageComposeViewModel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MessageComposeViewModel.swift; sourceTree = ""; }; @@ -1470,7 +1476,7 @@ 5DE5E53B27E468B400F2B62A /* PersonaAvatarActionViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PersonaAvatarActionViewModel.swift; sourceTree = ""; }; 5DF07E0B27FD9CA400BECF15 /* ContactEmptyView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ContactEmptyView.swift; sourceTree = ""; }; 5DF1C30A27DA33EB003F26C1 /* FixUITableView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FixUITableView.swift; sourceTree = ""; }; - 60A08C2D5B41329FAEC31D33 /* Pods-MaskWalletTests.release touchpreview.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-MaskWalletTests.release touchpreview.xcconfig"; path = "Target Support Files/Pods-MaskWalletTests/Pods-MaskWalletTests.release touchpreview.xcconfig"; sourceTree = ""; }; + 68890DD0D41F3FA5AB78B97A /* Pods-Maskbook.release touchpreview.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Maskbook.release touchpreview.xcconfig"; path = "Target Support Files/Pods-Maskbook/Pods-Maskbook.release touchpreview.xcconfig"; sourceTree = ""; }; 6F07ABE0279022B80039D69D /* NFTCollectionStatusModel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NFTCollectionStatusModel.swift; sourceTree = ""; }; 6F07ABE2279027E70039D69D /* NFTAssetPriceModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NFTAssetPriceModel.swift; sourceTree = ""; }; 6F07ABE4279697450039D69D /* NFTCollectionDetailTableViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NFTCollectionDetailTableViewCell.swift; sourceTree = ""; }; @@ -1494,14 +1500,9 @@ 6FA623AC26D4C4630091FDFF /* NFTAssetEventsModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NFTAssetEventsModel.swift; sourceTree = ""; }; 6FA623AE26D4D0540091FDFF /* NFTTransactionHistory.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NFTTransactionHistory.swift; sourceTree = ""; }; 6FE12921283FB4A50034A8EB /* NativeComposeButton.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NativeComposeButton.swift; sourceTree = ""; }; - 71F9B4FED2F393EE24D39407 /* Pods_MaskWalletTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_MaskWalletTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 7FEC4033AB36865BF4B029B1 /* Pods-Maskbook.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Maskbook.debug.xcconfig"; path = "Target Support Files/Pods-Maskbook/Pods-Maskbook.debug.xcconfig"; sourceTree = ""; }; - 89260980FE23BA1CE785F2BD /* Pods-Maskbook.release touchpreview.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Maskbook.release touchpreview.xcconfig"; path = "Target Support Files/Pods-Maskbook/Pods-Maskbook.release touchpreview.xcconfig"; sourceTree = ""; }; - 90E2F3405052FB0C97F25D96 /* Pods-MaskbookTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-MaskbookTests.debug.xcconfig"; path = "Target Support Files/Pods-MaskbookTests/Pods-MaskbookTests.debug.xcconfig"; sourceTree = ""; }; - ACD6BC9A0B57AEC17C85CB20 /* Pods_MaskbookTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_MaskbookTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - B7696E2AE572CA0222EAA3D2 /* Pods_Maskbook.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Maskbook.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - D0F76EB884B0D430AF221C4F /* Pods-MaskWalletTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-MaskWalletTests.debug.xcconfig"; path = "Target Support Files/Pods-MaskWalletTests/Pods-MaskWalletTests.debug.xcconfig"; sourceTree = ""; }; - D0FB4EB87D32B3EE6BBF21DE /* Pods-MaskWalletTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-MaskWalletTests.release.xcconfig"; path = "Target Support Files/Pods-MaskWalletTests/Pods-MaskWalletTests.release.xcconfig"; sourceTree = ""; }; + 92CD9AEF4F07E3F62F99D022 /* Pods-Maskbook.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Maskbook.release.xcconfig"; path = "Target Support Files/Pods-Maskbook/Pods-Maskbook.release.xcconfig"; sourceTree = ""; }; + B0621415731D01571185F91F /* Pods-MaskWalletTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-MaskWalletTests.debug.xcconfig"; path = "Target Support Files/Pods-MaskWalletTests/Pods-MaskWalletTests.debug.xcconfig"; sourceTree = ""; }; + B1FEE81EA8E85DFBBA3A80E3 /* Pods_MaskbookTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_MaskbookTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; DB0B3A5C240F60AE00B1657D /* Coordinator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Coordinator.swift; sourceTree = ""; }; DB9FF4922416477F0048E676 /* Fonts.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Fonts.swift; sourceTree = ""; }; DBAAF49122C35A7100017594 /* Maskbook.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Maskbook.app; sourceTree = BUILT_PRODUCTS_DIR; }; @@ -1515,7 +1516,8 @@ DBAAF4AB22C35A7100017594 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; DBD9A51022EEE20A00C5D65F /* Maskbook.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = Maskbook.entitlements; sourceTree = ""; }; DBE99E352367DEA6000473BD /* Settings.bundle */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.plug-in"; path = Settings.bundle; sourceTree = ""; }; - FDB4FA7837D5B22AF275E217 /* Pods-MaskbookTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-MaskbookTests.release.xcconfig"; path = "Target Support Files/Pods-MaskbookTests/Pods-MaskbookTests.release.xcconfig"; sourceTree = ""; }; + DEBD02C629AAD6156A63DAE9 /* Pods_Maskbook.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Maskbook.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + EE5A5B4EBBC21A77DF056F03 /* Pods-MaskbookTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-MaskbookTests.debug.xcconfig"; path = "Target Support Files/Pods-MaskbookTests/Pods-MaskbookTests.debug.xcconfig"; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -1523,7 +1525,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - E9164FF9A54AB56C3DB10859 /* Pods_MaskWalletTests.framework in Frameworks */, + 8400ED6AB1B2A67C3EC3E610 /* Pods_MaskWalletTests.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1546,7 +1548,7 @@ buildActionMask = 2147483647; files = ( 0FACA3B52671F31E00CB8AC0 /* CoreDataStack.framework in Frameworks */, - F99496AB006B070540C4CA17 /* Pods_Maskbook.framework in Frameworks */, + EDA43265D4147F0CB55E78F7 /* Pods_Maskbook.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1554,7 +1556,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 3F9983FA1C0F257848376B9F /* Pods_MaskbookTests.framework in Frameworks */, + CDD837F244786450DE5B1618 /* Pods_MaskbookTests.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -2357,6 +2359,7 @@ 2AD85561281284940064DDA5 /* SwiftUI+Text.swift */, 2AD85562281284940064DDA5 /* SwiftUI+Asset.swift */, 2AD85563281284940064DDA5 /* SwiftUI+Color.swift */, + 2AD589B72848C22900CF8C9B /* SwiftUI+Placeholder.swift */, 1FD91A912845BD57000766FB /* SwiftUI+Focused.swift */, ); path = SwiftUI; @@ -3731,25 +3734,25 @@ BC9663EAA57A6064887B02A8 /* Pods */ = { isa = PBXGroup; children = ( - D0F76EB884B0D430AF221C4F /* Pods-MaskWalletTests.debug.xcconfig */, - D0FB4EB87D32B3EE6BBF21DE /* Pods-MaskWalletTests.release.xcconfig */, - 60A08C2D5B41329FAEC31D33 /* Pods-MaskWalletTests.release touchpreview.xcconfig */, - 7FEC4033AB36865BF4B029B1 /* Pods-Maskbook.debug.xcconfig */, - 3325ED69482210F30CB3A812 /* Pods-Maskbook.release.xcconfig */, - 89260980FE23BA1CE785F2BD /* Pods-Maskbook.release touchpreview.xcconfig */, - 90E2F3405052FB0C97F25D96 /* Pods-MaskbookTests.debug.xcconfig */, - FDB4FA7837D5B22AF275E217 /* Pods-MaskbookTests.release.xcconfig */, - 54F9D6879104E04369F575AD /* Pods-MaskbookTests.release touchpreview.xcconfig */, + B0621415731D01571185F91F /* Pods-MaskWalletTests.debug.xcconfig */, + 4F2B4D7738ECEB76E066BF9C /* Pods-MaskWalletTests.release.xcconfig */, + 26FEFAF01E29D5761D5C04C3 /* Pods-MaskWalletTests.release touchpreview.xcconfig */, + 4FA17A2D1D8FFCF11B73F4BE /* Pods-Maskbook.debug.xcconfig */, + 92CD9AEF4F07E3F62F99D022 /* Pods-Maskbook.release.xcconfig */, + 68890DD0D41F3FA5AB78B97A /* Pods-Maskbook.release touchpreview.xcconfig */, + EE5A5B4EBBC21A77DF056F03 /* Pods-MaskbookTests.debug.xcconfig */, + 38EDB00BEE146CBE1A4FD713 /* Pods-MaskbookTests.release.xcconfig */, + 2C4F092949743A039DE14F5C /* Pods-MaskbookTests.release touchpreview.xcconfig */, ); path = Pods; sourceTree = ""; }; - D313793FC89C609E16C0572D /* Frameworks */ = { + C52FBCEE1E3DCB9CB7FBA8CE /* Frameworks */ = { isa = PBXGroup; children = ( - 71F9B4FED2F393EE24D39407 /* Pods_MaskWalletTests.framework */, - B7696E2AE572CA0222EAA3D2 /* Pods_Maskbook.framework */, - ACD6BC9A0B57AEC17C85CB20 /* Pods_MaskbookTests.framework */, + 23BD16DA0358C0BF3EFB0A90 /* Pods_MaskWalletTests.framework */, + DEBD02C629AAD6156A63DAE9 /* Pods_Maskbook.framework */, + B1FEE81EA8E85DFBBA3A80E3 /* Pods_MaskbookTests.framework */, ); name = Frameworks; sourceTree = ""; @@ -3765,7 +3768,7 @@ 0FFB22492654E972005CAFFA /* CoreDataStackTests */, DBAAF49222C35A7100017594 /* Products */, BC9663EAA57A6064887B02A8 /* Pods */, - D313793FC89C609E16C0572D /* Frameworks */, + C52FBCEE1E3DCB9CB7FBA8CE /* Frameworks */, ); sourceTree = ""; }; @@ -3875,7 +3878,7 @@ isa = PBXNativeTarget; buildConfigurationList = 0F41A047260B1820000037B2 /* Build configuration list for PBXNativeTarget "MaskWalletTests" */; buildPhases = ( - 013277FAC0F66ABDA729C698 /* [CP] Check Pods Manifest.lock */, + C2D52D66C36BE7F7C01B4CD9 /* [CP] Check Pods Manifest.lock */, 0F41A03C260B1820000037B2 /* Sources */, 0F41A03D260B1820000037B2 /* Frameworks */, 0F41A03E260B1820000037B2 /* Resources */, @@ -3931,13 +3934,13 @@ isa = PBXNativeTarget; buildConfigurationList = DBAAF4AE22C35A7100017594 /* Build configuration list for PBXNativeTarget "Maskbook" */; buildPhases = ( - 611B884CE6CAD587C66A3C3C /* [CP] Check Pods Manifest.lock */, + E6B9985EB3011215F6E3CB58 /* [CP] Check Pods Manifest.lock */, 0F83264226E8B18B00BF949B /* ShellScript */, DBAAF48D22C35A7100017594 /* Sources */, DBAAF48E22C35A7100017594 /* Frameworks */, DBAAF48F22C35A7100017594 /* Resources */, 0FFB22562654E972005CAFFA /* Embed Frameworks */, - 64BE0153B081CDF15574F2E4 /* [CP] Embed Pods Frameworks */, + 12394A346C90F713F5808B39 /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); @@ -3954,7 +3957,7 @@ isa = PBXNativeTarget; buildConfigurationList = DBAAF4B122C35A7100017594 /* Build configuration list for PBXNativeTarget "MaskbookTests" */; buildPhases = ( - 2E714D2B3D221BB3A16B6165 /* [CP] Check Pods Manifest.lock */, + 78A110D48C6BC19A702AE4E1 /* [CP] Check Pods Manifest.lock */, DBAAF4A122C35A7100017594 /* Sources */, DBAAF4A222C35A7100017594 /* Frameworks */, DBAAF4A322C35A7100017594 /* Resources */, @@ -4080,7 +4083,7 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ - 013277FAC0F66ABDA729C698 /* [CP] Check Pods Manifest.lock */ = { + 0F83264226E8B18B00BF949B /* ShellScript */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -4088,38 +4091,33 @@ inputFileListPaths = ( ); inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", ); - name = "[CP] Check Pods Manifest.lock"; outputFileListPaths = ( ); outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-MaskWalletTests-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; + shellScript = "# Type a script or drag a script file from your workspace to insert its path.\n$PODS_ROOT/SwiftGen/bin/swiftgen\n"; }; - 0F83264226E8B18B00BF949B /* ShellScript */ = { + 12394A346C90F713F5808B39 /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Maskbook/Pods-Maskbook-frameworks-${CONFIGURATION}-input-files.xcfilelist", ); - inputPaths = ( - ); + name = "[CP] Embed Pods Frameworks"; outputFileListPaths = ( - ); - outputPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Maskbook/Pods-Maskbook-frameworks-${CONFIGURATION}-output-files.xcfilelist", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "# Type a script or drag a script file from your workspace to insert its path.\n$PODS_ROOT/SwiftGen/bin/swiftgen\n"; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Maskbook/Pods-Maskbook-frameworks.sh\"\n"; + showEnvVarsInLog = 0; }; - 2E714D2B3D221BB3A16B6165 /* [CP] Check Pods Manifest.lock */ = { + 78A110D48C6BC19A702AE4E1 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -4141,7 +4139,7 @@ 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; }; - 611B884CE6CAD587C66A3C3C /* [CP] Check Pods Manifest.lock */ = { + C2D52D66C36BE7F7C01B4CD9 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -4156,28 +4154,33 @@ outputFileListPaths = ( ); outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-Maskbook-checkManifestLockResult.txt", + "$(DERIVED_FILE_DIR)/Pods-MaskWalletTests-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; }; - 64BE0153B081CDF15574F2E4 /* [CP] Embed Pods Frameworks */ = { + E6B9985EB3011215F6E3CB58 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Maskbook/Pods-Maskbook-frameworks-${CONFIGURATION}-input-files.xcfilelist", ); - name = "[CP] Embed Pods Frameworks"; + inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", + ); + name = "[CP] Check Pods Manifest.lock"; outputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Maskbook/Pods-Maskbook-frameworks-${CONFIGURATION}-output-files.xcfilelist", + ); + outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-Maskbook-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Maskbook/Pods-Maskbook-frameworks.sh\"\n"; + 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; }; /* End PBXShellScriptBuildPhase section */ @@ -4647,6 +4650,7 @@ 1FE54D5A269C19C10041C742 /* WalletCoreRequest.swift in Sources */, 2AD31E6C282D367700CB3D49 /* UserDefaults.swift in Sources */, 2AD855282812841C0064DDA5 /* WalletBottomWidgetViewModel.swift in Sources */, + 2AD589B82848C22900CF8C9B /* SwiftUI+Placeholder.swift in Sources */, 5D0ADACF28363E2D0022D5BD /* MessageComposeView.swift in Sources */, 2AF88504271EE9310004565A /* ProfileSocialPlatform+extension.swift in Sources */, 2AF88513271EE9310004565A /* WalletDetailViewModel.swift in Sources */, @@ -4991,7 +4995,7 @@ /* Begin XCBuildConfiguration section */ 0F41A048260B1820000037B2 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = D0F76EB884B0D430AF221C4F /* Pods-MaskWalletTests.debug.xcconfig */; + baseConfigurationReference = B0621415731D01571185F91F /* Pods-MaskWalletTests.debug.xcconfig */; buildSettings = { ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = "$(inherited)"; BUNDLE_LOADER = "$(TEST_HOST)"; @@ -5015,7 +5019,7 @@ }; 0F41A049260B1820000037B2 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = D0FB4EB87D32B3EE6BBF21DE /* Pods-MaskWalletTests.release.xcconfig */; + baseConfigurationReference = 4F2B4D7738ECEB76E066BF9C /* Pods-MaskWalletTests.release.xcconfig */; buildSettings = { ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = "$(inherited)"; BUNDLE_LOADER = "$(TEST_HOST)"; @@ -5039,7 +5043,7 @@ }; 0F41A04A260B1820000037B2 /* Release TouchPreview */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 60A08C2D5B41329FAEC31D33 /* Pods-MaskWalletTests.release touchpreview.xcconfig */; + baseConfigurationReference = 26FEFAF01E29D5761D5C04C3 /* Pods-MaskWalletTests.release touchpreview.xcconfig */; buildSettings = { ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = "$(inherited)"; BUNDLE_LOADER = "$(TEST_HOST)"; @@ -5292,7 +5296,7 @@ }; DB9FF4A22417BC9B0048E676 /* Release TouchPreview */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 89260980FE23BA1CE785F2BD /* Pods-Maskbook.release touchpreview.xcconfig */; + baseConfigurationReference = 68890DD0D41F3FA5AB78B97A /* Pods-Maskbook.release touchpreview.xcconfig */; buildSettings = { ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = "$(inherited)"; ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; @@ -5359,7 +5363,7 @@ }; DB9FF4A32417BC9B0048E676 /* Release TouchPreview */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 54F9D6879104E04369F575AD /* Pods-MaskbookTests.release touchpreview.xcconfig */; + baseConfigurationReference = 2C4F092949743A039DE14F5C /* Pods-MaskbookTests.release touchpreview.xcconfig */; buildSettings = { ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = "$(inherited)"; BUNDLE_LOADER = "$(TEST_HOST)"; @@ -5506,7 +5510,7 @@ }; DBAAF4AF22C35A7100017594 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 7FEC4033AB36865BF4B029B1 /* Pods-Maskbook.debug.xcconfig */; + baseConfigurationReference = 4FA17A2D1D8FFCF11B73F4BE /* Pods-Maskbook.debug.xcconfig */; buildSettings = { ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = "$(inherited)"; ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; @@ -5573,7 +5577,7 @@ }; DBAAF4B022C35A7100017594 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 3325ED69482210F30CB3A812 /* Pods-Maskbook.release.xcconfig */; + baseConfigurationReference = 92CD9AEF4F07E3F62F99D022 /* Pods-Maskbook.release.xcconfig */; buildSettings = { ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = "$(inherited)"; ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; @@ -5642,7 +5646,7 @@ }; DBAAF4B222C35A7100017594 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 90E2F3405052FB0C97F25D96 /* Pods-MaskbookTests.debug.xcconfig */; + baseConfigurationReference = EE5A5B4EBBC21A77DF056F03 /* Pods-MaskbookTests.debug.xcconfig */; buildSettings = { ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = "$(inherited)"; BUNDLE_LOADER = "$(TEST_HOST)"; @@ -5665,7 +5669,7 @@ }; DBAAF4B322C35A7100017594 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = FDB4FA7837D5B22AF275E217 /* Pods-MaskbookTests.release.xcconfig */; + baseConfigurationReference = 38EDB00BEE146CBE1A4FD713 /* Pods-MaskbookTests.release.xcconfig */; buildSettings = { ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = "$(inherited)"; BUNDLE_LOADER = "$(TEST_HOST)"; diff --git a/Maskbook/Extension/SwiftUI/SwiftUI+Placeholder.swift b/Maskbook/Extension/SwiftUI/SwiftUI+Placeholder.swift new file mode 100644 index 00000000..03e0b9de --- /dev/null +++ b/Maskbook/Extension/SwiftUI/SwiftUI+Placeholder.swift @@ -0,0 +1,14 @@ +import SwiftUI + +extension View { + func placeholder( + when shouldShow: Bool, + alignment: Alignment = .leading, + @ViewBuilder placeholder: () -> Content) -> some View { + + ZStack(alignment: alignment) { + placeholder().opacity(shouldShow ? 1 : 0) + self + } + } +} diff --git a/Maskbook/Resources/Assets.xcassets/Icon/Arrows/down1.imageset/Contents.json b/Maskbook/Resources/Assets.xcassets/Icon/Arrows/down1.imageset/Contents.json index 98dc4e14..28602429 100644 --- a/Maskbook/Resources/Assets.xcassets/Icon/Arrows/down1.imageset/Contents.json +++ b/Maskbook/Resources/Assets.xcassets/Icon/Arrows/down1.imageset/Contents.json @@ -3,6 +3,16 @@ { "filename" : "drop.pdf", "idiom" : "universal" + }, + { + "appearances" : [ + { + "appearance" : "luminosity", + "value" : "dark" + } + ], + "filename" : "Frame 2291.pdf", + "idiom" : "universal" } ], "info" : { diff --git a/Maskbook/Resources/Assets.xcassets/Icon/Arrows/down1.imageset/Frame 2291.pdf b/Maskbook/Resources/Assets.xcassets/Icon/Arrows/down1.imageset/Frame 2291.pdf new file mode 100644 index 0000000000000000000000000000000000000000..ede50caa5986e994f06399c79a4ac9c0a29a30e7 GIT binary patch literal 1067 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 F{|gR*QEC7H literal 0 HcmV?d00001 diff --git a/Maskbook/Scene/App/RedPacket/View/LuckyDropTokens.swift b/Maskbook/Scene/App/RedPacket/View/LuckyDropTokens.swift index 869178aa..78887db2 100644 --- a/Maskbook/Scene/App/RedPacket/View/LuckyDropTokens.swift +++ b/Maskbook/Scene/App/RedPacket/View/LuckyDropTokens.swift @@ -63,7 +63,6 @@ struct LuckyDropTokens: View { if let url = viewModel.tokenURL { KFImage(url) .cancelOnDisappear(true) - .loadImmediately() .resizable() .aspectRatio(contentMode: .fit) .frame(width: 24) @@ -87,7 +86,14 @@ struct LuckyDropTokens: View { } .disabled(!viewModel.maxButtonEnable) Spacer() - TextField(viewModel.amountPlaceholder, text: $viewModel.amountStr) + TextField("", text: $viewModel.amountStr) + .placeholder(when: viewModel.amountStr.isEmpty, alignment: .trailing, placeholder: { + Text(viewModel.amountPlaceholder) + .font(FontStyles.mh5.font) + .foregroundColor(Asset.Colors.Text.light.asColor()) + }) + .font(FontStyles.bh5.font) + .foregroundColor(Asset.Colors.Text.dark.asColor()) .keyboardType(.decimalPad) .multilineTextAlignment(.trailing) .frame(maxHeight: .infinity) @@ -107,10 +113,18 @@ struct LuckyDropTokens: View { .aspectRatio(contentMode: .fit) .frame(width: 24) Spacer().frame(width: 8) - Text(L10n.Plugins.Luckydrop.quantity).foregroundColor(Asset.Colors.Text.dark.asColor()) + Text(L10n.Plugins.Luckydrop.quantity) + .foregroundColor(Asset.Colors.Text.dark.asColor()) .font(FontStyles.bh5.font) Spacer() - TextField(L10n.Plugins.Luckydrop.enterQuantity, text: $viewModel.quantityStr) + TextField("", text: $viewModel.quantityStr) + .placeholder(when: viewModel.quantityStr.isEmpty, alignment: .trailing, placeholder: { + Text(L10n.Plugins.Luckydrop.enterQuantity) + .font(FontStyles.mh5.font) + .foregroundColor(Asset.Colors.Text.light.asColor()) + }) + .font(FontStyles.bh5.font) + .foregroundColor(Asset.Colors.Text.dark.asColor()) .keyboardType(.numberPad) .multilineTextAlignment(.trailing) .frame(maxHeight: .infinity) @@ -131,7 +145,14 @@ struct LuckyDropTokens: View { @ViewBuilder var messageRow: some View { HStack(spacing: 0) { - TextField(L10n.Plugins.Luckydrop.enterMessage, text: $viewModel.message) + TextField("", text: $viewModel.message) + .placeholder(when: viewModel.message.isEmpty, alignment: .trailing, placeholder: { + Text(L10n.Plugins.Luckydrop.enterMessage) + .font(FontStyles.mh5.font) + .foregroundColor(Asset.Colors.Text.light.asColor()) + }) + .font(FontStyles.bh5.font) + .foregroundColor(Asset.Colors.Text.dark.asColor()) .limitText($viewModel.message, maxLength: 30) .frame(maxHeight: .infinity) .responderTag(TextFieldTag.message) @@ -202,7 +223,11 @@ struct LuckyDropTokens: View { } Text(mode.title) .font(FontStyles.bh5.font) - .foregroundColor(Asset.Colors.Text.dark.asColor()) + .foregroundColor( + viewModel.mode == mode + ? Asset.Colors.Text.dark.asColor() + : Asset.Colors.Text.normal.asColor() + ) Spacer() } }