Skip to content

Commit ef5f786

Browse files
refactor: provider logic so it can be passed into button
1 parent c233113 commit ef5f786

File tree

2 files changed

+12
-6
lines changed

2 files changed

+12
-6
lines changed

FirebaseSwiftUI/FirebaseTwitterSwiftUI/Sources/Services/TwitterProviderAuthUI.swift

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -44,16 +44,17 @@ public class TwitterProviderSwift: AuthProviderSwift {
4444
}
4545
}
4646

47-
public class TwitterProviderAuthUI: TwitterProviderSwift, AuthProviderUI {
47+
public class TwitterProviderAuthUI: AuthProviderUI {
48+
public var provider: AuthProviderSwift
49+
4850
public init() {
49-
super.init()
51+
provider = TwitterProviderSwift()
5052
}
5153

5254
public let id: String = "twitter"
53-
public var provider: AuthProviderSwift { self }
5455

5556
@MainActor public func authButton() -> AnyView {
56-
AnyView(SignInWithTwitterButton())
57+
AnyView(SignInWithTwitterButton(provider: provider))
5758
}
5859

5960
// TODO: need to implement delete user protocol

FirebaseSwiftUI/FirebaseTwitterSwiftUI/Sources/Views/SignInWithTwitterButton.swift

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,13 +19,18 @@ import SwiftUI
1919
@MainActor
2020
public struct SignInWithTwitterButton {
2121
@Environment(AuthService.self) private var authService
22-
public init() {}
22+
let provider: AuthProviderSwift
23+
public init(provider: AuthProviderSwift) {
24+
self.provider = provider
25+
}
2326
}
2427

2528
extension SignInWithTwitterButton: View {
2629
public var body: some View {
2730
Button(action: {
28-
// TODO: Implement Twitter sign-in action
31+
Task {
32+
try await authService.signIn(provider)
33+
}
2934
}) {
3035
Text("Sign in with Twitter")
3136
}

0 commit comments

Comments
 (0)