Skip to content

Commit 3904a5b

Browse files
committed
fix: use clerk frontend components
1 parent 1a27220 commit 3904a5b

4 files changed

Lines changed: 43 additions & 44 deletions

File tree

src/app/components/status-indicator.tsx

Lines changed: 8 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import {
66
Check,
77
ExclamationTriangleFill,
88
} from "react-bootstrap-icons"
9-
import { useAuth } from "@clerk/clerk-react"
9+
import { useAuth, SignInButton } from "@clerk/clerk-react"
1010

1111
import { Button } from "#shared/ui/button"
1212
import {
@@ -23,7 +23,6 @@ import { usePWA } from "#app/lib/pwa"
2323
import { useOnlineStatus } from "#app/hooks/use-online-status"
2424
import { useIsMobile } from "#app/hooks/use-mobile"
2525
import { T, useIntl } from "#shared/intl/setup"
26-
import { getSignInUrl } from "#app/lib/auth-utils"
2726
import { Alert, AlertTitle } from "#shared/ui/alert"
2827

2928
export { StatusIndicator }
@@ -177,10 +176,6 @@ function NotSignedInIndicator() {
177176
let t = useIntl()
178177
let isMobile = useIsMobile()
179178

180-
function handleSignIn() {
181-
window.location.href = getSignInUrl(window.location.pathname)
182-
}
183-
184179
return (
185180
<Dialog>
186181
<DialogTrigger asChild>
@@ -219,11 +214,13 @@ function NotSignedInIndicator() {
219214
<TypographyP className="leading-none">
220215
<T k="status.notSignedIn.benefits" />
221216
</TypographyP>
222-
<DialogClose asChild>
223-
<Button onClick={handleSignIn} className="h-12 w-full">
224-
<T k="status.notSignedIn.signIn" />
225-
</Button>
226-
</DialogClose>
217+
<SignInButton mode="redirect">
218+
<DialogClose asChild>
219+
<Button className="h-12 w-full">
220+
<T k="status.notSignedIn.signIn" />
221+
</Button>
222+
</DialogClose>
223+
</SignInButton>
227224
</div>
228225
</DialogContent>
229226
</Dialog>

src/app/routes/_app.invite.tsx

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import { createFileRoute, Link } from "@tanstack/react-router"
2+
import { SignInButton, SignUpButton } from "@clerk/clerk-react"
23
import { useIsAuthenticated, useAccount } from "jazz-tools/react"
34
import { Group, type ID } from "jazz-tools"
45
import { T, useIntl } from "#shared/intl/setup"
@@ -16,7 +17,6 @@ import {
1617
EmptyTitle,
1718
} from "#shared/ui/empty"
1819
import { Spinner } from "#shared/ui/spinner"
19-
import { getSignInUrl, getSignUpUrl } from "#app/lib/auth-utils"
2020

2121
export const Route = createFileRoute("/_app/invite")({
2222
loader: () => {
@@ -243,16 +243,16 @@ function SignInPromptState() {
243243
</EmptyDescription>
244244
</EmptyHeader>
245245
<EmptyContent>
246-
<Button asChild className="w-full">
247-
<a href={getSignInUrl("/app/invite")}>
246+
<SignInButton mode="redirect" forceRedirectUrl="/app/invite">
247+
<Button className="w-full">
248248
<T k="auth.signIn.button" />
249-
</a>
250-
</Button>
251-
<Button variant="outline" asChild className="w-full">
252-
<a href={getSignUpUrl("/app/invite")}>
249+
</Button>
250+
</SignInButton>
251+
<SignUpButton mode="redirect" forceRedirectUrl="/app/invite">
252+
<Button variant="outline" className="w-full">
253253
<T k="auth.signUp.button" />
254-
</a>
255-
</Button>
254+
</Button>
255+
</SignUpButton>
256256
</EmptyContent>
257257
</Empty>
258258
</div>

src/app/routes/_app.settings.tsx

Lines changed: 15 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,11 @@
11
import { createFileRoute, notFound, Link } from "@tanstack/react-router"
2-
import { SignOutButton, useAuth, useUser } from "@clerk/clerk-react"
3-
import { getSignInUrl, getSignUpUrl } from "#app/lib/auth-utils"
2+
import {
3+
SignInButton,
4+
SignUpButton,
5+
SignOutButton,
6+
useAuth,
7+
useUser,
8+
} from "@clerk/clerk-react"
49
import { useAccount, useIsAuthenticated } from "jazz-tools/react"
510
import { Button } from "#shared/ui/button"
611
import { Input } from "#shared/ui/input"
@@ -239,16 +244,16 @@ function AccountSection() {
239244
{t("settings.account.status.signedOut")}
240245
</p>
241246
<div className="mt-3 space-x-2">
242-
<Button asChild disabled={!isOnline}>
243-
<a href={getSignInUrl("/app/settings")}>
247+
<SignInButton mode="redirect" forceRedirectUrl="/app/settings">
248+
<Button disabled={!isOnline}>
244249
<T k="auth.signIn.button" />
245-
</a>
246-
</Button>
247-
<Button asChild variant="outline" disabled={!isOnline}>
248-
<a href={getSignUpUrl("/app/settings")}>
250+
</Button>
251+
</SignInButton>
252+
<SignUpButton mode="redirect" forceRedirectUrl="/app/settings">
253+
<Button variant="outline" disabled={!isOnline}>
249254
<T k="auth.signUp.button" />
250-
</a>
251-
</Button>
255+
</Button>
256+
</SignUpButton>
252257
</div>
253258
</div>
254259
)}

src/app/routes/index.tsx

Lines changed: 11 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
import { createFileRoute, Link, redirect } from "@tanstack/react-router"
2+
import { SignInButton } from "@clerk/clerk-react"
23
import { motion } from "motion/react"
34
import { Button } from "#shared/ui/button"
45
import { TypographyH1, TypographyLead } from "#shared/ui/typography"
56
import { useAppStore } from "#app/lib/store"
6-
import { getSignInUrl } from "#app/lib/auth-utils"
77
import { T } from "#shared/intl/setup"
88
import {
99
SkipForwardFill,
@@ -25,11 +25,6 @@ export const Route = createFileRoute("/")({
2525
function WelcomeIndex() {
2626
let setTourSkipped = useAppStore(state => state.setTourSkipped)
2727

28-
function handleSignIn() {
29-
setTourSkipped(true)
30-
window.location.href = getSignInUrl()
31-
}
32-
3328
return (
3429
<div
3530
className="absolute inset-0"
@@ -90,14 +85,16 @@ function WelcomeIndex() {
9085
<T k="welcome.takeTour" />
9186
</Link>
9287
</Button>
93-
<Button
94-
variant="secondary"
95-
onClick={handleSignIn}
96-
className="h-12"
97-
>
98-
<PersonCircle />
99-
<T k="welcome.signIn" />
100-
</Button>
88+
<SignInButton mode="redirect" forceRedirectUrl="/app/people">
89+
<Button
90+
variant="secondary"
91+
onClick={() => setTourSkipped(true)}
92+
className="h-12"
93+
>
94+
<PersonCircle />
95+
<T k="welcome.signIn" />
96+
</Button>
97+
</SignInButton>
10198
</motion.div>
10299
</div>
103100
</div>

0 commit comments

Comments
 (0)