Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions packages/ui/src/common/connections.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import * as Common from '@clerk/elements/common';
import * as React from 'react';

import { PROVIDERS } from '~/constants/providers';
import { useAppearance } from '~/hooks/use-appearance';
import { useAppearance } from '~/contexts';
import { useEnabledConnections } from '~/hooks/use-enabled-connections';
import { Button } from '~/primitives/button';
import * as Icon from '~/primitives/icon';
Expand Down Expand Up @@ -58,7 +58,7 @@ export function Connections(
props: { columns?: number } & Pick<React.ComponentProps<typeof Button>, 'disabled' | 'textVisuallyHidden'>,
) {
const enabledConnections = useEnabledConnections();
const { layout } = useAppearance();
const { layout } = useAppearance().parsedAppearance;
const hasConnection = enabledConnections.length > 0;
const textVisuallyHidden =
typeof props?.textVisuallyHidden !== 'undefined'
Expand Down
2 changes: 1 addition & 1 deletion packages/ui/src/components/sign-in/sign-in.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ import { SignInGetHelp } from '~/components/sign-in/steps/get-help';
import { SignInResetPassword } from '~/components/sign-in/steps/reset-password';
import { SignInStart } from '~/components/sign-in/steps/start';
import { SignInVerifications } from '~/components/sign-in/steps/verifications';
import { useAppearance, AppearanceProvider, type Appearance } from '~/contexts';
import { type Appearance, AppearanceProvider, useAppearance } from '~/contexts';

/**
* Implementation Details:
Expand Down
6 changes: 3 additions & 3 deletions packages/ui/src/components/sign-in/steps/choose-session.tsx
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
import { useClerk } from '@clerk/clerk-react';
import { cva } from 'cva';
import { Button } from 'react-aria-components';
import { LOCALIZATION_NEEDED } from '~/constants/localizations';

import { useAppearance } from '~/hooks/use-appearance';
import { LOCALIZATION_NEEDED } from '~/constants/localizations';
import { useAppearance } from '~/contexts';
import { useDevModeWarning } from '~/hooks/use-dev-mode-warning';
import { useDisplayConfig } from '~/hooks/use-display-config';
import { useLocalizations } from '~/hooks/use-localizations';
Expand Down Expand Up @@ -59,7 +59,7 @@ const sessionAction = cva({
export function SignInChooseSession() {
const clerk = useClerk();
const { t } = useLocalizations();
const { layout } = useAppearance();
const { layout } = useAppearance().parsedAppearance;
const isDev = useDevModeWarning();
const { branded } = useDisplayConfig();

Expand Down
17 changes: 8 additions & 9 deletions packages/ui/src/components/sign-in/steps/choose-strategy.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import { Connections } from '~/common/connections';
import { GlobalError } from '~/common/global-error';
import { useGetHelp } from '~/components/sign-in/hooks/use-get-help';
import { LOCALIZATION_NEEDED } from '~/constants/localizations';
import { useAppearance } from '~/hooks/use-appearance';
import { useAppearance } from '~/contexts';
import { useDevModeWarning } from '~/hooks/use-dev-mode-warning';
import { useDisplayConfig } from '~/hooks/use-display-config';
import { useEnabledConnections } from '~/hooks/use-enabled-connections';
Expand Down Expand Up @@ -48,12 +48,17 @@ function FirstFactorConnections({
export function SignInChooseStrategy() {
const enabledConnections = useEnabledConnections();
const { t } = useLocalizations();
const { layout } = useAppearance();
const { layout } = useAppearance().parsedAppearance;
const { applicationName, branded, logoImageUrl, homeUrl } = useDisplayConfig();
const { setShowHelp } = useGetHelp();

const hasConnection = enabledConnections.length > 0;
const isDev = useDevModeWarning();
const cardLogoProps = {
href: layout?.logoLinkUrl || homeUrl,
src: layout?.logoImageUrl || logoImageUrl,
alt: applicationName,
};
const cardFooterProps = {
branded,
helpPageUrl: layout?.helpPageUrl,
Expand All @@ -69,13 +74,7 @@ export function SignInChooseStrategy() {
<Card.Root banner={isDev ? LOCALIZATION_NEEDED.developmentMode : null}>
<Card.Content>
<Card.Header>
{logoImageUrl ? (
<Card.Logo
href={homeUrl}
src={logoImageUrl}
alt={applicationName}
/>
) : null}
<Card.Logo {...cardLogoProps} />
<Card.Title>{t('signIn.alternativeMethods.title')}</Card.Title>
<Card.Description>{t('signIn.alternativeMethods.subtitle')}</Card.Description>
</Card.Header>
Expand Down
17 changes: 8 additions & 9 deletions packages/ui/src/components/sign-in/steps/forgot-password.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import { Connections } from '~/common/connections';
import { GlobalError } from '~/common/global-error';
import { useGetHelp } from '~/components/sign-in/hooks/use-get-help';
import { LOCALIZATION_NEEDED } from '~/constants/localizations';
import { useAppearance } from '~/hooks/use-appearance';
import { useAppearance } from '~/contexts';
import { useDevModeWarning } from '~/hooks/use-dev-mode-warning';
import { useDisplayConfig } from '~/hooks/use-display-config';
import { useLocalizations } from '~/hooks/use-localizations';
Expand All @@ -17,11 +17,16 @@ import { Separator } from '~/primitives/separator';

export function SignInForgotPassword() {
const { t } = useLocalizations();
const { layout } = useAppearance();
const { layout } = useAppearance().parsedAppearance;
const { applicationName, branded, logoImageUrl, homeUrl } = useDisplayConfig();
const { setShowHelp } = useGetHelp();

const isDev = useDevModeWarning();
const cardLogoProps = {
href: layout?.logoLinkUrl || homeUrl,
src: layout?.logoImageUrl || logoImageUrl,
alt: applicationName,
};
const cardFooterProps = {
branded,
helpPageUrl: layout?.helpPageUrl,
Expand All @@ -37,13 +42,7 @@ export function SignInForgotPassword() {
<Card.Root banner={isDev ? LOCALIZATION_NEEDED.developmentMode : null}>
<Card.Content>
<Card.Header>
{logoImageUrl ? (
<Card.Logo
href={homeUrl}
src={logoImageUrl}
alt={applicationName}
/>
) : null}
<Card.Logo {...cardLogoProps} />
<Card.Title>{t('signIn.forgotPasswordAlternativeMethods.title')}</Card.Title>
</Card.Header>

Expand Down
17 changes: 8 additions & 9 deletions packages/ui/src/components/sign-in/steps/get-help.tsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { useGetHelp } from '~/components/sign-in/hooks/use-get-help';
import { LOCALIZATION_NEEDED } from '~/constants/localizations';
import { useAppearance } from '~/hooks/use-appearance';
import { useAppearance } from '~/contexts';
import { useDevModeWarning } from '~/hooks/use-dev-mode-warning';
import { useDisplayConfig } from '~/hooks/use-display-config';
import { useLocalizations } from '~/hooks/use-localizations';
Expand All @@ -13,11 +13,16 @@ import { LinkButton } from '~/primitives/link';
export function SignInGetHelp() {
const { t } = useLocalizations();
const { applicationName, branded, logoImageUrl, homeUrl } = useDisplayConfig();
const { layout } = useAppearance();
const { layout } = useAppearance().parsedAppearance;
const isDev = useDevModeWarning();
const supportEmail = useSupportEmail();
const { setShowHelp } = useGetHelp();

const cardLogoProps = {
href: layout?.logoLinkUrl || homeUrl,
src: layout?.logoImageUrl || logoImageUrl,
alt: applicationName,
};
const cardFooterProps = {
branded,
helpPageUrl: layout?.helpPageUrl,
Expand All @@ -29,13 +34,7 @@ export function SignInGetHelp() {
<Card.Root banner={isDev ? LOCALIZATION_NEEDED.developmentMode : null}>
<Card.Content>
<Card.Header>
{logoImageUrl ? (
<Card.Logo
href={homeUrl}
src={logoImageUrl}
alt={applicationName}
/>
) : null}
<Card.Logo {...cardLogoProps} />
<Card.Title>{t('signIn.alternativeMethods.getHelp.title')}</Card.Title>
<Card.Description>{t('signIn.alternativeMethods.getHelp.content')}</Card.Description>
</Card.Header>
Expand Down
17 changes: 8 additions & 9 deletions packages/ui/src/components/sign-in/steps/reset-password.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import { CheckboxField } from '~/common/checkbox-field';
import { GlobalError } from '~/common/global-error';
import { PasswordField } from '~/common/password-field';
import { LOCALIZATION_NEEDED } from '~/constants/localizations';
import { useAppearance } from '~/hooks/use-appearance';
import { useAppearance } from '~/contexts';
import { useDevModeWarning } from '~/hooks/use-dev-mode-warning';
import { useDisplayConfig } from '~/hooks/use-display-config';
import { useLocalizations } from '~/hooks/use-localizations';
Expand All @@ -15,10 +15,15 @@ import { LinkButton } from '~/primitives/link';

export function SignInResetPassword() {
const { t } = useLocalizations();
const { layout } = useAppearance();
const { layout } = useAppearance().parsedAppearance;
const { applicationName, branded, logoImageUrl, homeUrl } = useDisplayConfig();

const isDev = useDevModeWarning();
const cardLogoProps = {
href: layout?.logoLinkUrl || homeUrl,
src: layout?.logoImageUrl || logoImageUrl,
alt: applicationName,
};
const cardFooterProps = {
branded,
helpPageUrl: layout?.helpPageUrl,
Expand All @@ -34,13 +39,7 @@ export function SignInResetPassword() {
<Card.Root banner={isDev ? LOCALIZATION_NEEDED.developmentMode : null}>
<Card.Content>
<Card.Header>
{logoImageUrl ? (
<Card.Logo
href={homeUrl}
src={logoImageUrl}
alt={applicationName}
/>
) : null}
<Card.Logo {...cardLogoProps} />
<Card.Title>{t('signIn.resetPassword.title')}</Card.Title>
</Card.Header>

Expand Down
13 changes: 6 additions & 7 deletions packages/ui/src/components/sign-in/steps/start.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,11 @@ export function SignInStart() {
const hasConnection = enabledConnections.length > 0;
const hasIdentifier = emailAddressEnabled || usernameEnabled || phoneNumberEnabled;
const isDev = useDevModeWarning();
const cardLogoProps = {
href: layout?.logoLinkUrl || homeUrl,
src: layout?.logoImageUrl || logoImageUrl,
alt: applicationName,
};
const cardFooterProps = {
branded,
helpPageUrl: layout?.helpPageUrl,
Expand All @@ -51,13 +56,7 @@ export function SignInStart() {
<Card.Root banner={isDev ? LOCALIZATION_NEEDED.developmentMode : null}>
<Card.Content>
<Card.Header>
{logoImageUrl ? (
<Card.Logo
href={homeUrl}
src={logoImageUrl}
alt={applicationName}
/>
) : null}
<Card.Logo {...cardLogoProps} />
<Card.Title>{t('signIn.start.title', { applicationName })}</Card.Title>
<Card.Description>{t('signIn.start.subtitle', { applicationName })}</Card.Description>
</Card.Header>
Expand Down
65 changes: 14 additions & 51 deletions packages/ui/src/components/sign-in/steps/verifications.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import { GlobalError } from '~/common/global-error';
import { OTPField } from '~/common/otp-field';
import { PasswordField } from '~/common/password-field';
import { LOCALIZATION_NEEDED } from '~/constants/localizations';
import { useAppearance } from '~/hooks/use-appearance';
import { useAppearance } from '~/contexts';
import { useDevModeWarning } from '~/hooks/use-dev-mode-warning';
import { useDisplayConfig } from '~/hooks/use-display-config';
import { useLocalizations } from '~/hooks/use-localizations';
Expand All @@ -19,11 +19,16 @@ import { formatSafeIdentifier } from '~/utils/format-safe-identifier';

export function SignInVerifications() {
const { t } = useLocalizations();
const { layout } = useAppearance();
const { layout } = useAppearance().parsedAppearance;
const { applicationName, branded, logoImageUrl, homeUrl } = useDisplayConfig();

const isDev = useDevModeWarning();
const isPasswordResetSupported = useResetPasswordFactor();
const cardLogoProps = {
href: layout?.logoLinkUrl || homeUrl,
src: layout?.logoImageUrl || logoImageUrl,
alt: applicationName,
};
const cardFooterProps = {
branded,
helpPageUrl: layout?.helpPageUrl,
Expand All @@ -40,13 +45,7 @@ export function SignInVerifications() {
<Card.Content>
<SignIn.Strategy name='password'>
<Card.Header>
{logoImageUrl ? (
<Card.Logo
href={homeUrl}
src={logoImageUrl}
alt={applicationName}
/>
) : null}
<Card.Logo {...cardLogoProps} />
<Card.Title>{t('signIn.password.title')}</Card.Title>
<Card.Description>{t('signIn.password.subtitle')}</Card.Description>
<Card.Description>
Expand Down Expand Up @@ -123,13 +122,7 @@ export function SignInVerifications() {

<SignIn.Strategy name='passkey'>
<Card.Header>
{logoImageUrl ? (
<Card.Logo
href={homeUrl}
src={logoImageUrl}
alt={applicationName}
/>
) : null}
<Card.Logo {...cardLogoProps} />
<Card.Title>{t('signIn.passkey.title')}</Card.Title>
<Card.Description>{t('signIn.passkey.subtitle')}</Card.Description>
<Card.Description>
Expand Down Expand Up @@ -183,13 +176,7 @@ export function SignInVerifications() {

<SignIn.Strategy name='backup_code'>
<Card.Header>
{logoImageUrl ? (
<Card.Logo
href={homeUrl}
src={logoImageUrl}
alt={applicationName}
/>
) : null}
<Card.Logo {...cardLogoProps} />
<Card.Title>{t('signIn.backupCodeMfa.title')}</Card.Title>
<Card.Description>{t('signIn.backupCodeMfa.subtitle')}</Card.Description>
</Card.Header>
Expand Down Expand Up @@ -235,13 +222,7 @@ export function SignInVerifications() {

<SignIn.Strategy name='email_code'>
<Card.Header>
{logoImageUrl ? (
<Card.Logo
href={homeUrl}
src={logoImageUrl}
alt={applicationName}
/>
) : null}
<Card.Logo {...cardLogoProps} />
<Card.Title>{t('signIn.emailCode.title')}</Card.Title>
<Card.Description>{t('signIn.emailCode.subtitle', { applicationName })}</Card.Description>
<Card.Description>
Expand Down Expand Up @@ -320,13 +301,7 @@ export function SignInVerifications() {

<SignIn.Strategy name='phone_code'>
<Card.Header>
{logoImageUrl ? (
<Card.Logo
href={homeUrl}
src={logoImageUrl}
alt={applicationName}
/>
) : null}
<Card.Logo {...cardLogoProps} />
<Card.Title>{t('signIn.phoneCode.title')}</Card.Title>
<Card.Description>{t('signIn.phoneCode.subtitle', { applicationName })}</Card.Description>
<Card.Description>
Expand Down Expand Up @@ -406,13 +381,7 @@ export function SignInVerifications() {

<SignIn.Strategy name='email_link'>
<Card.Header>
{logoImageUrl ? (
<Card.Logo
href={homeUrl}
src={logoImageUrl}
alt={applicationName}
/>
) : null}
<Card.Logo {...cardLogoProps} />
<Card.Title>{t('signIn.emailLink.title')}</Card.Title>
<Card.Description>{t('signIn.emailLink.formSubtitle', { applicationName })}</Card.Description>
<Card.Description>
Expand Down Expand Up @@ -523,13 +492,7 @@ export function SignInVerifications() {

<SignIn.Strategy name='totp'>
<Card.Header>
{logoImageUrl ? (
<Card.Logo
href={homeUrl}
src={logoImageUrl}
alt={applicationName}
/>
) : null}
<Card.Logo {...cardLogoProps} />
<Card.Title>{t('signIn.totpMfa.formTitle')}</Card.Title>
<Card.Description>{t('signIn.totpMfa.subtitle', { applicationName })}</Card.Description>
</Card.Header>
Expand Down
Loading