mirror of
https://github.com/XcodesOrg/XcodesApp.git
synced 2026-04-26 14:57:37 +00:00
Switch out the action button with an activity spinner when processing a request
This commit is contained in:
parent
4e03c59d0a
commit
ff1d2546dc
4 changed files with 45 additions and 12 deletions
|
|
@ -24,10 +24,18 @@ struct SignIn2FAView: View {
|
||||||
.keyboardShortcut(.cancelAction)
|
.keyboardShortcut(.cancelAction)
|
||||||
Button("Send SMS", action: { appState.choosePhoneNumberForSMS(authOptions: authOptions, sessionData: sessionData) })
|
Button("Send SMS", action: { appState.choosePhoneNumberForSMS(authOptions: authOptions, sessionData: sessionData) })
|
||||||
Spacer()
|
Spacer()
|
||||||
Button("Continue", action: { appState.submitSecurityCode(.device(code: code), sessionData: sessionData) })
|
if appState.isProcessingRequest {
|
||||||
.keyboardShortcut(.defaultAction)
|
ProgressView()
|
||||||
.disabled(code.count != authOptions.securityCode.length || appState.isProcessingRequest)
|
.progressViewStyle(CircularProgressViewStyle())
|
||||||
|
.scaleEffect(x: 0.5, y: 0.5, anchor: .center)
|
||||||
|
.padding(.trailing, 22)
|
||||||
|
} else {
|
||||||
|
Button("Continue", action: { appState.submitSecurityCode(.device(code: code), sessionData: sessionData) })
|
||||||
|
.keyboardShortcut(.defaultAction)
|
||||||
|
.disabled(code.count != authOptions.securityCode.length)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
.frame(height: 25)
|
||||||
}
|
}
|
||||||
.padding()
|
.padding()
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -28,10 +28,18 @@ struct SignInCredentialsView: View {
|
||||||
Spacer()
|
Spacer()
|
||||||
Button("Cancel") { isPresented = false }
|
Button("Cancel") { isPresented = false }
|
||||||
.keyboardShortcut(.cancelAction)
|
.keyboardShortcut(.cancelAction)
|
||||||
Button("Next") { appState.signIn(username: username, password: password) }
|
if appState.isProcessingRequest {
|
||||||
.disabled(username.isEmpty || appState.isProcessingRequest)
|
ProgressView()
|
||||||
.keyboardShortcut(.defaultAction)
|
.progressViewStyle(CircularProgressViewStyle())
|
||||||
|
.scaleEffect(x: 0.5, y: 0.5, anchor: .center)
|
||||||
|
.padding(.horizontal, 8)
|
||||||
|
} else {
|
||||||
|
Button("Next") { appState.signIn(username: username, password: password) }
|
||||||
|
.disabled(username.isEmpty)
|
||||||
|
.keyboardShortcut(.defaultAction)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
.frame(height: 25)
|
||||||
}
|
}
|
||||||
.padding()
|
.padding()
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -28,10 +28,19 @@ struct SignInPhoneListView: View {
|
||||||
Button("Cancel", action: { isPresented = false })
|
Button("Cancel", action: { isPresented = false })
|
||||||
.keyboardShortcut(.cancelAction)
|
.keyboardShortcut(.cancelAction)
|
||||||
Spacer()
|
Spacer()
|
||||||
Button("Continue", action: { appState.requestSMS(to: authOptions.trustedPhoneNumbers!.first { $0.id == selectedPhoneNumberID }!, authOptions: authOptions, sessionData: sessionData) })
|
|
||||||
.keyboardShortcut(.defaultAction)
|
if appState.isProcessingRequest {
|
||||||
.disabled(selectedPhoneNumberID == nil || appState.isProcessingRequest)
|
ProgressView()
|
||||||
|
.progressViewStyle(CircularProgressViewStyle())
|
||||||
|
.scaleEffect(x: 0.5, y: 0.5, anchor: .center)
|
||||||
|
.padding(.trailing, 22)
|
||||||
|
} else {
|
||||||
|
Button("Continue", action: { appState.requestSMS(to: authOptions.trustedPhoneNumbers!.first { $0.id == selectedPhoneNumberID }!, authOptions: authOptions, sessionData: sessionData) })
|
||||||
|
.keyboardShortcut(.defaultAction)
|
||||||
|
.disabled(selectedPhoneNumberID == nil)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
.frame(height: 25)
|
||||||
}
|
}
|
||||||
.padding()
|
.padding()
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -24,10 +24,18 @@ struct SignInSMSView: View {
|
||||||
Button("Cancel", action: { isPresented = false })
|
Button("Cancel", action: { isPresented = false })
|
||||||
.keyboardShortcut(.cancelAction)
|
.keyboardShortcut(.cancelAction)
|
||||||
Spacer()
|
Spacer()
|
||||||
Button("Continue", action: { appState.submitSecurityCode(.sms(code: code, phoneNumberId: trustedPhoneNumber.id), sessionData: sessionData) })
|
if appState.isProcessingRequest {
|
||||||
.keyboardShortcut(.defaultAction)
|
ProgressView()
|
||||||
.disabled(code.count != authOptions.securityCode.length || appState.isProcessingRequest)
|
.progressViewStyle(CircularProgressViewStyle())
|
||||||
|
.scaleEffect(x: 0.5, y: 0.5, anchor: .center)
|
||||||
|
.padding(.trailing, 22)
|
||||||
|
} else {
|
||||||
|
Button("Continue", action: { appState.submitSecurityCode(.sms(code: code, phoneNumberId: trustedPhoneNumber.id), sessionData: sessionData) })
|
||||||
|
.keyboardShortcut(.defaultAction)
|
||||||
|
.disabled(code.count != authOptions.securityCode.length)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
.frame(height: 25)
|
||||||
}
|
}
|
||||||
.padding()
|
.padding()
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue