Skip to content

Conversation

@demolaf
Copy link

@demolaf demolaf commented Nov 5, 2025

  • Added optional logo parameter to AuthConfiguration which overrides firebase auth logo in AuthPickerView.

  • Added languageCode parameter to AuthConfiguration which allows the developer force a locale (overrides device locale if set).

  • Added Spanish, German and French language translations.

  • Language translations

Simulator Screenshot - iPhone 17 Pro Max - 2025-11-05 at 11 17 38
  • Custom logo
Simulator Screenshot - iPhone 17 Pro Max - 2025-11-05 at 11 16 36

@demolaf demolaf marked this pull request as draft November 5, 2025 10:36
@demolaf demolaf changed the title feat: Optional logo, locale params in AuthConfiguration, added language translations. feat: Optional logo, languageCode params in AuthConfiguration, added language translations. Nov 5, 2025
@demolaf demolaf marked this pull request as ready for review November 5, 2025 13:44
Copy link
Member

@russellwheatley russellwheatley left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

looking good 👍 .

// Present modally
topViewController.present(hostingController, animated: true)
}
fatalError("Not implemented")
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've made a note to follow up with this after this PR is in so it's a separate issue. Ultimately, we should change from:

public protocol AuthProviderSwift {
  @MainActor func createAuthCredential() async throws -> AuthCredential
}

to

public protocol AuthProviderSwift {}

Then we can have a generic protocol for google, twitter, apple, etc like this:

public protocol GenericAuthProviderSwift: AuthProviderSwift {
  @MainActor func createAuthCredential() async throws -> AuthCredential
}

and phone can have:

public protocol GenericAuthProviderSwift: AuthProviderSwift {
@MainActor public func verifyPhoneNumber(phoneNumber: String) async throws -> VerificationID {
@MainActor func createAuthCredential(verificationId: String, verificationCode: String) async throws -> AuthCredential
}

Then we can handle each different provider appropriately and not have methods that throw errors. what do you think?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yeah this works tbh so based on the provider we can have implementations for each.

@russellwheatley russellwheatley merged commit a1e2944 into firebase:development Nov 5, 2025
2 of 4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants