({ children }: { children: React.ReactNode })
| 38 | ]; |
| 39 | |
| 40 | export function LoginPageLayout({ children }: { children: React.ReactNode }) { |
| 41 | const [randomQuote, setRandomQuote] = useState<QuoteType | null>(null); |
| 42 | useEffect(() => { |
| 43 | const randomIndex = Math.floor(Math.random() * quotes.length); |
| 44 | setRandomQuote(quotes[randomIndex]); |
| 45 | }, []); |
| 46 | |
| 47 | return ( |
| 48 | <main className="grid h-full grid-cols-1 md:grid-cols-2"> |
| 49 | <div className="border-r border-grid-bright bg-background-bright"> |
| 50 | <div className="flex h-full flex-col items-center justify-between p-6"> |
| 51 | <div className="flex w-full items-center justify-between"> |
| 52 | <a href="https://trigger.dev"> |
| 53 | <LogoType className="w-36" /> |
| 54 | </a> |
| 55 | <LinkButton to="https://trigger.dev/docs" variant={"tertiary/small"} LeadingIcon="docs"> |
| 56 | Documentation |
| 57 | </LinkButton> |
| 58 | </div> |
| 59 | <div className="flex h-full max-w-sm items-center justify-center">{children}</div> |
| 60 | <Paragraph variant="small" className="text-center"> |
| 61 | Having login issues? <TextLink href="https://@trigger.dev/contact">Email us</TextLink>{" "} |
| 62 | or <TextLink href="https://trigger.dev/discord">ask us in Discord</TextLink> |
| 63 | </Paragraph> |
| 64 | </div> |
| 65 | </div> |
| 66 | <div className="hidden grid-rows-[1fr_auto] pb-6 md:grid"> |
| 67 | <div className="flex h-full flex-col items-center justify-center px-16"> |
| 68 | <Header3 className="relative text-center text-2xl font-normal leading-8 text-text-dimmed transition before:relative before:right-1 before:top-0 before:text-6xl before:text-charcoal-750 before:content-['❝'] lg-height:text-xl md-height:text-lg"> |
| 69 | {randomQuote?.quote} |
| 70 | </Header3> |
| 71 | <Paragraph className="mt-4 text-text-dimmed/60">{randomQuote?.person}</Paragraph> |
| 72 | </div> |
| 73 | <div className="flex flex-col items-center gap-4 px-8"> |
| 74 | <Paragraph>Trusted by developers at</Paragraph> |
| 75 | <div className="flex w-full flex-wrap items-center justify-center gap-x-6 gap-y-3 text-charcoal-500 xl:justify-between xl:gap-0"> |
| 76 | <VerizonLogo /> |
| 77 | <ShopifyLogo /> |
| 78 | <OktaLogo /> |
| 79 | <ATAndTLogo /> |
| 80 | <AppsmithLogo /> |
| 81 | <CalComLogo /> |
| 82 | </div> |
| 83 | </div> |
| 84 | </div> |
| 85 | </main> |
| 86 | ); |
| 87 | } |
nothing calls this directly
no test coverage detected
searching dependent graphs…