Skip to content

Commit 28efc0f

Browse files
create callback for logging in with firebase auth
1 parent db1bd8d commit 28efc0f

1 file changed

Lines changed: 12 additions & 12 deletions

File tree

FirebaseSwiftUI/FirebaseFacebookSwiftUI/Sources/Views/FacebookButtonView.swift

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ struct FacebookLoginButtonView: UIViewRepresentable {
3636

3737
@Binding var isLimitedLogin: Bool
3838
@Binding var nonce: String?
39+
var onLoginResult: ((Error?) -> Void)?
3940

4041
class Coordinator: NSObject, @preconcurrency LoginButtonDelegate {
4142
var parent: FacebookLoginButtonView
@@ -55,25 +56,24 @@ struct FacebookLoginButtonView: UIViewRepresentable {
5556
return true
5657
}
5758

58-
func loginButton(_: FBLoginButton,
59-
didCompleteWith result: LoginManagerLoginResult?,
60-
error: Error?) {
59+
@MainActor func loginButton(_: FBLoginButton,
60+
didCompleteWith result: LoginManagerLoginResult?,
61+
error: Error?) {
6162
if let error = error {
62-
print("Login Error: \(error.localizedDescription)")
63+
parent.onLoginResult?(error)
6364
return
6465
}
6566

66-
guard let result = result else {
67-
print("Invalid Login Result")
67+
guard let result = result, !result.isCancelled else {
68+
parent.onLoginResult?(NSError(
69+
domain: "FacebookLogin",
70+
code: 1,
71+
userInfo: [NSLocalizedDescriptionKey: "Login was cancelled."]
72+
))
6873
return
6974
}
7075

71-
if result.isCancelled {
72-
print("Login Cancelled")
73-
return
74-
}
75-
76-
print("Login Successful")
76+
parent.onLoginResult?(nil)
7777
}
7878

7979
func loginButtonDidLogOut(_: FBLoginButton) {

0 commit comments

Comments
 (0)