@@ -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