11import { GithubSignIn } from "@/components/github-sign-in" ;
22import { GoogleSignIn } from "@/components/google-sign-in" ;
33import { MagicLinkSignIn } from "@/components/magic-link" ;
4+ import { env } from "@/env.mjs" ;
45import { getI18n } from "@/locales/server" ;
56import { Accordion , AccordionContent , AccordionItem , AccordionTrigger } from "@comp/ui/accordion" ;
67import { Icons } from "@comp/ui/icons" ;
@@ -21,18 +22,35 @@ export default async function Page({
2122
2223 const { inviteCode } = await searchParams ;
2324
24- const preferredSignInOption = (
25- < div className = "flex flex-col space-y-2" >
26- < GoogleSignIn inviteCode = { inviteCode } />
27- </ div >
28- ) ;
25+ let preferredSignInOption : React . ReactNode ;
2926
30- const moreSignInOptions = (
31- < div className = "flex flex-col space-y-2" >
32- < MagicLinkSignIn inviteCode = { inviteCode } />
33- < GithubSignIn inviteCode = { inviteCode } />
34- </ div >
35- ) ;
27+ if ( env . AUTH_GOOGLE_ID && env . AUTH_GOOGLE_SECRET ) {
28+ preferredSignInOption = (
29+ < div className = "flex flex-col space-y-2" >
30+ < GoogleSignIn inviteCode = { inviteCode } />
31+ </ div >
32+ ) ;
33+ } else {
34+ preferredSignInOption = (
35+ < div className = "flex flex-col space-y-2" >
36+ < MagicLinkSignIn inviteCode = { inviteCode } />
37+ </ div >
38+ ) ;
39+ }
40+
41+
42+ let moreSignInOptions : React . ReactNode ;
43+
44+ if ( env . AUTH_GOOGLE_ID && env . AUTH_GOOGLE_SECRET && env . AUTH_GITHUB_ID && env . AUTH_GITHUB_SECRET ) {
45+ moreSignInOptions = (
46+ < div className = "flex flex-col space-y-2" >
47+ < MagicLinkSignIn inviteCode = { inviteCode } />
48+ < GithubSignIn inviteCode = { inviteCode } />
49+ </ div >
50+ ) ;
51+ } else {
52+ moreSignInOptions = null ;
53+ }
3654
3755 return (
3856 < div >
@@ -64,16 +82,18 @@ export default async function Page({
6482 collapsible
6583 className = "border-t-[1px] pt-2 mt-6"
6684 >
67- < AccordionItem value = "item-1" className = "border-0" >
68- < AccordionTrigger className = "justify-center space-x-2 flex text-sm" >
69- < span > More options</ span >
70- </ AccordionTrigger >
71- < AccordionContent className = "mt-4" >
72- < div className = "flex flex-col space-y-4" >
73- { moreSignInOptions }
74- </ div >
75- </ AccordionContent >
76- </ AccordionItem >
85+ { moreSignInOptions && (
86+ < AccordionItem value = "item-1" className = "border-0" >
87+ < AccordionTrigger className = "justify-center space-x-2 flex text-sm" >
88+ < span > More options</ span >
89+ </ AccordionTrigger >
90+ < AccordionContent className = "mt-4" >
91+ < div className = "flex flex-col space-y-4" >
92+ { moreSignInOptions }
93+ </ div >
94+ </ AccordionContent >
95+ </ AccordionItem >
96+ ) }
7797 </ Accordion >
7898 </ div >
7999
0 commit comments