({ returnTo }: { returnTo?: string | undefined })
| 4 | import { safeReturnTo } from "../../auth/return-to"; |
| 5 | |
| 6 | export const LoginPage = ({ returnTo }: { returnTo?: string | undefined }) => { |
| 7 | const destination = safeReturnTo(returnTo); |
| 8 | const loginHref = destination |
| 9 | ? `${AUTH_PATHS.login}?returnTo=${encodeURIComponent(destination)}` |
| 10 | : AUTH_PATHS.login; |
| 11 | return ( |
| 12 | <div className="flex min-h-screen items-center justify-center bg-background"> |
| 13 | <div className="mx-auto flex w-full max-w-sm flex-col items-center gap-6"> |
| 14 | <div className="flex flex-col items-center gap-2"> |
| 15 | <h1 className="font-mono text-4xl">Executor</h1> |
| 16 | <p className="text-sm text-muted-foreground">Sign in to manage your tools and sources</p> |
| 17 | </div> |
| 18 | <a |
| 19 | href={loginHref} |
| 20 | onClick={() => trackEvent("login_cta_clicked")} |
| 21 | className="inline-flex h-10 w-full items-center justify-center rounded-md bg-primary px-4 text-sm font-medium text-primary-foreground shadow hover:bg-primary/90 transition-colors" |
| 22 | > |
| 23 | Sign in |
| 24 | </a> |
| 25 | <div className="flex items-center gap-4 text-xs text-muted-foreground"> |
| 26 | <a href="/privacy" className="transition-colors hover:text-foreground"> |
| 27 | Privacy |
| 28 | </a> |
| 29 | <a href="/terms" className="transition-colors hover:text-foreground"> |
| 30 | Terms |
| 31 | </a> |
| 32 | </div> |
| 33 | </div> |
| 34 | </div> |
| 35 | ); |
| 36 | }; |
nothing calls this directly
no test coverage detected