Skip to content

Commit b482ef6

Browse files
committed
Add name logic to getProviderLogo
1 parent ac94539 commit b482ef6

File tree

4 files changed

+46
-4
lines changed

4 files changed

+46
-4
lines changed

lib/ts/recipe/thirdparty/components/themes/signInAndUp/providersForm.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ export const ThirdPartySignInAndUpProvidersForm: React.FC<SignInAndUpThemeProps>
6969
return (
7070
<div key={`provider-${provider.id}`} data-supertokens="providerContainer">
7171
<span onClick={() => signInClick(provider.id)}>
72-
{provider.getButton(undefined, getProviderLogo(provider.id))}
72+
{provider.getButton(undefined, getProviderLogo(provider.id, provider.name))}
7373
</span>
7474
</div>
7575
);

lib/ts/recipe/thirdparty/constants.ts

Lines changed: 40 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,23 @@
11
import ActiveDirectoryLogo from "../../components/assets/logos/activeDirectory";
22
import AppleLogo from "../../components/assets/logos/apple";
3+
import Auth0Logo from "../../components/assets/logos/auth0";
34
import BitbucketLogo from "../../components/assets/logos/bitbucket";
45
import DiscordLogo from "../../components/assets/logos/discord";
56
import FacebookLogo from "../../components/assets/logos/facebook";
67
import GithubLogo from "../../components/assets/logos/github";
78
import GitlabLogo from "../../components/assets/logos/gitlab";
89
import GoogleLogo from "../../components/assets/logos/google";
910
import GoogleWorkspacesLogo from "../../components/assets/logos/googleWorkspaces";
11+
import JumpCloudLogo from "../../components/assets/logos/jumpCloud";
1012
import LinkedInLogo from "../../components/assets/logos/linkedin";
13+
import MicrosoftADFSLogo from "../../components/assets/logos/microsoftADFS";
14+
import MicrosoftEntraIdLogo from "../../components/assets/logos/microsoftEntraId";
1115
import OktaLogo from "../../components/assets/logos/okta";
16+
import OneLoginLogo from "../../components/assets/logos/oneLogin";
17+
import OpenIdLogo from "../../components/assets/logos/openId";
18+
import PingOneLogo from "../../components/assets/logos/pingOne";
19+
import RipplingLogo from "../../components/assets/logos/rippling";
20+
import GenericSamlLogo from "../../components/assets/logos/saml";
1221

1322
export const providerLogoMap = {
1423
"active-directory": ActiveDirectoryLogo,
@@ -24,6 +33,36 @@ export const providerLogoMap = {
2433
"google-workspaces": GoogleWorkspacesLogo,
2534
} as const;
2635

27-
export const getProviderLogo = (providerId: string): JSX.Element | undefined => {
36+
function getBoxySamlLogo(name?: string) {
37+
switch (name) {
38+
case "microsoft entra id":
39+
return MicrosoftEntraIdLogo;
40+
case "microsoft ad fs":
41+
return MicrosoftADFSLogo;
42+
case "okta":
43+
return OktaLogo;
44+
case "auth0":
45+
return Auth0Logo;
46+
case "google":
47+
return GoogleLogo;
48+
case "oneLogin":
49+
return OneLoginLogo;
50+
case "pingone":
51+
return PingOneLogo;
52+
case "jumpcloud":
53+
return JumpCloudLogo;
54+
case "rippling":
55+
return RipplingLogo;
56+
case "openId":
57+
return OpenIdLogo;
58+
default:
59+
return GenericSamlLogo;
60+
}
61+
}
62+
63+
export const getProviderLogo = (providerId: string, providerName?: string): JSX.Element | undefined => {
64+
if (providerId === "boxy-saml") {
65+
return getBoxySamlLogo(providerName);
66+
}
2867
return providerId in providerLogoMap ? providerLogoMap[providerId as keyof typeof providerLogoMap] : undefined;
2968
};

lib/ts/recipe/thirdparty/types.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,7 @@ export type OnHandleEventContext =
103103
};
104104

105105
export type SignInAndUpThemeProps = PartialAuthComponentProps & {
106-
providers: Pick<Provider, "id" | "getButton">[];
106+
providers: Pick<Provider, "id" | "getButton" | "name">[];
107107
recipeImplementation: WebJSRecipeInterface<typeof ThirdPartyWebJS>;
108108
config: NormalisedConfig;
109109
};

lib/ts/recipe/thirdparty/utils.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -223,7 +223,10 @@ export const mergeProviders = ({
223223
...provider.config,
224224
id: tenantProvider.id,
225225
name: tenantProvider.name,
226-
buttonComponent: provider.getButton(tenantProvider.name, getProviderLogo(tenantProvider.id)),
226+
buttonComponent: provider.getButton(
227+
tenantProvider.name,
228+
getProviderLogo(tenantProvider.id, tenantProvider.name)
229+
),
227230
})
228231
);
229232
} else {

0 commit comments

Comments
 (0)