-
Notifications
You must be signed in to change notification settings - Fork 3
Add clerk branding to profile #409
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
swolfand
merged 2 commits into
sam/clerk-ui
from
cursor/add-clerk-branding-to-profile-2547
Dec 10, 2025
Merged
Add clerk branding to profile #409
swolfand
merged 2 commits into
sam/clerk-ui
from
cursor/add-clerk-branding-to-profile-2547
Dec 10, 2025
Conversation
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
Co-authored-by: sam <[email protected]>
|
Cursor Agent can help with this pull request. Just |
Contributor
|
❌ Paparazzi found snapshot diffs.
|
swolfand
added a commit
that referenced
this pull request
Dec 11, 2025
* Create Clerk Theme configuration and composition locals (#164) * add new module * add theme config * update clerk with theme config * update build yaml * update kdoc * rename and create composition local * Remove isDark * add composition locals for text and design and do some refactoring * some cleanup * update lints * update yml for components * Add dokka for ui module (#167) * update dokka * update dokka for ui module * remove old docs * update publishing (#169) * Add computed colors to composition local (#170) * move into packages * refactoring and expose computed colors through composition locals * move into packages * Update ClerkMaterialTheme and typography * cleanup deps * Sam/mobile 121 android universal button component (#172) * remove hilt * some cleanup * add tests for ColorUtils.kt * A lot of refactoring for clerk theme * moved compose into api module and cleaned up * Add button component (#173) * move to core * also preview clerk * Add ButtonComponentConfiguration.kt * very verbose styling, secondary not looking right * clean up generation * setup snapshot tests * update baseline * update vvisibility and kdoc * update * update the golden snapshots * use material theme (#174) * update text (#177) * update text * Remove extra computed typography function * update clerk button snapshot test * use more standard dp (#179) * Add Social buttons (#184) * update button colors to fix style * update snapshots * Fix negative button acting up * simplify button api * update some states and move around * add social button and tests * Update android.yml * update publishing to not be applied everywhere * update all icons (#185) * Add badge item (#186) * rename social button and add immutable collections * add clerk badge and screenshot tests * add clerk logo (#187) * Create Text Field (#188) * start creating input field * Add input field * rename everything to snapshot * rename everything to snapshot * update snapshots and error color * update libraries * Update clerk material theme (#219) * update clerk material theme * Update all call sites to use ClerkMaterialTheme * Add Phone number input field (#220) * Add country selector * Add phone input with country selector * Make ClerkMaterialTheme internal * add phone number formatting and tests * Clean up PhoneInputUtils.kt * format selector * update focus * add autofill (#223) * Add code input field (#224) * Add otp box * add snapshot tests * rename * update ClerkCodeInputField.kt to have error states and supporting text * update snapshots * Add social row and update buttons to use either short or long form (#225) * Add kdoc * update social button to use logo only or text * update snapshot tests and button to respect size * update snapshot tests and button to respect size and add social row * build cleanup * update to latest * Add avatars (#227) * add progress indicator and fallback * add start of avatars * Add forgot password view (#231) * Add ClerkAppbar.kt * add SignInFactorOneComponent.kt * add SecuredByClerk.kt * update dimens to be common * add text button * add beginning of forgot password component * add snapshot test and update golden * undo changes to button * update ClerkButton.kt to use a single icon config * delete dep * Add SignInFactorCodeView (#237) * update SignInFactorOneView.kt to use password view * Add StrategyKeys.kt * Add SignInFactorCodeHelper.kt * Add a lot of kdoc and update other components * use const * update padding and add timer * add functions for prepare * add helpers for prepare and attempt * Add test for SignInFactorCodeViewModel * move tests * add tests and update snapshots * update field to use showResend * add use another method * move to common AuthHeaderView * put toolbar in header view * add kdoc * update visibility and move text button to button package * add kdoc * update password view to use an impl * fix build * Add passkey view (#242) * Update version and rename to VersioningUserAgentMiddleware.kt (#238) * Add SignInFactorCodeView (#237) * update SignInFactorOneView.kt to use password view * Add StrategyKeys.kt * Add SignInFactorCodeHelper.kt * Add a lot of kdoc and update other components * use const * update padding and add timer * add functions for prepare * add helpers for prepare and attempt * Add test for SignInFactorCodeViewModel * move tests * add tests and update snapshots * update field to use showResend * add use another method * move to common AuthHeaderView * put toolbar in header view * add kdoc * update visibility and move text button to button package * add kdoc * update password view to use an impl * move password view into new package * Start building SignInFactorOnePasskeyView.kt * rename buttonConfig to configuration * ready for button updates * update clerk button to use surface * update snapshots * add loading state * add authentication with passkey * add passkey to UiActivity.kt * add click handlers and update viewmodel * add error snackbar * add kdoc * add kdoc * Add SignInFactorCodeView (#237) * update SignInFactorOneView.kt to use password view * Add StrategyKeys.kt * Add SignInFactorCodeHelper.kt * Add a lot of kdoc and update other components * use const * update padding and add timer * add functions for prepare * add helpers for prepare and attempt * Add test for SignInFactorCodeViewModel * move tests * add tests and update snapshots * update field to use showResend * add use another method * move to common AuthHeaderView * put toolbar in header view * add kdoc * update visibility and move text button to button package * add kdoc * update password view to use an impl * update libs * Create common auth scaffold (#243) * add scaffold to SignInFactorOnePasswordView.kt * add scaffold to SignInFactorCodeView.kt * Add ClerkScaffold.kt * replace authheader with scaffold * make code view use scaffold * update password view to use scaffold * delete AuthViewHeader.kt * cleanup * Add SignInGetHelpView (#244) * Add ClerkScaffold.kt * replace authheader with scaffold * make code view use scaffold * add email to and make error snackbar common * add secured by clerk, make button full width * add snapshot test * Add set new password (#245) * clean up ClerkTextField.kt * Update ClerkTopAppbar.kt to not have extra padding * Update Scaffold * add set new password and viewmodel * add new snapshots * update kdoc * update to have valueChange lambda * Add SignInFactorTwoBackupCodeView (#246) * add ui for backup code * Add ViewModel * add click handling * update passkey icon * some cleanup to error snackbar * fix extension and add kdoc * make BackupCodeViewModel.kt internal * remove unused comment * update tests * Add Forgot password view (#247) * add ui for backup code * update tests * update tests * add factor buttons * fix tests * update kdoc * Add alternative factor view (#248) * add ui for alternative methods * Add viewModel * integrate viewmodel * add factor click handler * update snapshots * update tests * Add SignInFactorTwoView (#249) * add SignInFactorTwoView.ktn * add kdoc * fix button ripple * Add AuthStartView (#256) Add auth start view * add error handling * Add SignUpCodeView (#257) * update theme * add linear progress indicator * add kdoc * refactor ClerkCodeInputField.kt * update spacer * add more text states * add prepare to viewmodel * refactor scaffold * integrate viewmodel state with verification state * add kdoc * update to allow adjusting spacing * Fix tests (#258) * update snapshots * update versions * update types * update types * add collectfield view (#260) * add content type * add viewmodel * add calling viewModel * add skip callback * update pr template * Add complete profile view (#261) * add progress indicator and new file * add new fields * add overrides * add viewmodel * update error * cleanup * more cleanup * update implementation * update implementation * rmeove comments * upate version * Create Clerk Theme configuration and composition locals (#164) * add new module * add theme config * update clerk with theme config * update build yaml * update kdoc * rename and create composition local * Remove isDark * add composition locals for text and design and do some refactoring * some cleanup * update lints * update yml for components * Add dokka for ui module (#167) * update dokka * update dokka for ui module * remove old docs * update publishing (#169) * Add computed colors to composition local (#170) * move into packages * refactoring and expose computed colors through composition locals * move into packages * Update ClerkMaterialTheme and typography * cleanup deps * Sam/mobile 121 android universal button component (#172) * remove hilt * some cleanup * add tests for ColorUtils.kt * A lot of refactoring for clerk theme * moved compose into api module and cleaned up * Add button component (#173) * move to core * also preview clerk * Add ButtonComponentConfiguration.kt * very verbose styling, secondary not looking right * clean up generation * setup snapshot tests * update baseline * update vvisibility and kdoc * update * update the golden snapshots * use material theme (#174) * update text (#177) * update text * Remove extra computed typography function * update clerk button snapshot test * use more standard dp (#179) * Add Social buttons (#184) * update button colors to fix style * update snapshots * Fix negative button acting up * simplify button api * update some states and move around * add social button and tests * Update android.yml * update publishing to not be applied everywhere * update all icons (#185) * Add badge item (#186) * rename social button and add immutable collections * add clerk badge and screenshot tests * add clerk logo (#187) * Create Text Field (#188) * start creating input field * Add input field * rename everything to snapshot * rename everything to snapshot * update snapshots and error color * update libraries * Update clerk material theme (#219) * update clerk material theme * Update all call sites to use ClerkMaterialTheme * Add Phone number input field (#220) * Add country selector * Add phone input with country selector * Make ClerkMaterialTheme internal * add phone number formatting and tests * Clean up PhoneInputUtils.kt * format selector * update focus * add autofill (#223) * Add code input field (#224) * Add otp box * add snapshot tests * rename * update ClerkCodeInputField.kt to have error states and supporting text * update snapshots * Add social row and update buttons to use either short or long form (#225) * Add kdoc * update social button to use logo only or text * update snapshot tests and button to respect size * update snapshot tests and button to respect size and add social row * build cleanup * update to latest * Add avatars (#227) * add progress indicator and fallback * add start of avatars * Add forgot password view (#231) * Add ClerkAppbar.kt * add SignInFactorOneComponent.kt * add SecuredByClerk.kt * update dimens to be common * add text button * add beginning of forgot password component * add snapshot test and update golden * undo changes to button * update ClerkButton.kt to use a single icon config * delete dep * Add SignInFactorCodeView (#237) * update SignInFactorOneView.kt to use password view * Add StrategyKeys.kt * Add SignInFactorCodeHelper.kt * Add a lot of kdoc and update other components * use const * update padding and add timer * add functions for prepare * add helpers for prepare and attempt * Add test for SignInFactorCodeViewModel * move tests * add tests and update snapshots * update field to use showResend * add use another method * move to common AuthHeaderView * put toolbar in header view * add kdoc * update visibility and move text button to button package * add kdoc * update password view to use an impl * fix build * Add passkey view (#242) * Update version and rename to VersioningUserAgentMiddleware.kt (#238) * Add SignInFactorCodeView (#237) * update SignInFactorOneView.kt to use password view * Add StrategyKeys.kt * Add SignInFactorCodeHelper.kt * Add a lot of kdoc and update other components * use const * update padding and add timer * add functions for prepare * add helpers for prepare and attempt * Add test for SignInFactorCodeViewModel * move tests * add tests and update snapshots * update field to use showResend * add use another method * move to common AuthHeaderView * put toolbar in header view * add kdoc * update visibility and move text button to button package * add kdoc * update password view to use an impl * move password view into new package * Start building SignInFactorOnePasskeyView.kt * rename buttonConfig to configuration * ready for button updates * update clerk button to use surface * update snapshots * add loading state * add authentication with passkey * add passkey to UiActivity.kt * add click handlers and update viewmodel * add error snackbar * add kdoc * add kdoc * Add SignInFactorCodeView (#237) * update SignInFactorOneView.kt to use password view * Add StrategyKeys.kt * Add SignInFactorCodeHelper.kt * Add a lot of kdoc and update other components * use const * update padding and add timer * add functions for prepare * add helpers for prepare and attempt * Add test for SignInFactorCodeViewModel * move tests * add tests and update snapshots * update field to use showResend * add use another method * move to common AuthHeaderView * put toolbar in header view * add kdoc * update visibility and move text button to button package * add kdoc * update password view to use an impl * update libs * Create common auth scaffold (#243) * add scaffold to SignInFactorOnePasswordView.kt * add scaffold to SignInFactorCodeView.kt * Add ClerkScaffold.kt * replace authheader with scaffold * make code view use scaffold * update password view to use scaffold * delete AuthViewHeader.kt * cleanup * Add SignInGetHelpView (#244) * Add ClerkScaffold.kt * replace authheader with scaffold * make code view use scaffold * add email to and make error snackbar common * add secured by clerk, make button full width * add snapshot test * Add set new password (#245) * clean up ClerkTextField.kt * Update ClerkTopAppbar.kt to not have extra padding * Update Scaffold * add set new password and viewmodel * add new snapshots * update kdoc * update to have valueChange lambda * Add SignInFactorTwoBackupCodeView (#246) * add ui for backup code * Add ViewModel * add click handling * update passkey icon * some cleanup to error snackbar * fix extension and add kdoc * make BackupCodeViewModel.kt internal * remove unused comment * update tests * Add Forgot password view (#247) * add ui for backup code * update tests * update tests * add factor buttons * fix tests * update kdoc * Add alternative factor view (#248) * add ui for alternative methods * Add viewModel * integrate viewmodel * add factor click handler * update snapshots * update tests * Add SignInFactorTwoView (#249) * add SignInFactorTwoView.ktn * add kdoc * fix button ripple * Add AuthStartView (#256) Add auth start view * add error handling * Add SignUpCodeView (#257) * update theme * add linear progress indicator * add kdoc * refactor ClerkCodeInputField.kt * update spacer * add more text states * add prepare to viewmodel * refactor scaffold * integrate viewmodel state with verification state * add kdoc * update to allow adjusting spacing * Fix tests (#258) * update snapshots * update versions * update types * update types * add collectfield view (#260) * add content type * add viewmodel * add calling viewModel * add skip callback * update pr template * Add complete profile view (#261) * add progress indicator and new file * add new fields * add overrides * add viewmodel * update error * cleanup * more cleanup * update implementation * update implementation * rmeove comments * add new navigation deps * first pass at authview * update back press * add signup with redirect * add auth state for authstart viewmodel * update versions * update versions * Refactor: Handle null IDs and implement SignInOrUp Add null checks for factor IDs and implement the SignInOrUp authentication flow. Co-authored-by: sam <[email protected]> * fix tests and improve UX (#270) * fix branch * update verification text states * refactoring * start on progress * fix tests * update snapshots * cleanup button styles * Add dark theme overrides (#272) * add ability to override dark mode * trying to find button issue * May layout stack vertically when needed (#273) * handle width stacking * handle width stacking * update snapshots * Add backup codes view (#274) * Add backup code view * add buttons * add snapshot test * User profile add email view (#275) * move auth scaffold * add add email screen * add guards and state * Add UserProfileMfaView (#276) * refactor error snackbar * some moving around * some moving around * start building country row * add selected border * add text button * add viewmodel * update to integrate ViewModel * fix detekt * update selected phone number * Add UserProfleMfaAddTotpView (#277) * Update dependency io.mockk:mockk to v1.14.6 (#271) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * create add totp view * Add UserProfileMfaAddTotpView.kt * add snapshots * add snapshots * add kdoc * update snapshots --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * Add UserProfileVerifyView (#278) * add beginning of UserProfileVerifyView.kt * add UserProfileVerifyViewModel.kt * add preview * add error handling * Add UserProfileAddConnectedAccountView (#281) * Update dependency io.mockk:mockk to v1.14.6 (#271) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * Update social button fallback * Update social button fallback * cleanup * add viewmodel * add kdoc * make viewmodel internal * remove experimental mode --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * Add DeviceRow (#286) * everything except button * add menu * add sign out function * make optional * add app distribution (#287) * update to distributed app * update version code * Design review for auth view (#288) * start improving button * update error message to always have a default * fix error not showing * remove proactive prepare * update text field * add more click radius to icon * add custom text button padding * update to keyboard type * fix auto correct * update tests and snapshots * update tests * small update to BackupCodesView.kt * update snapshots * update enabled * Add mfa section (#289) * add view model * add section * update to use viewmodel and sort * make internal * make side effect * Add UserProfileEmailRow (#290) * update background * add viewmodel * add viewmodel * make viewModel and class internal * fix top app bar * update screenshots * Add UserProfileMfaRow (#292) * create common menu item * cleanup and add generics * update UserProfileDeviceRow.kt * start adding the menu actions * add text * add functions for deleting * add functions for deleting * start building the dialog * create row * Add locale to sign up (#293) * Create LocaleProvider.kt * add to ConfigurationManager.kt * Add to signup.create * update some kdoc * Add mfa section (#294) * create section and common section header * create section and common section header * add clickable footer * update snapshots * Add password section (#295) * cleanup * update to use callbacks * Add new snapshots * update click * update kdoc * add delete * make function internal * passkey section working up to add * update padding * update padding * Add delete account section (#296) * add section * add view model * revert sdk * Add some of security view, navigation, account view, and update profile view (#300) * wip * start building security view * horizontal padding * update padding * more messing with padding * all spacing correct * update authstar * add nav for profile * start building account view * move UserProfileAccountView.kt * add action row * add action row * update ui * update ui * update workbench * update user profile view * add edit button * add menu * add click listener * add remove photo * first and last name good * update routing * cleanup * update snapshots * update scaffolding * Add ability to add or reset password from security (#317) * add horizontal padding * update view to use password actions * change title * update fields and react to success * add success handler to password view * refactor password views to use centralized keyboard options and improve background handling * add scrolling * update snapshots * Add unit tests for user profile viewmodels (#318) * Add renaming passkeys (#319) * add auto refreshing * add ui for renaming password * add viewmodel * add userprofile state * update clear callsite * formatting and add scaffold * renaming and deleting passkey done * don't redeclare * don't redeclare * fix all unit tests * ignore * ignore * ignore * Add and verify phone number for MFA (#320) * add bottom sheet * get ready to integrate clicks * integrate add mfa view * add all the way through setting default * start adding verify phone number * add verify view to nav * up through verify * adding phone number updated * date phone test * fix tests * update insets * update insets * update fetching * update top bar * remove recreating backstack * Hookup backup codes screen (#322) * update authview to not have a scaffold * update navigation and spcing * update states * pop backup codes * update navigation branching * update view model to reset * fix test * update snapshots * Add delete account (#326) * add preview provider * add viewmodel * add delete account * chore(deps): update actions/setup-java action to v5 (#328) * Sam/mobile 294 android userprofile authenticator app (#323) * Create Clerk Theme configuration and composition locals (#164) * add new module * add theme config * update clerk with theme config * update build yaml * update kdoc * rename and create composition local * Remove isDark * add composition locals for text and design and do some refactoring * some cleanup * update lints * update yml for components * Add dokka for ui module (#167) * update dokka * update dokka for ui module * remove old docs * update publishing (#169) * Add computed colors to composition local (#170) * move into packages * refactoring and expose computed colors through composition locals * move into packages * Update ClerkMaterialTheme and typography * cleanup deps * Sam/mobile 121 android universal button component (#172) * remove hilt * some cleanup * add tests for ColorUtils.kt * A lot of refactoring for clerk theme * moved compose into api module and cleaned up * Add button component (#173) * move to core * also preview clerk * Add ButtonComponentConfiguration.kt * very verbose styling, secondary not looking right * clean up generation * setup snapshot tests * update baseline * update vvisibility and kdoc * update * update the golden snapshots * use material theme (#174) * update text (#177) * update text * Remove extra computed typography function * update clerk button snapshot test * use more standard dp (#179) * Add Social buttons (#184) * update button colors to fix style * update snapshots * Fix negative button acting up * simplify button api * update some states and move around * add social button and tests * Update android.yml * update publishing to not be applied everywhere * update all icons (#185) * Add badge item (#186) * rename social button and add immutable collections * add clerk badge and screenshot tests * add clerk logo (#187) * Create Text Field (#188) * start creating input field * Add input field * rename everything to snapshot * rename everything to snapshot * update snapshots and error color * update libraries * Update clerk material theme (#219) * update clerk material theme * Update all call sites to use ClerkMaterialTheme * Add Phone number input field (#220) * Add country selector * Add phone input with country selector * Make ClerkMaterialTheme internal * add phone number formatting and tests * Clean up PhoneInputUtils.kt * format selector * update focus * add autofill (#223) * Add code input field (#224) * Add otp box * add snapshot tests * rename * update ClerkCodeInputField.kt to have error states and supporting text * update snapshots * Add social row and update buttons to use either short or long form (#225) * Add kdoc * update social button to use logo only or text * update snapshot tests and button to respect size * update snapshot tests and button to respect size and add social row * build cleanup * update to latest * Add avatars (#227) * add progress indicator and fallback * add start of avatars * Add forgot password view (#231) * Add ClerkAppbar.kt * add SignInFactorOneComponent.kt * add SecuredByClerk.kt * update dimens to be common * add text button * add beginning of forgot password component * add snapshot test and update golden * undo changes to button * update ClerkButton.kt to use a single icon config * delete dep * Add SignInFactorCodeView (#237) * update SignInFactorOneView.kt to use password view * Add StrategyKeys.kt * Add SignInFactorCodeHelper.kt * Add a lot of kdoc and update other components * use const * update padding and add timer * add functions for prepare * add helpers for prepare and attempt * Add test for SignInFactorCodeViewModel * move tests * add tests and update snapshots * update field to use showResend * add use another method * move to common AuthHeaderView * put toolbar in header view * add kdoc * update visibility and move text button to button package * add kdoc * update password view to use an impl * fix build * Add passkey view (#242) * Update version and rename to VersioningUserAgentMiddleware.kt (#238) * Add SignInFactorCodeView (#237) * update SignInFactorOneView.kt to use password view * Add StrategyKeys.kt * Add SignInFactorCodeHelper.kt * Add a lot of kdoc and update other components * use const * update padding and add timer * add functions for prepare * add helpers for prepare and attempt * Add test for SignInFactorCodeViewModel * move tests * add tests and update snapshots * update field to use showResend * add use another method * move to common AuthHeaderView * put toolbar in header view * add kdoc * update visibility and move text button to button package * add kdoc * update password view to use an impl * move password view into new package * Start building SignInFactorOnePasskeyView.kt * rename buttonConfig to configuration * ready for button updates * update clerk button to use surface * update snapshots * add loading state * add authentication with passkey * add passkey to UiActivity.kt * add click handlers and update viewmodel * add error snackbar * add kdoc * add kdoc * Add SignInFactorCodeView (#237) * update SignInFactorOneView.kt to use password view * Add StrategyKeys.kt * Add SignInFactorCodeHelper.kt * Add a lot of kdoc and update other components * use const * update padding and add timer * add functions for prepare * add helpers for prepare and attempt * Add test for SignInFactorCodeViewModel * move tests * add tests and update snapshots * update field to use showResend * add use another method * move to common AuthHeaderView * put toolbar in header view * add kdoc * update visibility and move text button to button package * add kdoc * update password view to use an impl * update libs * Create common auth scaffold (#243) * add scaffold to SignInFactorOnePasswordView.kt * add scaffold to SignInFactorCodeView.kt * Add ClerkScaffold.kt * replace authheader with scaffold * make code view use scaffold * update password view to use scaffold * delete AuthViewHeader.kt * cleanup * Add SignInGetHelpView (#244) * Add ClerkScaffold.kt * replace authheader with scaffold * make code view use scaffold * add email to and make error snackbar common * add secured by clerk, make button full width * add snapshot test * Add set new password (#245) * clean up ClerkTextField.kt * Update ClerkTopAppbar.kt to not have extra padding * Update Scaffold * add set new password and viewmodel * add new snapshots * update kdoc * update to have valueChange lambda * Add SignInFactorTwoBackupCodeView (#246) * add ui for backup code * Add ViewModel * add click handling * update passkey icon * some cleanup to error snackbar * fix extension and add kdoc * make BackupCodeViewModel.kt internal * remove unused comment * update tests * Add Forgot password view (#247) * add ui for backup code * update tests * update tests * add factor buttons * fix tests * update kdoc * Add alternative factor view (#248) * add ui for alternative methods * Add viewModel * integrate viewmodel * add factor click handler * update snapshots * update tests * Add SignInFactorTwoView (#249) * add SignInFactorTwoView.ktn * add kdoc * fix button ripple * Add AuthStartView (#256) Add auth start view * add error handling * Add SignUpCodeView (#257) * update theme * add linear progress indicator * add kdoc * refactor ClerkCodeInputField.kt * update spacer * add more text states * add prepare to viewmodel * refactor scaffold * integrate viewmodel state with verification state * add kdoc * update to allow adjusting spacing * Fix tests (#258) * update snapshots * update versions * update types * update types * add collectfield view (#260) * add content type * add viewmodel * add calling viewModel * add skip callback * update pr template * Add complete profile view (#261) * add progress indicator and new file * add new fields * add overrides * add viewmodel * update error * cleanup * more cleanup * update implementation * update implementation * rmeove comments * upate version * Create Clerk Theme configuration and composition locals (#164) * add new module * add theme config * update clerk with theme config * update build yaml * update kdoc * rename and create composition local * Remove isDark * add composition locals for text and design and do some refactoring * some cleanup * update lints * update yml for components * Add dokka for ui module (#167) * update dokka * update dokka for ui module * remove old docs * update publishing (#169) * Add computed colors to composition local (#170) * move into packages * refactoring and expose computed colors through composition locals * move into packages * Update ClerkMaterialTheme and typography * cleanup deps * Sam/mobile 121 android universal button component (#172) * remove hilt * some cleanup * add tests for ColorUtils.kt * A lot of refactoring for clerk theme * moved compose into api module and cleaned up * Add button component (#173) * move to core * also preview clerk * Add ButtonComponentConfiguration.kt * very verbose styling, secondary not looking right * clean up generation * setup snapshot tests * update baseline * update vvisibility and kdoc * update * update the golden snapshots * use material theme (#174) * update text (#177) * update text * Remove extra computed typography function * update clerk button snapshot test * use more standard dp (#179) * Add Social buttons (#184) * update button colors to fix style * update snapshots * Fix negative button acting up * simplify button api * update some states and move around * add social button and tests * Update android.yml * update publishing to not be applied everywhere * update all icons (#185) * Add badge item (#186) * rename social button and add immutable collections * add clerk badge and screenshot tests * add clerk logo (#187) * Create Text Field (#188) * start creating input field * Add input field * rename everything to snapshot * rename everything to snapshot * update snapshots and error color * update libraries * Update clerk material theme (#219) * update clerk material theme * Update all call sites to use ClerkMaterialTheme * Add Phone number input field (#220) * Add country selector * Add phone input with country selector * Make ClerkMaterialTheme internal * add phone number formatting and tests * Clean up PhoneInputUtils.kt * format selector * update focus * add autofill (#223) * Add code input field (#224) * Add otp box * add snapshot tests * rename * update ClerkCodeInputField.kt to have error states and supporting text * update snapshots * Add social row and update buttons to use either short or long form (#225) * Add kdoc * update social button to use logo only or text * update snapshot tests and button to respect size * update snapshot tests and button to respect size and add social row * build cleanup * update to latest * Add avatars (#227) * add progress indicator and fallback * add start of avatars * Add forgot password view (#231) * Add ClerkAppbar.kt * add SignInFactorOneComponent.kt * add SecuredByClerk.kt * update dimens to be common * add text button * add beginning of forgot password component * add snapshot test and update golden * undo changes to button * update ClerkButton.kt to use a single icon config * delete dep * Add SignInFactorCodeView (#237) * update SignInFactorOneView.kt to use password view * Add StrategyKeys.kt * Add SignInFactorCodeHelper.kt * Add a lot of kdoc and update other components * use const * update padding and add timer * add functions for prepare * add helpers for prepare and attempt * Add test for SignInFactorCodeViewModel * move tests * add tests and update snapshots * update field to use showResend * add use another method * move to common AuthHeaderView * put toolbar in header view * add kdoc * update visibility and move text button to button package * add kdoc * update password view to use an impl * fix build * Add passkey view (#242) * Update version and rename to VersioningUserAgentMiddleware.kt (#238) * Add SignInFactorCodeView (#237) * update SignInFactorOneView.kt to use password view * Add StrategyKeys.kt * Add SignInFactorCodeHelper.kt * Add a lot of kdoc and update other components * use const * update padding and add timer * add functions for prepare * add helpers for prepare and attempt * Add test for SignInFactorCodeViewModel * move tests * add tests and update snapshots * update field to use showResend * add use another method * move to common AuthHeaderView * put toolbar in header view * add kdoc * update visibility and move text button to button package * add kdoc * update password view to use an impl * move password view into new package * Start building SignInFactorOnePasskeyView.kt * rename buttonConfig to configuration * ready for button updates * update clerk button to use surface * update snapshots * add loading state * add authentication with passkey * add passkey to UiActivity.kt * add click handlers and update viewmodel * add error snackbar * add kdoc * add kdoc * Add SignInFactorCodeView (#237) * update SignInFactorOneView.kt to use password view * Add StrategyKeys.kt * Add SignInFactorCodeHelper.kt * Add a lot of kdoc and update other components * use const * update padding and add timer * add functions for prepare * add helpers for prepare and attempt * Add test for SignInFactorCodeViewModel * move tests * add tests and update snapshots * update field to use showResend * add use another method * move to common AuthHeaderView * put toolbar in header view * add kdoc * update visibility and move text button to button package * add kdoc * update password view to use an impl * update libs * Create common auth scaffold (#243) * add scaffold to SignInFactorOnePasswordView.kt * add scaffold to SignInFactorCodeView.kt * Add ClerkScaffold.kt * replace authheader with scaffold * make code view use scaffold * update password view to use scaffold * delete AuthViewHeader.kt * cleanup * Add SignInGetHelpView (#244) * Add ClerkScaffold.kt * replace authheader with scaffold * make code view use scaffold * add email to and make error snackbar common * add secured by clerk, make button full width * add snapshot test * Add set new password (#245) * clean up ClerkTextField.kt * Update ClerkTopAppbar.kt to not have extra padding * Update Scaffold * add set new password and viewmodel * add new snapshots * update kdoc * update to have valueChange lambda * Add SignInFactorTwoBackupCodeView (#246) * add ui for backup code * Add ViewModel * add click handling * update passkey icon * some cleanup to error snackbar * fix extension and add kdoc * make BackupCodeViewModel.kt internal * remove unused comment * update tests * Add Forgot password view (#247) * add ui for backup code * update tests * update tests * add factor buttons * fix tests * update kdoc * Add alternative factor view (#248) * add ui for alternative methods * Add viewModel * integrate viewmodel * add factor click handler * update snapshots * update tests * Add SignInFactorTwoView (#249) * add SignInFactorTwoView.ktn * add kdoc * fix button ripple * Add AuthStartView (#256) Add auth start view * add error handling * Add SignUpCodeView (#257) * update theme * add linear progress indicator * add kdoc * refactor ClerkCodeInputField.kt * update spacer * add more text states * add prepare to viewmodel * refactor scaffold * integrate viewmodel state with verification state * add kdoc * update to allow adjusting spacing * Fix tests (#258) * update snapshots * update versions * update types * update types * add collectfield view (#260) * add content type * add viewmodel * add calling viewModel * add skip callback * update pr template * Add complete profile view (#261) * add progress indicator and new file * add new fields * add overrides * add viewmodel * update error * cleanup * more cleanup * update implementation * update implementation * rmeove comments * add new navigation deps * first pass at authview * update back press * add signup with redirect * add auth state for authstart viewmodel * update versions * update versions * Refactor: Handle null IDs and implement SignInOrUp Add null checks for factor IDs and implement the SignInOrUp authentication flow. Co-authored-by: sam <[email protected]> * fix tests and improve UX (#270) * fix branch * update verification text states * refactoring * start on progress * fix tests * update snapshots * cleanup button styles * Add dark theme overrides (#272) * add ability to override dark mode * trying to find button issue * May layout stack vertically when needed (#273) * handle width stacking * handle width stacking * update snapshots * Add backup codes view (#274) * Add backup code view * add buttons * add snapshot test * User profile add email view (#275) * move auth scaffold * add add email screen * add guards and state * Add UserProfileMfaView (#276) * refactor error snackbar * some moving around * some moving around * start building country row * add selected border * add text button * add viewmodel * update to integrate ViewModel * fix detekt * update selected phone number * Add UserProfleMfaAddTotpView (#277) * Update dependency io.mockk:mockk to v1.14.6 (#271) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * create add totp view * Add UserProfileMfaAddTotpView.kt * add snapshots * add snapshots * add kdoc * update snapshots --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * Add UserProfileVerifyView (#278) * add beginning of UserProfileVerifyView.kt * add UserProfileVerifyViewModel.kt * add preview * add error handling * Add UserProfileAddConnectedAccountView (#281) * Update dependency io.mockk:mockk to v1.14.6 (#271) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * Update social button fallback * Update social button fallback * cleanup * add viewmodel * add kdoc * make viewmodel internal * remove experimental mode --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * Add DeviceRow (#286) * everything except button * add menu * add sign out function * make optional * add app distribution (#287) * update to distributed app * update version code * Design review for auth view (#288) * start improving button * update error message to always have a default * fix error not showing * remove proactive prepare * update text field * add more click radius to icon * add custom text button padding * update to keyboard type * fix auto correct * update tests and snapshots * update tests * small update to BackupCodesView.kt * update snapshots * update enabled * Add mfa section (#289) * add view model * add section * update to use viewmodel and sort * make internal * make side effect * Add UserProfileEmailRow (#290) * update background * add viewmodel * add viewmodel * make viewModel and class internal * fix top app bar * update screenshots * Add UserProfileMfaRow (#292) * create common menu item * cleanup and add generics * update UserProfileDeviceRow.kt * start adding the menu actions * add text * add functions for deleting * add functions for deleting * start building the dialog * create row * Add locale to sign up (#293) * Create LocaleProvider.kt * add to ConfigurationManager.kt * Add to signup.create * update some kdoc * Add mfa section (#294) * create section and common section header * create section and common section header * add clickable footer * update snapshots * Add password section (#295) * cleanup * update to use callbacks * Add new snapshots * update click * update kdoc * add delete * make function internal * passkey section working up to add * update padding * update padding * Add delete account section (#296) * add section * add view model * revert sdk * Add some of security view, navigation, account view, and update profile view (#300) * wip * start building security view * horizontal padding * update padding * more messing with padding * all spacing correct * update authstar * add nav for profile * start building account view * move UserProfileAccountView.kt * add action row * add action row * update ui * update ui * update workbench * update user profile view * add edit button * add menu * add click listener * add remove photo * first and last name good * update routing * cleanup * update snapshots * update scaffolding * Add ability to add or reset password from security (#317) * add horizontal padding * update view to use password actions * change title * update fields and react to success * add success handler to password view * refactor password views to use centralized keyboard options and improve background handling * add scrolling * update snapshots * Add unit tests for user profile viewmodels (#318) * Add renaming passkeys (#319) * add auto refreshing * add ui for renaming password * add viewmodel * add userprofile state * update clear callsite * formatting and add scaffold * renaming and deleting passkey done * don't redeclare * don't redeclare * fix all unit tests * ignore * ignore * ignore * Add and verify phone number for MFA (#320) * add bottom sheet * get ready to integrate clicks * integrate add mfa view * add all the way through setting default * start adding verify phone number * add verify view to nav * up through verify * adding phone number updated * date phone test * fix tests * update insets * update insets * update fetching * update top bar * remove recreating backstack * Hookup backup codes screen (#322) * update authview to not have a scaffold * update navigation and spcing * update states * pop backup codes * update navigation branching * update view model to reset * fix test * update snapshots * start building authenticator app --------- Co-authored-by: Cursor Agent <[email protected]> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * chore(deps): update dependency com.google.gms.google-services to v4.4.4 (#324) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * chore(deps): update actions/setup-java action to v5 --------- Co-authored-by: Sam Wolfand <[email protected]> Co-authored-by: Cursor Agent <[email protected]> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * Add auth with auth app (#329) * add removing * add auth app works * auth app working * Fix unit test compilation errors after Verified state class change (#330) * Initial plan * Fix failing unit test by updating Verified state references The test was failing because Verified is now a data class with an optional backupCodes parameter. Updated test assertions to call the constructor with Verified() instead of referencing it as Verified. Also updated the attemptTotp test to properly mock TOTPResource with null backupCodes. Co-authored-by: swolfand <[email protected]> --------- Co-authored-by: copilot-swe-agent[bot] <[email protected]> Co-authored-by: swolfand <[email protected]> --------- Co-authored-by: Copilot <[email protected]> Co-authored-by: swolfand <[email protected]> * chore(deps): update gradle/actions action to v5 (#332) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * chore(deps): update actions/upload-artifact action to v5 (#331) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * chore(deps): update actions/checkout action to v5 (#327) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * update deps * remove test * clip photo to circle * make delete account work * fix null null * Finish ProfileView (#338) * update documentation and add extension functions * start building profile * add email section * add medium weight extension * start building phone row * start adding action handling * start adding add phone view * create UserProfilePhoneSection.kt.kt * start working in external account row * add UserProfileExternalAccountRow.kt * Add UserProfileExternalAccountSection.kt * add userprofile connected account section * update spacing * more spacing * add secured by clerk footer * add dark variant url * add remove exxternal account * add connected account bottom sheet * update clerk social row * integrate verify into bottom sheet * add email verification * create bottom sheet content * up through email verification no backup codes * up through email verification no backup codes * add backup codes view * pr review * fix test * update snapshots * add error state (#341) * Move User Security view states to bottom sheet (#342) * Start moving views to bottom sheet * move password to bottom sheet * start trying to add phone number * refactor * update user profile security view * update tests * add snapshots * add new version * Add username to user profile (#344) * Add username to UserProfileAccountView Co-authored-by: sam <[email protected]> * update username --------- Co-authored-by: Cursor Agent <[email protected]> * Fix multiple sms number state error (#345) * Refactor: Manage selected phone number state in parent composable Co-authored-by: sam <[email protected]> * Test: Assert loading and success states in code attempt tests Co-authored-by: sam <[email protected]> --------- Co-authored-by: Cursor Agent <[email protected]> * Sam/mobile 305 design feedback on userprofile (#350) * update versions * start doing QA * more design feedback * more gutter fixing * more updates * add dismissing * change scrim * change scrim * animation * fix status bar * fix ripple * updates to phone row and menu * update shadow * cleanup * fix button * remove padding * update callbacks * more ui updates * fix verification and bottom sheet * update snapshots * update error state add phone number * update versions * remove error handling from verify * update add email to noloner have on error * Handle requirements missing after auth (#357) * fix errors * add explicit email and phone * handle requirements needed * update build * fix tests * update unit tests to parallel * update test runner * fix(deps): update ksp monorepo to v2.3.2 (#354) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * Design feedback user profile v2 (#363) * edit string * update pressed state for account button * add outline for avatarview * Update text style in avatar view for consistency * fix broken button and delete unused class * fix shadow * suppress lint * suppress lint * fix signin factor so that phone number is presented * update reset * updated shadows * disable autocomplete on password * update snapshots * resize on small screen * update code input field * update version * update version * UserProfile design feedback v3 (#365) * remove clerk branding on non auth * remove clerk branding on non auth * make icons always the same size * update button text * remove progress indicator * stack when too small * add 12 dp padding * Update snapshots * update versions * Add telemetry (#368) * add new module * Add common main * add throttler * add android implementation * Add TelemetryTypes.kt * add TelemetryTypes.kt * Add TelemetryEvents.kt * Add interface for TelemetryEventThrottler.kt * Add AndroidTelemetryEventThrottler.kt * start adding TelemetryEnvironment.kt * add instance type * update environment * kdoc * Add commonMain collector * Add commonMain collector * integrate telemetry * update to ignore case * Implement per-element ui theming (#367) * Refactor: Pass ClerkTheme to components Pass ClerkTheme to components to allow for custom theming. Co-authored-by: sam <[email protected]> * spotless * update passkey rename view * always also check for a theme --------- Co-authored-by: Cursor Agent <[email protected]> * Add UserButton with telemetry (#371) * add user button * add telemetry * pop show profile * remove key * Expose clerk typography defaults for customization (#374) * feat: Add ClerkTypographyDefaults for easier theming Co-authored-by: sam <[email protected]> * Add Compose BOM and foundation to test dependencies Co-authored-by: sam <[email protected]> * Checkpoint before follow-up message Co-authored-by: sam <[email protected]> * Refactor ClerkTypography to use defaults and nullable parameters Co-authored-by: sam <[email protected]> * formatting * update snapshots --------- Co-authored-by: Cursor Agent <[email protected]> * make image service internal * Pass clerk theme to elements for override (#382) * Refactor: Allow passing ClerkTheme to composables Co-authored-by: sam <[email protected]> * Expose clerk typography defaults for customization (#374) * feat: Add ClerkTypographyDefaults for easier theming Co-authored-by: sam <[email protected]> * Add Compose BOM and foundation to test dependencies Co-authored-by: sam <[email protected]> * Checkpoint before follow-up message Co-authored-by: sam <[email protected]> * Refactor ClerkTypography to use defaults and nullable parameters Co-authored-by: sam <[email protected]> * formatting * update snapshots --------- Co-authored-by: Cursor Agent <[email protected]> * make image service internal * spotless * update theme override * fix moving authstate * fix moving authstate * fix moving authstate * update baseline * Fix: Inherit parent theme when ClerkTheme is null Co-authored-by: sam <[email protected]> * remove on auth complete * update to theme * Refactor: Pass ClerkTheme directly to ClerkMaterialTheme Co-authored-by: sam <[email protected]> * Refactor ClerkThemeOverrideProvider to conditionally provide theme Co-authored-by: sam <[email protected]> * Refactor ClerkThemeOverrideProvider to use parent theme Co-authored-by: sam <[email protected]> * remove theme --------- Co-authored-by: Cursor Agent <[email protected]> * fix issue * fix conflict * Refactor sign-up parameter handling in CollectFieldViewModel * update version * update CompleteProfileViewModel.kt * Add string translations for languages (#396) * Add internationalization for app name and sign out Co-authored-by: sam <[email protected]> * feat: Add translations for Arabic, German, Greek, French, Hindi, Italian, Japanese, and Portuguese Co-authored-by: sam <[email protected]> --------- Co-authored-by: Cursor Agent <[email protected]> * update version * chore(deps): update dependency com.squareup.sort-dependencies to v0.16 (#393) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * add manual-release.yml * fix versions * update for components * Hide secured by clerk view (#397) * add is branded * localize secured by * update photos * Add legal consent (#398) * fix issue * update spacing * add spacing * update socila button * Add prebuilt ui sample * update readme * update button android gradle.properties * Change telemetry dependency from implementation to api * Add Maven publishing configuration for Clerk Android Telemetry module * Change dependency from compileOnly to api for Clerk source API * fix social button * update versions * Add clerk branding to profile (#409) * Add SecuredByClerkView and spacing to profile scaffold Co-authored-by: sam <[email protected]> * update snapshots --------- Co-authored-by: Cursor Agent <[email protected]> * update versions * update release * prep release --------- Co-authored-by: Cursor Agent <[email protected]> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Copilot <[email protected]> Co-authored-by: swolfand <[email protected]>
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.
Summary of changes
Adds the "Secured by Clerk" branding to the
ClerkThemedProfileScaffold. This ensures thatUserProfileViewand other profile-related screens display the Clerk branding, consistent with authentication flows, whenClerk.isBrandedis enabled.