Repository navigation
feat: accept a login box footer in login() (FR-27245) - #138
Merged
Merged
Conversation
`login({ footer })` forwards a structured footer to the native SDKs, which
render it below the login box's card on its login screen only: the
embedded-mode equivalent of `boxFooter` in @frontegg/react.
Like `themeOptions` and `localizations`, an omitted footer is sent as null
and clears, so each call fully determines the box's appearance.
…ord screens The hosted login box (frontegg/oauth-service#884) renders the host footer on both the preLogin and loginWithPassword steps, not only the first one. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes using default effort and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit f54b30a. Configure here.
| * a row naming reCAPTCHA and linking Google's Privacy Policy and Terms. | ||
| */ | ||
| hideCaptchaBadge?: boolean; | ||
| rows: LoginBoxFooterRow[]; |
There was a problem hiding this comment.
Footer types missing from public API
Low Severity
LoginBoxFooter, LoginBoxFooterRow, and LoginBoxFooterSegment are exported from FronteggNative.ts and documented as the footer type, but src/index.tsx does not re-export them. Consumers of @frontegg/react-native cannot import those names, unlike LoginBoxCustomization and LoginOptions.
Reviewed by Cursor Bugbot for commit f54b30a. Configure here.
dianaKhortiuk-frontegg
changed the base branch from
chore/bump-native-sdks-1.3.23-1.3.42
to
master
October 8, 2026 14:22
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.


FR-27245. Supersedes #136 and builds on @airowe's commit from it, which is kept as-is. It lives on a
fronteggbranch so it can be stacked on #137, which bumps the native SDKs to the versions that have the footer API.What
login()accepts afooterin its customization options and passes it to the native SDKs:FronteggApp.shared.loginBoxFooter(feat(embedded): host-supplied footer below the login box frontegg-ios-swift#333, released in 1.3.23)FronteggInnerStorage.loginBoxFooter(feat(embedded): host-supplied footer below the login box frontegg-android-kotlin#291, released in 1.3.42)The hosted login box renders it (frontegg/oauth-service#884) on its sign-in and password screens. The native SDKs sanitize the links and handle taps:
http(s)link opens in the browser.Omitting
footer, or passingnull, clears it.The follow-up commit only corrects the docs: the footer shows on the sign-in and password screens, not the first screen only.
Tests
src/__tests__/index.test.tsx: the footer is forwarded, and it is cleared when omitted. 15 tests pass locally.yarn lintandyarn typecheckare clean.🤖 Generated with Claude Code
Note
Low Risk
Additive optional API on the existing login customization path; behavior for link handling and rendering lives in pinned native SDKs rather than new auth logic in this PR.
Overview
Adds an optional
footertologin()customization so embedded login can show structured content below the card (sign-in and password screens), mirroring@frontegg/react'sboxFooter.The JS layer defines
LoginBoxFooter(rows of text/link segments, optionalhideCaptchaBadge), always sendsfooterwith theme/localization overrides (omitted →nullto clear), and routes throughloginWithOptionswhen present. iOS and Android bridges persist the payload onloginBoxFooteralongside existing login-box customization. Docs document the shape, link rules (http(s)vs app scheme), and reCAPTCHA attribution expectations. Tests assert forwarding and per-call clearing behavior.Reviewed by Cursor Bugbot for commit f54b30a. Bugbot is set up for automated code reviews on this repo. Configure here.