Add Wishlist Kit

This commit is contained in:
Thomas Ricouard 2024-08-15 09:23:07 +02:00
parent 824b2de23f
commit 8c6d2bee7f
7 changed files with 63 additions and 3 deletions

View file

@ -92,6 +92,8 @@
9F8B92122BF77DBE003D37A2 /* AccountWidgetConfiguration.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9F8B920E2BF77DB4003D37A2 /* AccountWidgetConfiguration.swift */; }; 9F8B92122BF77DBE003D37A2 /* AccountWidgetConfiguration.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9F8B920E2BF77DB4003D37A2 /* AccountWidgetConfiguration.swift */; };
9F8B92132BF77DBE003D37A2 /* AccountWidget.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9F8B92102BF77DBB003D37A2 /* AccountWidget.swift */; }; 9F8B92132BF77DBE003D37A2 /* AccountWidget.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9F8B92102BF77DBB003D37A2 /* AccountWidget.swift */; };
9F8B92162BF77F0B003D37A2 /* AccountWidgetView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9F8B92142BF77F05003D37A2 /* AccountWidgetView.swift */; }; 9F8B92162BF77F0B003D37A2 /* AccountWidgetView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9F8B92142BF77F05003D37A2 /* AccountWidgetView.swift */; };
9F9191562C6DDE1F001C89E7 /* WishlistView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9F9191552C6DDE1C001C89E7 /* WishlistView.swift */; };
9F9191592C6DDF20001C89E7 /* WishKit in Frameworks */ = {isa = PBXBuildFile; productRef = 9F9191582C6DDF20001C89E7 /* WishKit */; };
9FA6FD6229C04A8800E2312C /* TranslationSettingsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9FA6FD6129C04A8800E2312C /* TranslationSettingsView.swift */; }; 9FA6FD6229C04A8800E2312C /* TranslationSettingsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9FA6FD6129C04A8800E2312C /* TranslationSettingsView.swift */; };
9FAD858B29743F7400496AB1 /* ShareViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9FAD858A29743F7400496AB1 /* ShareViewController.swift */; }; 9FAD858B29743F7400496AB1 /* ShareViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9FAD858A29743F7400496AB1 /* ShareViewController.swift */; };
9FAD858E29743F7400496AB1 /* (null) in Resources */ = {isa = PBXBuildFile; }; 9FAD858E29743F7400496AB1 /* (null) in Resources */ = {isa = PBXBuildFile; };
@ -281,6 +283,7 @@
9F8B920E2BF77DB4003D37A2 /* AccountWidgetConfiguration.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AccountWidgetConfiguration.swift; sourceTree = "<group>"; }; 9F8B920E2BF77DB4003D37A2 /* AccountWidgetConfiguration.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AccountWidgetConfiguration.swift; sourceTree = "<group>"; };
9F8B92102BF77DBB003D37A2 /* AccountWidget.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AccountWidget.swift; sourceTree = "<group>"; }; 9F8B92102BF77DBB003D37A2 /* AccountWidget.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AccountWidget.swift; sourceTree = "<group>"; };
9F8B92142BF77F05003D37A2 /* AccountWidgetView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AccountWidgetView.swift; sourceTree = "<group>"; }; 9F8B92142BF77F05003D37A2 /* AccountWidgetView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AccountWidgetView.swift; sourceTree = "<group>"; };
9F9191552C6DDE1C001C89E7 /* WishlistView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WishlistView.swift; sourceTree = "<group>"; };
9FA6FD6129C04A8800E2312C /* TranslationSettingsView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TranslationSettingsView.swift; sourceTree = "<group>"; }; 9FA6FD6129C04A8800E2312C /* TranslationSettingsView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TranslationSettingsView.swift; sourceTree = "<group>"; };
9FAD858829743F7400496AB1 /* IceCubesShareExtension.appex */ = {isa = PBXFileReference; explicitFileType = "wrapper.app-extension"; includeInIndex = 0; path = IceCubesShareExtension.appex; sourceTree = BUILT_PRODUCTS_DIR; }; 9FAD858829743F7400496AB1 /* IceCubesShareExtension.appex */ = {isa = PBXFileReference; explicitFileType = "wrapper.app-extension"; includeInIndex = 0; path = IceCubesShareExtension.appex; sourceTree = BUILT_PRODUCTS_DIR; };
9FAD858A29743F7400496AB1 /* ShareViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ShareViewController.swift; sourceTree = "<group>"; }; 9FAD858A29743F7400496AB1 /* ShareViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ShareViewController.swift; sourceTree = "<group>"; };
@ -396,6 +399,7 @@
9F5E581929545BE700A53960 /* Env in Frameworks */, 9F5E581929545BE700A53960 /* Env in Frameworks */,
DA0B24FB2A6876D50045BDD7 /* SFSafeSymbols in Frameworks */, DA0B24FB2A6876D50045BDD7 /* SFSafeSymbols in Frameworks */,
9FE6A42E2BD043A90055D388 /* RevenueCat in Frameworks */, 9FE6A42E2BD043A90055D388 /* RevenueCat in Frameworks */,
9F9191592C6DDF20001C89E7 /* WishKit in Frameworks */,
9F295540292B6C3400E0E81B /* Timeline in Frameworks */, 9F295540292B6C3400E0E81B /* Timeline in Frameworks */,
9F35DB4A29506FA100B3281A /* Notifications in Frameworks */, 9F35DB4A29506FA100B3281A /* Notifications in Frameworks */,
9FC2A38B2B49D19A00DFD1C1 /* StatusKit in Frameworks */, 9FC2A38B2B49D19A00DFD1C1 /* StatusKit in Frameworks */,
@ -655,6 +659,7 @@
9FE151A4293C90EA00E9683D /* Settings */ = { 9FE151A4293C90EA00E9683D /* Settings */ = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
9F9191552C6DDE1C001C89E7 /* WishlistView.swift */,
069709A9298C9AD7006E4CB5 /* AboutView.swift */, 069709A9298C9AD7006E4CB5 /* AboutView.swift */,
9F7D939929805DBD00EE6B7A /* AccountSettingView.swift */, 9F7D939929805DBD00EE6B7A /* AccountSettingView.swift */,
9F2B92F9295DA7D700DE16D0 /* AddAccountsView.swift */, 9F2B92F9295DA7D700DE16D0 /* AddAccountsView.swift */,
@ -850,6 +855,7 @@
9FC2A38A2B49D19A00DFD1C1 /* StatusKit */, 9FC2A38A2B49D19A00DFD1C1 /* StatusKit */,
9FE4CCAA2B4C848A00DA5F13 /* GiphyUISDK */, 9FE4CCAA2B4C848A00DA5F13 /* GiphyUISDK */,
9FE6A42D2BD043A90055D388 /* RevenueCat */, 9FE6A42D2BD043A90055D388 /* RevenueCat */,
9F9191582C6DDF20001C89E7 /* WishKit */,
); );
productName = IceCubesApp; productName = IceCubesApp;
productReference = 9FBFE639292A715500C250E9 /* Ice Cubes.app */; productReference = 9FBFE639292A715500C250E9 /* Ice Cubes.app */;
@ -935,6 +941,7 @@
DA0B24F92A6876D40045BDD7 /* XCRemoteSwiftPackageReference "SFSafeSymbols" */, DA0B24F92A6876D40045BDD7 /* XCRemoteSwiftPackageReference "SFSafeSymbols" */,
9FE4CCA92B4C848A00DA5F13 /* XCRemoteSwiftPackageReference "giphy-ios-sdk" */, 9FE4CCA92B4C848A00DA5F13 /* XCRemoteSwiftPackageReference "giphy-ios-sdk" */,
9FE6A42C2BD043A80055D388 /* XCRemoteSwiftPackageReference "purchases-ios" */, 9FE6A42C2BD043A80055D388 /* XCRemoteSwiftPackageReference "purchases-ios" */,
9F9191572C6DDF20001C89E7 /* XCRemoteSwiftPackageReference "wishkit-ios" */,
); );
productRefGroup = 9FBFE63A292A715500C250E9 /* Products */; productRefGroup = 9FBFE63A292A715500C250E9 /* Products */;
projectDirPath = ""; projectDirPath = "";
@ -1092,6 +1099,7 @@
9F7788ED2BE78D75004E6BEF /* TimelineFilterEntity.swift in Sources */, 9F7788ED2BE78D75004E6BEF /* TimelineFilterEntity.swift in Sources */,
9F37BDE32BE393A7007F28AD /* AppShortcuts.swift in Sources */, 9F37BDE32BE393A7007F28AD /* AppShortcuts.swift in Sources */,
9F654BEF299AC45B00D27FA5 /* ReportView.swift in Sources */, 9F654BEF299AC45B00D27FA5 /* ReportView.swift in Sources */,
9F9191562C6DDE1F001C89E7 /* WishlistView.swift in Sources */,
D08A9C3529956CFA00204A4A /* SwipeActionsSettingsView.swift in Sources */, D08A9C3529956CFA00204A4A /* SwipeActionsSettingsView.swift in Sources */,
9F7335F22967608F00AFF0BA /* AddRemoteTimelineView.swift in Sources */, 9F7335F22967608F00AFF0BA /* AddRemoteTimelineView.swift in Sources */,
9F7788E82BE65533004E6BEF /* AppAccountEntity.swift in Sources */, 9F7788E82BE65533004E6BEF /* AppAccountEntity.swift in Sources */,
@ -1753,6 +1761,14 @@
/* End XCConfigurationList section */ /* End XCConfigurationList section */
/* Begin XCRemoteSwiftPackageReference section */ /* Begin XCRemoteSwiftPackageReference section */
9F9191572C6DDF20001C89E7 /* XCRemoteSwiftPackageReference "wishkit-ios" */ = {
isa = XCRemoteSwiftPackageReference;
repositoryURL = "https://github.com/wishkit/wishkit-ios.git";
requirement = {
kind = upToNextMajorVersion;
minimumVersion = 4.1.1;
};
};
9FAE4ACC29379A5A00772766 /* XCRemoteSwiftPackageReference "keychain-swift" */ = { 9FAE4ACC29379A5A00772766 /* XCRemoteSwiftPackageReference "keychain-swift" */ = {
isa = XCRemoteSwiftPackageReference; isa = XCRemoteSwiftPackageReference;
repositoryURL = "https://github.com/evgenyneu/keychain-swift"; repositoryURL = "https://github.com/evgenyneu/keychain-swift";
@ -1857,6 +1873,11 @@
isa = XCSwiftPackageProductDependency; isa = XCSwiftPackageProductDependency;
productName = AppAccount; productName = AppAccount;
}; };
9F9191582C6DDF20001C89E7 /* WishKit */ = {
isa = XCSwiftPackageProductDependency;
package = 9F9191572C6DDF20001C89E7 /* XCRemoteSwiftPackageReference "wishkit-ios" */;
productName = WishKit;
};
9FAD8599297440CB00496AB1 /* KeychainSwift */ = { 9FAD8599297440CB00496AB1 /* KeychainSwift */ = {
isa = XCSwiftPackageProductDependency; isa = XCSwiftPackageProductDependency;
package = 9FAE4ACC29379A5A00772766 /* XCRemoteSwiftPackageReference "keychain-swift" */; package = 9FAE4ACC29379A5A00772766 /* XCRemoteSwiftPackageReference "keychain-swift" */;

View file

@ -144,6 +144,24 @@
"version" : "1.2.0" "version" : "1.2.0"
} }
}, },
{
"identity" : "wishkit-ios",
"kind" : "remoteSourceControl",
"location" : "https://github.com/wishkit/wishkit-ios.git",
"state" : {
"revision" : "3e1943861d3ba6acceb253b089c1df54521133b8",
"version" : "4.1.1"
}
},
{
"identity" : "wishkit-ios-shared",
"kind" : "remoteSourceControl",
"location" : "https://github.com/wishkit/wishkit-ios-shared.git",
"state" : {
"revision" : "118c9c482e4ad57c65d664283516425b98616483",
"version" : "1.4.3"
}
},
{ {
"identity" : "wrappinghstack", "identity" : "wrappinghstack",
"kind" : "remoteSourceControl", "kind" : "remoteSourceControl",

View file

@ -10,6 +10,7 @@ import RevenueCat
import StatusKit import StatusKit
import SwiftUI import SwiftUI
import Timeline import Timeline
import WishKit
@main @main
struct IceCubesApp: App { struct IceCubesApp: App {
@ -89,6 +90,7 @@ class AppDelegate: UIResponder, UIApplicationDelegate {
PushNotificationsService.shared.setAccounts(accounts: AppAccountsManager.shared.pushAccounts) PushNotificationsService.shared.setAccounts(accounts: AppAccountsManager.shared.pushAccounts)
Telemetry.setup() Telemetry.setup()
Telemetry.signal("app.launched") Telemetry.signal("app.launched")
WishKit.configure(with: "AF21AE07-3BA9-4FE2-BFB1-59A3B3941730")
return true return true
} }

View file

@ -295,10 +295,18 @@ struct SettingsTabs: View {
.tint(theme.labelColor) .tint(theme.labelColor)
} }
NavigationLink(destination: AboutView()) { NavigationLink {
AboutView()
} label: {
Label("settings.app.about", systemImage: "info.circle") Label("settings.app.about", systemImage: "info.circle")
} }
NavigationLink {
WishlistView()
} label: {
Label("Feature Requests", systemImage: "list.bullet.rectangle.portrait")
}
} header: { } header: {
Text("settings.section.app") Text("settings.section.app")
} footer: { } footer: {

View file

@ -0,0 +1,8 @@
import SwiftUI
import WishKit
struct WishlistView: View {
var body: some View {
WishKit.view
}
}

View file

@ -29098,6 +29098,9 @@
} }
} }
} }
},
"Feature Requests" : {
}, },
"Federated Timeline" : { "Federated Timeline" : {
"localizations" : { "localizations" : {

View file

@ -20,7 +20,7 @@ let package = Package(
.package(name: "Models", path: "../Models"), .package(name: "Models", path: "../Models"),
.package(name: "Network", path: "../Network"), .package(name: "Network", path: "../Network"),
.package(url: "https://github.com/evgenyneu/keychain-swift", branch: "master"), .package(url: "https://github.com/evgenyneu/keychain-swift", branch: "master"),
.package(url: "https://github.com/TelemetryDeck/SwiftSDK", from: "2.3.0") .package(url: "https://github.com/TelemetryDeck/SwiftSDK", from: "2.3.0"),
], ],
targets: [ targets: [
.target( .target(