mirror of
https://github.com/omnivore-app/omnivore.git
synced 2026-03-11 08:54:26 +00:00
Merge pull request #957 from omnivore-app/fix/registration-bugs
This commit is contained in:
commit
0b21990d14
7 changed files with 24 additions and 17 deletions
|
|
@ -153,15 +153,6 @@
|
|||
"version" : "2.1.0"
|
||||
}
|
||||
},
|
||||
{
|
||||
"identity" : "pspdfkit-sp",
|
||||
"kind" : "remoteSourceControl",
|
||||
"location" : "https://github.com/PSPDFKit/PSPDFKit-SP",
|
||||
"state" : {
|
||||
"branch" : "master",
|
||||
"revision" : "e9757beadad1b30de84073d3c33c1cd0f7a94b80"
|
||||
}
|
||||
},
|
||||
{
|
||||
"identity" : "sovran-swift",
|
||||
"kind" : "remoteSourceControl",
|
||||
|
|
|
|||
|
|
@ -56,7 +56,7 @@ let package = Package(
|
|||
var appPackageDependencies: [Target.Dependency] {
|
||||
var deps: [Target.Dependency] = ["Views", "Services", "Models", "Utils"]
|
||||
// #if canImport(UIKit)
|
||||
deps.append(.product(name: "PSPDFKit", package: "PSPDFKit-SP"))
|
||||
// deps.append(.product(name: "PSPDFKit", package: "PSPDFKit-SP"))
|
||||
// #endif
|
||||
return deps
|
||||
}
|
||||
|
|
@ -70,7 +70,7 @@ var dependencies: [Package.Dependency] {
|
|||
.package(url: "https://github.com/google/GoogleSignIn-iOS", from: "6.2.2")
|
||||
]
|
||||
// #if canImport(UIKit)
|
||||
deps.append(.package(url: "https://github.com/PSPDFKit/PSPDFKit-SP", branch: "master"))
|
||||
// deps.append(.package(url: "https://github.com/PSPDFKit/PSPDFKit-SP", branch: "master"))
|
||||
// #endif
|
||||
return deps
|
||||
}
|
||||
|
|
|
|||
|
|
@ -91,7 +91,7 @@ public class ShareExtensionViewModel: ObservableObject {
|
|||
self.queueSaveOperation(payload)
|
||||
#else
|
||||
Task {
|
||||
await createPage(services: self.services, pageScrapePayload: payload)
|
||||
await self.createPage(pageScrapePayload: payload)
|
||||
}
|
||||
#endif
|
||||
case .failure:
|
||||
|
|
|
|||
|
|
@ -40,7 +40,7 @@ import Views
|
|||
|
||||
do {
|
||||
try await dataService.deleteAccount(userID: currentViewer.unwrappedUserID)
|
||||
authenticator.logout(dataService: dataService)
|
||||
authenticator.logout(dataService: dataService, isAccountDeletion: true)
|
||||
} catch {
|
||||
deleteAccountErrorMessage = "We were unable to delete your account."
|
||||
}
|
||||
|
|
|
|||
|
|
@ -56,6 +56,7 @@ import Views
|
|||
Task {
|
||||
do {
|
||||
try await dataService.validateUsernamePublisher(username: username)
|
||||
potentialUsernameStatus = .available
|
||||
} catch {
|
||||
let usernameError = (error as? UsernameAvailabilityError) ?? .unknown
|
||||
switch usernameError {
|
||||
|
|
@ -152,6 +153,9 @@ struct CreateProfileView: View {
|
|||
.font(.appFootnote)
|
||||
.foregroundColor(.appGrayText)
|
||||
TextField("", text: $viewModel.potentialUsername)
|
||||
#if os(iOS)
|
||||
.textInputAutocapitalization(.never)
|
||||
#endif
|
||||
}
|
||||
|
||||
if viewModel.potentialUsernameStatus == .available {
|
||||
|
|
|
|||
|
|
@ -8,6 +8,7 @@ struct WelcomeView: View {
|
|||
@EnvironmentObject var dataService: DataService
|
||||
@EnvironmentObject var authenticator: Authenticator
|
||||
@Environment(\.horizontalSizeClass) var horizontalSizeClass
|
||||
@Environment(\.openURL) var openURL
|
||||
|
||||
@StateObject private var viewModel = RegistrationViewModel()
|
||||
|
||||
|
|
@ -20,6 +21,9 @@ struct WelcomeView: View {
|
|||
@State private var selectedEnvironment = AppEnvironment.initialAppEnvironment
|
||||
@State private var containerSize: CGSize = .zero
|
||||
|
||||
// swiftlint:disable:next line_length
|
||||
let deletedAccountConfirmationMessage = "Your account has been deleted. Additional steps may be needed if Sign in with Apple was used to register."
|
||||
|
||||
func handleHiddenGestureAction() {
|
||||
if !Bundle.main.isAppStoreBuild {
|
||||
showDebugModal = true
|
||||
|
|
@ -132,7 +136,7 @@ struct WelcomeView: View {
|
|||
}
|
||||
|
||||
var authProviderButtonStack: some View {
|
||||
let useHorizontalLayout = containerSize.width > 400
|
||||
let useHorizontalLayout = containerSize.width > 500
|
||||
|
||||
let buttonGroup = Group {
|
||||
AppleSignInButton {
|
||||
|
|
@ -166,7 +170,7 @@ struct WelcomeView: View {
|
|||
}
|
||||
|
||||
public var body: some View {
|
||||
ZStack(alignment: .leading) {
|
||||
ZStack(alignment: viewModel.registrationState == nil ? .leading : .center) {
|
||||
Color.appBackground
|
||||
.edgesIgnoringSafeArea(.all)
|
||||
.modifier(SizeModifier())
|
||||
|
|
@ -189,7 +193,7 @@ struct WelcomeView: View {
|
|||
logoView
|
||||
.padding(.bottom, 20)
|
||||
headlineView
|
||||
if containerSize.width > 400 {
|
||||
if containerSize.width > 500 {
|
||||
authProviderButtonStack
|
||||
} else {
|
||||
HStack {
|
||||
|
|
@ -205,6 +209,12 @@ struct WelcomeView: View {
|
|||
.sheet(isPresented: $showDebugModal) {
|
||||
DebugMenuView(selectedEnvironment: $selectedEnvironment)
|
||||
}
|
||||
.alert(deletedAccountConfirmationMessage, isPresented: $authenticator.showAppleRevokeTokenAlert) {
|
||||
Button("View Details") {
|
||||
openURL(URL(string: "https://support.apple.com/en-us/HT210426")!)
|
||||
}
|
||||
Button("Dismiss") { self.authenticator.showAppleRevokeTokenAlert = false }
|
||||
}
|
||||
}
|
||||
}
|
||||
.preferredColorScheme(.light)
|
||||
|
|
|
|||
|
|
@ -18,6 +18,7 @@ public final class Authenticator: ObservableObject {
|
|||
}
|
||||
|
||||
@Published public internal(set) var isLoggedIn: Bool
|
||||
@Published public var showAppleRevokeTokenAlert = false
|
||||
|
||||
let networker: Networker
|
||||
|
||||
|
|
@ -36,11 +37,12 @@ public final class Authenticator: ObservableObject {
|
|||
ValetKey.authToken.value()
|
||||
}
|
||||
|
||||
public func logout(dataService: DataService) {
|
||||
public func logout(dataService: DataService, isAccountDeletion: Bool = false) {
|
||||
dataService.resetCoreData()
|
||||
clearCreds()
|
||||
Authenticator.unregisterIntercomUser?()
|
||||
isLoggedIn = false
|
||||
showAppleRevokeTokenAlert = isAccountDeletion
|
||||
}
|
||||
|
||||
public func clearCreds() {
|
||||
|
|
|
|||
Loading…
Reference in a new issue