diff options
| author | MohamedBassem <me@mbassem.com> | 2024-03-13 21:43:44 +0000 |
|---|---|---|
| committer | Mohamed Bassem <me@mbassem.com> | 2024-03-14 16:40:45 +0000 |
| commit | 04572a8e5081b1e4871e273cde9dbaaa44c52fe0 (patch) | |
| tree | 8e993acb732a50d1306d4d6953df96c165c57f57 /apps/web/components/signin/SignInForm.tsx | |
| parent | 2df08ed08c065e8b91bc8df0266bd4bcbb062be4 (diff) | |
| download | karakeep-04572a8e5081b1e4871e273cde9dbaaa44c52fe0.tar.zst | |
structure: Create apps dir and copy tooling dir from t3-turbo repo
Diffstat (limited to 'apps/web/components/signin/SignInForm.tsx')
| -rw-r--r-- | apps/web/components/signin/SignInForm.tsx | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/apps/web/components/signin/SignInForm.tsx b/apps/web/components/signin/SignInForm.tsx new file mode 100644 index 00000000..7c8f8936 --- /dev/null +++ b/apps/web/components/signin/SignInForm.tsx @@ -0,0 +1,37 @@ +import { getProviders } from "next-auth/react"; +import SignInProviderButton from "./SignInProviderButton"; +import CredentialsForm from "./CredentialsForm"; + +export default async function SignInForm() { + const providers = await getProviders(); + let providerValues; + if (providers) { + providerValues = Object.values(providers).filter( + // Credentials are handled manually by the sign in form + (p) => p.id != "credentials", + ); + } + + return ( + <div className="flex flex-col items-center space-y-2"> + <CredentialsForm /> + + {providerValues && providerValues.length > 0 && ( + <> + <div className="flex w-full items-center"> + <div className="flex-1 grow border-t-2 border-gray-200"></div> + <span className="bg-white px-3 text-gray-500">Or</span> + <div className="flex-1 grow border-t-2 border-gray-200"></div> + </div> + <div className="space-y-2"> + {providerValues.map((provider) => ( + <div key={provider.id}> + <SignInProviderButton provider={provider} /> + </div> + ))} + </div> + </> + )} + </div> + ); +} |
