|
@@ -28,12 +28,12 @@ struct FrontPageView: View {
|
|
|
|
|
|
|
|
mainContent
|
|
mainContent
|
|
|
.frame(maxWidth: .infinity, maxHeight: .infinity)
|
|
.frame(maxWidth: .infinity, maxHeight: .infinity)
|
|
|
- .environment(\.requirePremiumAccess, {
|
|
|
|
|
- if subscriptions.hasPremiumAccess { return true }
|
|
|
|
|
- viewModel.showPaywall()
|
|
|
|
|
- return false
|
|
|
|
|
- })
|
|
|
|
|
}
|
|
}
|
|
|
|
|
+ .environment(\.requirePremiumAccess, {
|
|
|
|
|
+ if subscriptions.hasPremiumAccess { return true }
|
|
|
|
|
+ viewModel.showPaywall()
|
|
|
|
|
+ return false
|
|
|
|
|
+ })
|
|
|
|
|
|
|
|
if viewModel.isPaywallPresented {
|
|
if viewModel.isPaywallPresented {
|
|
|
PaywallView(viewModel: paywallViewModel) {
|
|
PaywallView(viewModel: paywallViewModel) {
|
|
@@ -52,15 +52,22 @@ struct FrontPageView: View {
|
|
|
}
|
|
}
|
|
|
syncToolPremiumAccess()
|
|
syncToolPremiumAccess()
|
|
|
appRating.updatePremiumStatus(hasPremium)
|
|
appRating.updatePremiumStatus(hasPremium)
|
|
|
|
|
+ if subscriptions.hasResolvedPremiumStatus {
|
|
|
|
|
+ configureRedditAccessForPremiumStatus()
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
.onChange(of: subscriptions.hasResolvedPremiumStatus) { _, resolved in
|
|
.onChange(of: subscriptions.hasResolvedPremiumStatus) { _, resolved in
|
|
|
if resolved {
|
|
if resolved {
|
|
|
syncToolPremiumAccess()
|
|
syncToolPremiumAccess()
|
|
|
|
|
+ configureRedditAccessForPremiumStatus()
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
.onAppear {
|
|
.onAppear {
|
|
|
syncToolPremiumAccess()
|
|
syncToolPremiumAccess()
|
|
|
appRating.updatePremiumStatus(subscriptions.hasPremiumAccess)
|
|
appRating.updatePremiumStatus(subscriptions.hasPremiumAccess)
|
|
|
|
|
+ if subscriptions.hasResolvedPremiumStatus {
|
|
|
|
|
+ configureRedditAccessForPremiumStatus()
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
.frame(minWidth: AppWindow.minWidth, minHeight: AppWindow.minHeight)
|
|
.frame(minWidth: AppWindow.minWidth, minHeight: AppWindow.minHeight)
|
|
|
.background(AppTheme.background)
|
|
.background(AppTheme.background)
|
|
@@ -160,6 +167,13 @@ struct FrontPageView: View {
|
|
|
commentWriterViewModel.setPremiumAccess(hasPremium)
|
|
commentWriterViewModel.setPremiumAccess(hasPremium)
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ private func configureRedditAccessForPremiumStatus() {
|
|
|
|
|
+ if !subscriptions.hasPremiumAccess, viewModel.isRedditActive {
|
|
|
|
|
+ viewModel.isRedditActive = false
|
|
|
|
|
+ viewModel.selectNavItem(FrontPageViewModel.postGeneratorItem)
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
private func openHistoryEntry(_ entry: AIHistoryEntry) {
|
|
private func openHistoryEntry(_ entry: AIHistoryEntry) {
|
|
|
switch entry.toolKind {
|
|
switch entry.toolKind {
|
|
|
case .postGenerator:
|
|
case .postGenerator:
|